暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

对接第三方http接口获取指标案例

IT那活儿 2024-03-18
193
点击上方“IT那活儿”公众号--专注于企业全栈运维技术分享,不管IT什么活儿,干就完了!!!  

背景

平台需要监控需要接如第三方系统的性能指标,需要我们自己通过http请求去获取,接口需要用户认证。

方案步骤大纲:

  • 解决登陆认证问题;
  • 新增定制化监控模板指标类型Zabbix trapper;
  • 平台录入需要对接的资源存储第三方资源的唯一字段数据;
  • 定时任务查询出录入的资源过去唯一字段数据;
  • 通过唯一字段调用第三方接口获取性能指标;
  • 通过ZabbixSender把性能指标数据推送到平台;
  • 页面查看展示的数据。


方案实施细节

2.1 解决登陆认证问题

curl事例:
curl 'http://xxx.0.0.1:8080/test' --digest -u admin:admin123
java:

2.2 新增定制化监控模板指标类型Zabbix trapper

普通监控项:
自发现监控项:
  • 配置规则:
  • 配置原型指标项:

2.3 平台录入需要对接的资源存储第三方资源的唯一字段数据

资源池录入时增加字段录入。

2.4 定时任务查询出录入的资源过去唯一字段数据

这个具体可以直接连接测试库查询 也可以调用amp的接口获取。

2.5 通过唯一字段调用第三方接口获取性能指标

按照第三方接口文档调用就可以了。

2.6 通过ZabbixSender把性能指标数据推送到平台

命令:
zabbix_sender -z <server_address> -p <port_number> -s <hostname> -k <key> -o <value>
java:导入依赖。
<dependency>
     <groupId>com.shsnc</groupId>
     <artifactId>zabbix-utils</artifactId>
     <version>0.0.1-SNAPSHOT</version>
</dependency>

推送:

Socket socket = ZabbixSender.getSocket(zabbixIp,zabbixPort);
String s = ZabbixSender.sendSingleValue(socket, hostName, key, value);

  • socket 连接 hostName采集名称。

普通监控项:
key:键值(testA1)  value:值。
自发现监控项:
  • 配置规则
    key:键值(Atm_Monitor_linux_os.sh[get_discovery_net]);
    value:原型里面需要的参数值{"data":[{"IFNAME":"一号网卡"}]};
  • 配置原型指标项
    key:键值(atm_link_state[一号网卡])  value:值。

2.7 页面查看展示的数据

监控中心-实时监控查看最新数据。

总 结:

对接第三方接口http接口登陆认证的方式可能是不一样的这里仅供参考,采集名称 键值 需要与界面配置的保持一直是成功的关键。

END


本文作者:事业二部(上海新炬中北团队)

本文来源:“IT那活儿”公众号

文章转载自IT那活儿,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论