zabbix 自动发现主机,端口,自定义脚本key值
admin
2023-03-03 06:01:55
0

自动发现主机规则

首先创建自动发现主机:


zabbix 自动发现主机,端口,自定义脚本key值


配置自动发现规则:

zabbix 自动发现主机,端口,自定义脚本key值

完成后在动作中的自动发现创建发现动作即可:

zabbix 自动发现主机,端口,自定义脚本key值



自定义脚本

zabbix自定义监控key值 自动发现 自动执行远程脚本
例如:
监控一个进程是否存在:
mkdir /etc/zabbix/alertscripts/
vim check_badvp.sh
#!/bin/bash
result=`ps -ef | grep badvp-udpgw | grep -v grep`
if [ -n "$result" ]
then
echo '1'
else
echo '0'
fi
通过脚本判断这个进程是否存在 存在返回1 不存在返回0,我们把这个脚本自定义到上述目录

在zabbix_agent.conf中配置脚本路径 和key值
UnsafeUserParameters=1
UserParameter=check_badvp,/bin/bash /etc/zabbix/alertscripts/check_badvp.sh
修改超时时间
Timeout = 8
设置超时时间,避免脚本执行不成功

设置启动服务的脚本 /opt/autorestart.sh
最后修改sudoers文件 在下边一行新加 zabiix用户的启动权限 visudo
root ALL=(ALL) ALL
zabbix ALL=(root) NOPASSWD:/opt/autorestart.sh
最后重启agent

界面设置
创建监控项:

zabbix 自动发现主机,端口,自定义脚本key值

创建触发器:

zabbix 自动发现主机,端口,自定义脚本key值

最后条件动作通知:

zabbix 自动发现主机,端口,自定义脚本key值

最后实现告警:

zabbix 自动发现主机,端口,自定义脚本key值


zabbix端口自动发现
经历了很多次试验,由于公司服务器上的业务端口又多又没有规律,因此使用网上的端口自动发现规则(netstat)的方法会发现大量的无用端口,而且在告警时候只显示端口也不友好,最终找到了解决办法。
python脚本和pyadmin脚本
利用zabbix的自定义key来调用公司服务器现有的进程管理工具pyadmin

python脚本:
#!/usr/bin/python
import os,json
#command = "sudo /usr/skymobi/admin/PYsanpadmin |awk -F'_' {'print $2'} | awk '{print $1}' | sort|uniq"
command = "sudo /usr/skymobi/admin/PYsanpadmin"
lines = os.popen(command).readlines()
resultLi = []
for line in lines:
lineLi = line.split()
newLineLi = lineLi[0].split("_")
resDic = {"{#SERVICES}":newLineLi[0],"{#TCP_PORT}":newLineLi[1]}
resultLi.append(resDic)
data = {"data":resultLi}
jsonStr = json.dumps(data, sort_keys=True, indent=4)
jsonStr=jsonStr.replace(r"\u001b[1;32;40m","").replace(r"\u001b[1;31;40m","").replace(r"\u001b[1;33;40m","")
print jsonStr
脚本中的replace 是过滤我一下PY输出结果的颜色的 绿色 红色 否者在打印出json格式就会有颜色的代码

PYadmin输出结果

zabbix 自动发现主机,端口,自定义脚本key值

其原理就是利用python脚本分离出pyadmin管理工具输出的结果,把进程名和端口过滤出来,传到zabbix自动发现规则中
vim zabbix-agentd.conf
UserParameter=nettcpservice,/usr/bin/python /etc/zabbix/alertscripts/discover_tcpport.py "$1" "$2"
重启agent即可


配置自动发现规则

zabbix 自动发现主机,端口,自定义脚本key值

健值对应我们配置文件中的健值,这里类型选择主动式,为了减少服务端探测导致客户端服务器连接数过多。

zabbix 自动发现主机,端口,自定义脚本key值

zabbix 自动发现主机,端口,自定义脚本key值

最后绑定到我们的服务器即可~

zabbix agent Value should be a JSON object 故障排除
首先考虑脚本执行权限
chmod 755 发现脚本
其次visudo,最后一行追加
zabbix ALL=(ALL) NOPASSWD: ALL


相关内容

热门资讯

农业农村“半年报”发布,这些看... 7月24日召开的国新办发布会上,农业农村部介绍2026年上半年农业农村经济运行情况。夏粮喜获丰收、常...
世界遗产+1!景德镇打卡地图,... 北京时间7月25日,在韩国釜山举行的第48届世界遗产大会上,由我国申报的“景德镇手工瓷业遗存”项目经...
有人呼吁白宫“封杀”中国开源大... 未来一段时间,将有多款中国开源模型发布。Kimi K3定于7月27日正式开源,阿里即将开源2.4万亿...
20名“高考状元”选择学医!此... 2026年香港高考的24名“状元”中,有20人明确表示将留港攻读医科。多年来,香港最顶尖的“学霸们”...
“抢人大战”,风向有变? 各地一场“抢老人”的大战,已然徐徐拉开大幕。最近,有着人口净流出压力的吉林,计划拿出3亿元发展旅居康...
石家庄一家不限量的爱心素食面馆... 7月24日正午时分,记者来到位于石家庄市新华区东明家居西二环店北门旁的“素面”小店,不大的店面里坐满...
中材科技申请风电叶片外补强辅助... 国家知识产权局信息显示,中材科技(伊吾)风电叶片有限公司申请一项名为“风电叶片外补强辅助固化装置”的...
为人工智能治理提供重要公共产品 图为2026世界人工智能大会暨人工智能全球治理高级别会议举办期间,在世博展览馆灵心巧手展位,参观者观...
泽连斯基称俄对乌多地发动大规模... 当地时间25日,乌克兰总统泽连斯基通报称,俄军于当日凌晨对乌克兰多地发动大规模空袭,使用2枚导弹、近...