本站所有文章均为原创,如对您有帮助,恳请帮忙点击任何一处广告
  • 首页
  • Zabbix
  • 【Zabbix监控教程】低级别发现配置教程

【Zabbix监控教程】低级别发现配置教程

发布:TangLu2019-5-21 14:52分类: Zabbix 标签: zabbix

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

 1、进入需要添加低级别自动发现的模板,点击Discovery rules-->Create discovery rule创建一条低级别发现规则

lld1.png


2、在创建规则页面填写名称和key等信息,比如key名为discovery_mysql。filter选项卡如果不需要进行过滤的话不用配置

lld2.png


3、为低级别发现创建Item prototypes,这个才是真正在创建一个key。key需要自定义,所以跳过这步往后看先。

lld3.png


4、创建一个脚本用于获取每个实例的端口信息,返回的数据必须是JSON格式,比如下面的脚本运行后返回值就是MySQL多实例的各个端口信息,如

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"}
	 ]
}


5、创建两个自定义key,一个就是上面的脚本用于获取多实例端口,另一个是获取数据库状态。后面需要结合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 "\<$2\>"|cut  -f2

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

lld.png


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端口


温馨提示如有转载或引用以上内容之必要,敬请将本文链接作为出处标注,谢谢合作!
et_highlighter51
版权所有:《Linux运维技术学习站点
文章标题:《【Zabbix监控教程】低级别发现配置教程
除非注明,文章均为 《Linux运维技术学习站点》 原创
转载请注明本文短网址:http://www.linuxe.cn/post-480.html  [生成短网址]

已有 0/270 人参与

发表评论:

欢迎分享Linux运维技术学习站点

欢迎使用手机扫描访问本站,还可以关注微信哦~