千家信息网

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

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,自动发现主机规则首先创建自动发现主机:配置自动发现规则:完成后在动作中的自动发现创建发现动作即可:自定义脚本zabbix自定义监控key值 自动发现 自动执行远程脚本例如:监控一个进程是否存在:mkd
千家信息网最后更新 2026年11月03日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端口自动发现
经历了很多次试验,由于公司服务器上的业务端口又多又没有规律,因此使用网上的端口自动发现规则(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输出结果

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


配置自动发现规则

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

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

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


脚本 端口 服务 规则 服务器 进程 配置 动作 结果 监控 输出 主机 一行 公司 工具 文件 时间 权限 管理工具 颜色 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技公司排名 世界互联网领先科技成果 汇久创客互联网科技 互联网科技ppt模板 掌上梦互联网科技 互联网科技类展会 佩信高科技互联网 汉立互联网科技有限公司联系电话 小米互联网科技园设置 受益于互联网科技的高速发展 互联网金融中的现代科技 河南猎农互联网科技有限公司 洛阳共同富裕互联网科技有限公司 元气玛特互联网科技公司是外包吗 黑科技 体验场景 互联网大会 互联网科技包装股 吉林省码上互联网科技电话 互联网界的黑科技 陕西九四连强互联网科技有限公司 山东蛋芒互联网科技有限公司 美国互联网科技巨头监管 互联网金融 科技 互联网金融 金融科技 南京欣网互联网科技 火传媒上海互联网科技 郑州华宇互联网科技 央行互联网金融科技公司 华夏恒生互联网科技013171 互联网科技创新创业项目 武汉亿视互联网科技有限公司
0