您的位置:首页 > 其它

zabbix入门到精通之初识用户参数User parameters

2013-01-15 16:48 330 查看

zabbix入门到精通之初识用户参数User parameters

1.1概述
有时候当我们监控的项目在zabbix预定义的key中没有定义时,这时候我们可以通过编写zabbix的用户参数的方法来监控我们要求的项目item。形象一点说zabbix代理端配置文件中的User parameters就相当于通过脚本获取要监控的值,然后把相关的脚本或者命令写入到配置文件中的User parameter中然后zabbix server读取配置文件中的返回值通过处理前端的方式返回给用户。
用户参数的语法
UserParameter=<key>,<command>

其中UserParameter为关键字,key为用户自定义key名字可以随便起,<command>为我们要运行的命令或者脚本。
一个简单的例子:
UserParameter=ping,echo 1
代理程序程序将会永远的返回1当我们在服务器端添加item的key为 ping时候。
稍微复杂的例子
UserParameter=mysql.ping,mysqladmin -urootping|grep -c alive
当我们执行mysqladmin -uroot ping命令的时候如果mysq存活要返回
mysqld is alive,我们通过grep–c来计算mysqld is alive的个数,如果mysql存活着个数为1,如果不存活很明显mysqld is alive的个数为0,通过这种方法我们可以来判断mysql的存活状态。
对于zabbix代理程序程如果mysql存活状态序将当返回1,如果mysql不存活状态将返回0,当我们在服务器端添加item的key为mysql.ping时候。

1.2 让key接受参数
通过让key也接受参数的方法使item添加时更具备了灵活性,例如系统预定义key :vm.memory.size[<mode>],其中的mode模式就是用户要接受的参数,当我们填写为free时则返回的为内存的剩余大小,如果我们填入的为userd时这返回的是内存已经使用的大小。
相关语法

[align=center]UserParameter=key[*],command[/align]
[align=center]Parameter[/align]
[align=center]描述[/align]
[align=center]Key[/align]
[align=center]Key的值在主机系统中必须是唯一的,其中*代表命令中接受的参数[/align]
[align=center]命令[/align]
[align=center] [/align]
例1:
UserParameter=ping[*],echo $1
ping[0] - will always return '0'
ping[aaa] - will always return 'aaa'

1.3举例:通过用户参数测试网站的连通性。
1.3.1 环境介绍

[align=center]计算机名[/align]
[align=center]Ip[/align]
[align=center]角色[/align]
[align=center]Zabbixserver.solutionware.com.cn[/align]
[align=center]192.168.200.148[/align]
[align=center]服务器端[/align]
[align=center]vm1-solutionware.com.cn[/align]
[align=center]192.168.200.151[/align]
[align=center]监控端[/align]
1.3.2 为代理端添加用户参数
在代理端vm1-solutionware.com.cn的zabbix_agentd.conf配置文件中添加
UserParameter=http_request[*],/usr/bin/curl -o /dev/null -s -w %{http_code} $1

添加完成后重启代理端服务。
Service zabbix_agentd restart
1.3.3 为监控端添加相应的item。
选择被监控主机然后添加item,如下图所示:




添加完成后双击save保存即可。本文出自 “虚心求教” 博客,请务必保留此出处http://nanwangting.blog.51cto.com/608135/1118815
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: