一、低级自动发现LLD
低级自动发现是用来自动化添加监控项,通过自动发现规则和监控项原型实现。
二、LLD监控主机端口实践
1、自动发现规则:编写脚本,获取所有的端口,然后将这个脚本制作为一个特殊的Key
脚本输出固定格式
{
"data":[
{"{#TCP_PORT}":"10050"},
{"{#TCP_PORT}":"22"},
{"{#TCP_PORT}":"80"}
]
}
按照输出固定格式编写自动发现脚本
# cat /etc/zabbix/zabbix_agentd.d/port.discovery.sh
#!/bin/bash
array_port=($(netstat -nltp | awk '{print $4}' | awk -F ":" '{print $NF}' | egrep "^[0-9]+" | sort | uniq | xargs))
length=${#array_port[@]}
printf "{\n"
printf "\t\"data\":[\n"
index=0
for i in ${array_port[@]}
do
index=$[ $index + 1 ]
if [ ${index} -eq ${length} ]
then
printf "\t\t{\"{#TCP_PORT}\":\"${i}\"}\n"
else
printf "\t\t{\"{#TCP_PORT}\":\"${i}\"},\n"
fi
done
printf "\t]\n"
printf "{\n"
将该脚本制作为监控项
# cat /etc/zabbix/zabbix_agentd.d/port.discovery.conf
UserParameter=port.discovery,sudo /bin/bash /etc/zabbix/zabbix_agentd.d/port.discovery.sh
在zabbix server验证该监控项
# zabbix_get -s 192.168.239.138 -k port.discovery
{
"data":[
{"{#TCP_PORT}":"10050"},
{"{#TCP_PORT}":"10050"}
]
{
在zabbix web创建自动发现规则
2、基于发现规则准备监控项
标签:TCP,低级,port,zabbix,printf,discovery,PORT,LLD From: https://www.cnblogs.com/zbc230/p/18361979