api代理(Zabbix利用HTTP代理监控API)

 2025-08-12 01:57:01  阅读 487  评论 0

摘要:马嘉炜 | Zabbix开源社区签约专家SRE运维工程师,六年Zabbix监控系统使用经验。在Zabbix架构设计及性能优化领域有丰富的经验,擅长监控模板制作及Zabbix API的二次开发。官方使用手册《Zabbix标准模板指南》译者简介从Zabbix 4.0版本开始,官方提供了一种新的HTTP代理(HTTP

马嘉炜 | Zabbix开源社区签约专家

SRE运维工程师,六年Zabbix监控系统使用经验。在Zabbix架构设计及性能优化领域有丰富的经验,擅长监控模板制作及Zabbix API的二次开发。官方使用手册《Zabbix标准模板指南》译者

简介

从Zabbix 4.0版本开始,官方提供了一种新的HTTP代理(HTTP agent)的健康方式,通过HTTP协议采集数据,它由Zabbix server或者Zabbix proxy发起,并且不需要安装Zabbix agent。官方文档说明:https://www.zabbix.com/documentation/current/en/manual/config/items/itemtypes/http本文将介绍HTTP代理的使用方法及技巧。

环境需求

Zabbix 版本 >= 4.0

案例:通过Spring Boot Actuator Web API监控应用状态

actuator是spring boot提供的对应用系统的自省和监控的集成功能,可以对应用系统进行配置查看、相关功能统计等。官方文档说明:https://docs.spring.io/spring-boot/docs/current/actuator-api/htmlsingle/

actuator提供了一个health endpoint用于获取有关应用程序的运行状况的详细信息。官方文档地址:https://docs.spring.io/spring-boot/docs/current/actuator-api/htmlsingle/#health

URL地址为 http://:/actuator/health返回结果(JSON数据格式):

{
  "status": "UP",
  "components": {
    "custom": {
      "status": "UP",
      "details": {
        "app": "Alive and Kicking",
        "error": "Nothing! I'm good."
      }
    },
    "diskSpace": {
      "status": "UP",
      "details": {
        "total": 52776349696,
        "free": 43368595456,
        "threshold": 10485760
      }
    },
    "ping": {
      "status": "UP"
    }
  }
}

配置监控项

推荐使用Zabbix的master监控项 + 依赖监控项(相关项目)来实现一次调用采集多个数据,减少对API的调用次数。

步骤 1: 创建master监控项

创建监控项并修改以下配置:

名称:Get Spring boot actuator health类型:HTTP代理键值:spring.boot.actuator.healthURL:http://masix.cn:8080/actuator/health(支持使用macro宏变量)请求类型:GET要求的状态码:200信息类型:文本更新间隔:1m历史数据保留时长:Do not keep history应用集:Zabbix raw items

如果API接口需要认证,可以设置HTTP认证。用户名和密码支持使用macro宏变量。

Zabbix利用HTTP代理监控API

Zabbix利用HTTP代理监控API

配置完成后点下方的测试,点击Get value and test,检查是否能够正确获取数据。

Zabbix利用HTTP代理监控API

步骤 2: 创建依赖监控项(相关项目)

假设需要监控应用的状态以及磁盘的剩余空间这两个指标

指标 1: 监控应用状态

JSONPath语法说明参考官方文档:https://www.zabbix.com/documentation/current/en/manual/config/items/preprocessing/jsonpath_functionality

创建监控项并修改以下配置:

名称:Spring boot Application: Health Status类型:相关项目键值:spring.boot.actuator.health.status主要项:Get Spring boot actuator health信息类型:字符应用集:Spring boot Application

Zabbix利用HTTP代理监控API

在进程标签页添加步骤:

名称:JSONPath参数:$.statusCustom on fail: 勾选并选择Set value to,值填写Down(当API无法访问时会将监控项数据设置为Down,方便配置触发器表达式)

Zabbix利用HTTP代理监控API

点击下方的Test all steps进行配置验证,在值中填入master监控项测试获取的数据,点击测试检查是否能够正确获取数据。

Zabbix利用HTTP代理监控API

指标 2: 监控磁盘剩余空间

创建监控项并修改以下配置:

名称:Spring boot Application: Disk free space类型:相关项目键值:spring.boot.actuator.health.diskspace.free主要项:Get Spring boot actuator health信息类型:数字(无正负)单位:B应用集:Spring boot Application

Zabbix利用HTTP代理监控API

在进程标签页添加步骤:

名称:JSONPath参数:$.components.diskSpace.details.freeCustom on fail: 勾选并选择Discard value(当API无法访问时会将监控项数据丢弃)

Zabbix利用HTTP代理监控API

点击下方的Test all steps进行配置验证,在值中填入master监控项测试获取的数据,点击测试检查是否能够正确获取数据。

Zabbix利用HTTP代理监控API

检查最新数据能否正常采集

注意:依赖监控项(相关项目)的数据更新间隔是由master监控项设置的更新间隔决定的

Zabbix利用HTTP代理监控API

至此,监控项的配置就已经完成,接下来可以根据实际情况配置对应的触发器。在配置模板时,可以将master监控项中的URL配置为macro宏变量,例如: http://{$HOST}:{$PORT}/actuator/health,这样可以在链接模版时对不同的主机设置宏变量(用户名密码也可以这样配置)。

版权声明:我们致力于保护作者版权,注重分享,被刊用文章【api代理(Zabbix利用HTTP代理监控API)】因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!;

原文链接:https://www.yxiso.com/zhishi/2071651.html

标签:api代理

发表评论:

关于我们
院校搜的目标不仅是为用户提供数据和信息,更是成为每一位学子梦想实现的桥梁。我们相信,通过准确的信息与专业的指导,每一位学子都能找到属于自己的教育之路,迈向成功的未来。助力每一个梦想,实现更美好的未来!
联系方式
电话:
地址:广东省中山市
Email:beimuxi@protonmail.com

Copyright © 2022 院校搜 Inc. 保留所有权利。 Powered by BEIMUCMS 3.0.3

页面耗时0.0345秒, 内存占用1.93 MB, 访问数据库24次

陕ICP备14005772号-15