Zabbix 各种监控 zabbix-agent2 都扩展了很多,直接使用 Systemd by Zabbix agent 2 监控即可,参考下方过滤器设置即可。但是既然已经动手做完了,就继续用好了,键值中 awk 可去掉一些,更加减少 Zabbix 数据量。主要是之前不知道Linux有 zabbix-agent2 也是醉了
1、准备工作
安装了 Zabbix https://www.sevenfal.com/2022/02/10/1853.html
被监控主机安装了 zabbix-agent 或 zabbix-agent2 ,若是 zabbix-agent2 可直接使用 Systemd by Zabbix agent 2 模板即可。
被监控主机 agent 配置文件中添加了 AllowKey=system.run[*] 并且已重启服务
2、设置自动发现规则
在你应用最广的模板中添加自动发现规则,如果没有,可以新建,或者在 Linux by Zabbix agent 中添加,首先在模板中添加:
宏: {$SERVICES}
值: crond.service|iptables.service|sshd.service|nginx.service|php-fpm.service|mysql.service
值 为你需要监控的服务名称,可以多添加,当主机存在该服务的时候,会自动添加监控及触发器,当某个主机存在某服务但是设置为停止状态且不需要启动时,在主机宏中添加宏去除该服务名称即可。
值映射:
保存更新 后,添加 自动发现规则,名称自定义,键值如下:
system.run["systemctl --type=service | sed 's#●##g' | awk '{print $1,\",\"$2,\",\"$3,\",\"$4}' | sed 's# ##g' | tac | tail -n +8 | tac"]
进程: CSV to JSON
自动发现宏:(只用到了 {#UNIT} 其他不要也可以)
过滤器:
添加监控原型,键值:
system.run[systemctl --type=service --state=active | grep -wc {#UNIT}]
保存更新 后,添加 触发器原型,问题表达式:
last(/Linux by Zabbix agent/system.run[systemctl --type=service --state=active | grep -wc {#UNIT}])=0
保存更新。
3、 关联到需要检测的主机。
© 著作权归作者所有
文章评论(0)