十三.ZABBIX低级自动发现LLD
1.什么是LLD
自动发现,自动注册都是自动化添加主机关联模板
低级自动海岸: 是用来自动化添加监控项
2.为什么要用LLD
场景1:监控所有主机的端口,而不同的主机启动的端口都不一样
场景2:监控所有分区 但是不同的主机分区的方式不一样
场景3: 监控所有主机的网络,不同主机的配置都不一样
3.LLD原理
写脚本获取网卡名称 --> 写配置文件定义discovery key --> web创建自动发现规则 --> 创建监控项原型 --> 监控项原型获取discovery key 自动创建监控项
实践:
场景获取主机运行的所有端口,如果关闭发送预警
3.1.获取所有正在运行的tcp端口号 并以json的数据格式输出
cat /etc/zabbix/zabbix_agent2.d/scripts/check_port.sh
#!/bin/bash
name=($(netstat -ntlp|egrep -v 'Proto|Active'|awk '{print $4}'|awk -F: '{print $NF}'))
printf '{'
printf '"data":['
for key in ${!name[@]}
do
if [[ "${#name[@]}" -gt 1 && "${key}" -ne "$((${#name[@]}-1))" ]];then
printf '{'
printf "\"{#TCP_PORT}\":\"${name[${key}]}\"},"
else [[ "${key}" -eq "((${#name[@]}-1))" ]]
printf '{'
printf "\"{#TCP_PORT}\":\"${name[${key}]}\"}"
fi
done
printf ']'
printf '}\n'
3.2 discovery key定义一个键值
cat /etc/zabbix/zabbix_agent2.d/lld_port.conf
UserParameter=TCP.PORT,sudo /etc/zabbix/zabbix_agent2.d/scripts/check_port.sh
3.3 配置web自动发现
3.4 web配置监控项原型
3.5 配置web自动发现触发器
3.6 查看效果