zabbix 监控项自动发现过滤_【Zabbix监控教程】LLD低级别自动发现配置教程

本文介绍了如何使用Zabbix的低级别自动发现(LLD)功能来监控多实例MySQL。通过创建脚本获取MySQL实例的端口,定义自定义键,创建发现规则和监控原型,实现自动化监控每个实例的状态。Zabbix_get命令验证了监控的正确性。
摘要由CSDN通过智能技术生成

低级别自动发现简称LLD,使用低级别自动发现可以实现根据Agent的实际情况去自动创建监控项,适用于配置不一的环境。比如A主机有3块硬盘,B主机有5块硬盘,如果不使用LLD的话就需要人肉去为每个硬盘创建监控项。而有了LLD就可以实现自动创建每个硬盘的监控。

本文以监控多实例MySQL为例进行Zabbix低级别自动发现配置:

1、创建获取每个MySQL实例端口的脚本。该脚本返回的数据必须是JSON格式,而且返回值需要设置为低级别发现宏的格式,如{#MYSQLPORT}:

vi /usr/local/shell/discovery_mysql.sh

#!/bin/bash

mysql() {

port=($(sudo netstat -tpln | awk -F "[ :]+" '/[m]ysql/' | awk -F: '{print $4}'))

printf '{\n'

printf '\t"data":[\n'

for key in ${!port[@]}

do

if [[ "${#port[@]}" -gt 1 && "${key}" -ne "$((${#port[@]}-1))" ]];then

socket=`ps aux|grep ${port[${key}]}|grep -v grep|awk -F '=' '{print $10}'|cut -d ' ' -f 1`

printf '\t {\n'

printf "\t\t\t\"{#MYSQLPORT}\":\"${port[${key}]}\"},\n"

else [[ "${key}" -eq "((${#port[@]}-1))" ]]

socket=`ps aux|grep ${port[${key}]}|grep -v grep|awk -F '=' '{print $10}'|cut -d ' ' -f 1`

printf '\t {\n'

printf "\t\t\t\"{#MYSQLPORT}\":\"${port[${key}]}\"}\n"

fi

done

printf '\t ]\n'

printf '}\n'

}

$1

#脚本运行结果

{

"data":[

{

"{#MYSQLPORT}":"3306"},

{

"{#MYSQLPORT}":"3307"},

{

"{#MYSQLPORT}":"3310"},

{

"{#MYSQLPORT}":"3311"}

]

}

2、创建两个自定义key,第一个key就是使用上面的脚本来获取MySQL多实例的端口信息,并传给低级别发现宏。另一个脚本是用来获取数据库状态。在后面设置中需要结合2个key来获取每个实例的数据。

UserParameter=discovery_mysql[*],/usr/local/shell/discovery_mysql.sh $1

UserParameter=mysql_status[*],mysql -uroot -p123456 -P $1 -e "show global status"|grep "\"|cut -f2

3、在模板中创建自动发现规则,点击Discovery rules-->Create discovery rule

4、在创建规则页面填写规则名称和key,key一栏要写的名字需要和第2步中UserParameter定义的一致,比如discovery_mysql,这样Zabbix运行这个脚本时就会把运行结果赋值给宏。filter选项卡如果不需要进行过滤的话不用配置。

5、为低级别发现规则创建Item prototypes(监控原形)。这里创建出来的key就会对每个发现出来的MySQL实例生效,比如创建了一个监控MySQL服务是否挂掉的key,这个key会生效于第4步中发现出来的所有端口。

6、最后使用2个key的组合来获取数据。这里的Com_begin就是上面第二个key的$2

7、使用zabbix_get命令查询是否能正常监控各个端口

zabbix_get -s 192.168.1.100 -k mysql.status[3306,Com_begin] #取3306端口

zabbix_get -s 192.168.1.100 -k mysql.status[3307,Com_begin] #取3307端口

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值