×

扫描二维码登录本站

标签: 暂无标签

如何在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[/url] 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值进行测试。
  • [jobadmin@i611-zabbixnw-1 ~]$ 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是正常的,可用的。否则就是有问题。
原创:刘雪梅


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x




上一篇:在Centos下安装zabbix3.0提示NOKEY的解决方法
下一篇:Zabbix数据库的完全备份方案
monicazhang

写了 2297 篇文章,拥有财富 12859,被 21 人关注

您需要登录后才可以回帖 登录 | 立即注册
B Color Link Quote Code Smilies

成为第一个吐槽的人

Powered by ITIL  © 2001-2025
返回顶部