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


相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...