Zabbix去执行远程命令
远程命令是一个很棒的功能,试想一下,你正在与甜美娇羞的小娘子兴奋的啪啪啪,突然短信来了,提示服务器里存储空间不够用,你还要翻身下床摸索出笔记本来把这些问题处理掉,处理完毕之后又要重新酝酿情绪,太扫兴了!其实这种一两个命令就能搞定的问题就应该交给Zabbix自己去解决。
我们这里就举一个“监控文件大小”的例子:假设我们把/mnt这个文件夹挂载到数据盘上,如果数据盘存储空间不够用,就要求zabbix远程自动删除一些过期的日志文件,只保留一天以内的日志文件。
于是乎,我们先写一个脚本,名字叫”mts删除过期日志.sh”,路径就在/share/yunwei/chenshuo里,整个内容如下:
#!/bin/bash cd /mnt/hswx/mts-bak rm -rf *.core cd /mnt/hswx/mts-bak/logs/ find . -name 'mts_*.log' -mtime +1 -exec rm -f {} \;
可以看出,在上面的脚本里我们先后进入了两个文件夹,然后对应删除.core文件和.log文件。
然后打开zabbix_agentd.conf,把里面的EnableRemoteCommands = 0改成1,并且重启zabbix_agent服务。
因为zabbix会调用一个叫zabbix的linux用户去执行操作,所以我们还要赋予zabbix用户一些权限可以让他自由的sudo,#sudoedit /etc/sudoers,增加如下内容:
这里注意一下,有的人斩钉截铁的说要在Defaults:zabbix !requiretty前面加上一个#,注释掉,我这里测试不用注释其实也可以。
然后返回zabbix,建立一个item,如图:
这里要注意一下,在Type的栏目里有Zabbix agent(active),切记不要选择这个!因为在active模式下,remote command是无效的。
现在我们再根据这个item去制定一个trigger,如图:
这里我先设定“已用空间大于35%就报警”,然后在Monitoring里发现有一台机器中标了,这台机器是js-online-mts-004。
然后来到Configuration—Action里,建立一个action,在Conditions里的设置如图:
在Operations里,我们的设置是这样的:
这里执行脚本和远程命令在Type里选择Custom script就好,如果是要关闭机器的话,就选择IPMI,在命令里写“Power off”,如果是要重启机器的话,还是IPMI,命令里写“Reset on”。当然还有比如SSH,Telnet等命令,这些就可以具体情况具体使用了。
update—save保存远程命令之后,我们应该可以看到,zabbix开始成功执行了这个命令,如图:
由原来的38%变成了21%,可见过期的日志文件真不少。
至此,整个远程执行命令过程就结束了。
2. 本站不保证所提供所有下载的资源的准确性、安全性和完整性,资源仅供下载学习之用!如有链接无法下载、失效或广告,请联系客服处理,有奖励!
3. 您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容资源!如用于商业或者非法用途,与本站无关,一切后果请用户自负!
4. 如果您也有好的资源或教程,您可以投稿发布,成功分享后有RB奖励和额外RMB收入!
磊宇堂正在使用的服务器 维护管理由磊宇云服务器提供支持
磊宇堂 » Zabbix去执行远程命令