zabbix-低级自动发现LLD

一、低级自动发现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、基于发现规则准备监控项

编写脚本,自动义监控项 ,在监控项原型中创建该监控项。

此处示例直接使用自带的监控项

  • 创建监控项原型

  • 创建触发器原型

将该模板链接到要监控的主机,链接主机查看自动生成的监控项

posted @ 2024-08-15 22:46  原来是你~~~  阅读(256)  评论(0)    收藏  举报