monicazhang 发表于 2017-9-3 10:04:53

MySQL监控:怎样在zabbix上自定义key


如何在zabbix中自定义key,并使用它。
Zabbix是一个开源的,免费的监控工具。它有很多自带的默认的监控选项。但是有时候,自带的监控选项是不够用的。这个时候,就需要自己自定义监控选项。我自己写了几个监控选项,分别用来监控mysql的状态,mysql主从复制的状态,mysql主从复制的时间差。1、 打开zabbix agent的配置文件,在文件的末尾添加以下语句,如下图:
[*]UnsafeUserParameters=1
[*]//这个值默认是为0,改为1表示启用自定义key
[*]UserParameter=mysql.ping,netstat -an|find /i /c "3308"
[*]//自定义key为mysql.ping,这个key的值从命令netstat -an|find /i /c "3308"获取
[*]UserParameter=mysql.slavetime,C:\Zabbix\userdfscrpts\slaveTime.bat
[*]//自定义key为mysql. slavetime,脚本C:\Zabbix\userdfscrpts\slaveTime.bat输出的值就传递到mysql. slavetime中去。
[*]UserParameter=mysql.slavestatus,C:\Zabbix\userdfscrpts\slaveStatus.bat
[*]//自定义key为mysql.slavestatus,脚本C:\Zabbix\userdfscrpts\slaveStatus.bat输出的值就传递到mysql. slavestatus中去。



2、 脚本中的内容如下:
[*](1) C:\Zabbix\userdfscrpts\ slaveStatus.bat
[*][ ome.php?mod=space&uid=761]@echo off
[*]cd /d D:\XXX\mysql-5.6.19-winx64\bin
[*]mysql -uroot -p"XXX" -e "SHOW SLAVE STATUS\G" > C:\Zabbix\middlefiles\status2.txt 2>C:\Zabbix\middlefiles\waring2.txt
[*]rem pause
[*]cd /d C:\Zabbix\middlefiles
[*]type status2.txt|findstr "\"|find /i /c "Yes" > status.txt
[*]for /f %%i in (status.txt) do set status=%%i
[*]echo %status%
[*]rem pause


[*](2) C:\Zabbix\userdfscrpts\slaveTime.bat
[*]@echo off
[*]rem set MYSQL_PWD=XXXX
[*]cd /d D:\XXXX\mysql-5.6.19-winx64\bin
[*]mysql -uroot -p"XXXX" -e "SHOW SLAVE STATUS\G" > C:\Zabbix\middlefiles\status1.txt 2>C:\Zabbix\middlefiles\waring.txt
[*]type C:\Zabbix\middlefiles\status1.txt|find "Seconds_Behind_Master" > C:\Zabbix\middlefiles\losttime.txt
[*]for /f "delims=: tokens=2" %%i in (C:\Zabbix\middlefiles\losttime.txt) do set time=%%i
[*]echo %time%
[*]rem pause


3、 在zabbix服务端所在的机器上,来对key值进行测试。
[*]$ zabbix_get -s 172.30.30.4 -p 10050 -k "mysql.slavestatus"


这里-s选项后面接着的是要测试的key值所在的主机IP地址,-p后面接着的是端口,-k后面跟着要测试的key值名。如果返回结果正常,就表示这个key已经配好了,可以使用了。4、 将前面自定义的key添加到zabbix agent所在host的item中去,步骤如下:(1)登录zabbix的监控页面,在configuration下选择hosts,然后可以根据Group或者Filter来筛选出刚才修改的zabbix agent所在的主机。(2)点击主机名,然后点击items选项,在出来的页面上选择Create item。(3)在出来的创建新的item页面上,填入必要的信息。信息填写完毕之后,点击Add添加。Name字段表示item的名字,自己定义。Key字段就是刚才我们在zabbix agent的配置文件中所创建的自定义key,这里我填mysql.ping.Type of information字段:表示key值返回的类型是什么,是字符还是无符号数字类型还是小数类型还是文本格式Data type字段:是对Type of information字段的补充Units字段:表示单位,例如key返回的结果是百分比,这里填入%Applications字段:表示将你新建的item归结为哪一类中。这个Application也是要自己建的,表示一个类。比如硬件、软件、CPU等等。(4)点击主机名,然后点击Triggers选项,在出来的页面上选择Create trigger。(5) 在出来的创建新的Trigger页面上,填入必要的信息。信息填写完毕之后,点击Add添加。Name字段:表示Trigger的名字,自己定义。Expression字段:是Trigger的主体,表示你希望在什么条件下触发Trigger。Description字段:是对Trigger的补充解释。比如Trigger的表达式中0表示成功,1表示失败等。Severity字段:表示Trigger的等级,从低到高。Expression字段边上点击Add,会弹出条件填写的界面,如下:Item字段:表示这个Trigger是根据哪一个item来创建的。选择select,会出现所有可以选择的item。我们可以选择刚才创建的Item。Function字段:这个下拉列表中有各种条件,根据自己的需要选择一种。N:这个N就是Function字段中条件表达式里面的那个N值。4、查看Trigger是否生效:回到Trigger页面下,可以看到主机上所有的Trigger。如果Trigger的状态为Enabled,就表示这个Trigger是正常的,可用的。否则就是有问题。原创:刘雪梅

页: [1]
查看完整版本: MySQL监控:怎样在zabbix上自定义key