Zabbix-通过JsonPath实现监控-成功案例

需求背景

在当前的工作环境里,有着应用节点号的概念,每个部署单元的应用节点号是不同的。应同事需求,希望能通过zabbix对各部署单元中的应用节点号状态进行监控,应用组同事负责节点号状态的检查,我负责对其检查结果监控。经过沟通,应用组同事会将检查结果保存为Json,我通过Zabbix解析Json,从而实现监控。为此我觉得使用JsonPath的方式监控会更适合当前场景,在工作中实现了该监控功能后,特此记录、总结、分享。

同事的检查结果

[root@zabbix-ys scripts]# cat /tmp/ap_check.log 
{"task":"Green Light","host":"192.168.1.10","date":"20220522010000","result":{"130016":"1","130017":"1","130018":"0"}}

说明

/tmp/ap_check.log文件是应用的检查结果,会存放在每台被控主机上。文件“result”中的key(“130016”,“130017”…)为应用节点号,“1”为正常,“0”为异常需要告警。

实现方法

一,编写脚本

1.1 脚本功能

通过解析/tmp/ap_check.log文件,生成两种方法“lld.ap”和“get.state”。“lld.ap”方法输出所有节点号,用于应用节点号的自动发现。“get_state”方法输出所有节点号及对应的状态信息,用于应用节点号监控项。

1.2 脚本内容

[root@zabbix-ys ~]# vim /etc/zabbix/scripts/check_ap.py 
# -*- coding:utf-8 -*-
import json
import sys

with open("/tmp/ap_check.log","r") as f:
    ap_info = json.load(f)

def get_num(
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值