码迷,mamicode.com
首页 > 其他好文 > 详细

zabbix一些高级功能介绍

时间:2016-04-12 00:15:24      阅读:245      评论:0      收藏:0      [点我收藏+]

标签:

根据上篇配置的环境,接下来说明在zabbix agent上执行远程命令是如何完成的。

远程命令受到一些限制:

(1)在agent执行远程命令必须给zabbix用户定义sudu规则:

(2)不支持active模式的agent

(3)不支持代理模式

(4)命令长度不得超过255个字符

(5)可以使用宏

(6)zabbix-server仅执行命令,而不关心命令是否执行成功

修改一下agent的配置文件,vim /etc/zabbix/zabbix_agentd.conf  把EnableRemoteCommands和LogRemoteCommands这两个参数都设置为1,第一个参数表示支持远程命令执行,第二个表示该操作将被记录到日志中。

技术分享

 

回到zabbix web gui界面在client主机下定义一个新的item:

技术分享

此处我设置的数据类型为Boolean,非真(1)即假(0),item key 为监听tcp的80端口。

 

item定义好了

技术分享

 

再为该item定义一个trigger

技术分享

Expression表示最后一次取值是否为0,如果为0则触发该trigger。

 

trigger也定义好了

技术分享

 

为该trigger定义一个action:

技术分享

技术分享

 

技术分享

制定了在哪台agent上执行命令为client,注意执行的命令前要添加sudo。

 

action定义好了

技术分享

 

因为执行命令的用户为zabbix。此时该命令还无法执行,还得去sudoer文件去为zabbix用户添加执行权限,在agent端执行命令visudo

技术分享

添加一行,表示zabbix可以在任何主机(过来请求执行命令的主机)执行任何命令,而不需要密码。

 

技术分享

Defaults这个参数表示要求执行命令的用户必须通过tty终端登录了该主机,而执行远程命令的zabbix不会登陆系统,所以必须得注释掉该参数。

 

手动启动httpd服务发现服务虽然启动了但报了一个错:

技术分享

 

vim /etc/hosts

技术分享

把第一行的主机名修改为client(当前主机名)。停掉httpd服务。这时远程命令就会自动执行了,ss -tnl 查看80端口会被监听了。查看一下日志最后一行显示命令已经执行:

技术分享

 

接下来自定义个item key,vim /etc/zabbix/zabbix_agentd.conf

技术分享

这个目录存放自定义item key的文件, 自定义item key的语法为:UserParameter=key,command或UserParameter=key[*],command后面的那个表示是可以带参数,参数在command中的调用为$1,$2..

 

vim /etc/zabbix/zabbix_agentd.d/os.conf

技术分享

自定义的item key名字为os.memory.free  命令取得的值为空闲的内存数,还得重启agent服务 service zabbix-agent restart。

 

回到gui界面,重新定义一个item

技术分享

 

再为该item定义一个graph

技术分享

 

此图下面已经显示所取得平均值了。

还有些等下次更新。

 

zabbix一些高级功能介绍

标签:

原文地址:http://www.cnblogs.com/linuxboke/p/5380569.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!