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、基于发现规则准备监控项
编写脚本,自动义监控项 ,在监控项原型中创建该监控项。
此处示例直接使用自带的监控项
- 创建监控项原型
- 创建触发器原型
将该模板链接到要监控的主机,链接主机查看自动生成的监控项
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 使用C#创建一个MCP客户端
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现
2023-08-15 kingbase-备份恢复