注册 登录
  • 进入"运维那点事"后,希望您第一件事就是阅读“关于”栏目,仔细阅读“关于Ctrl+c问题”,不希望误会!

Zabbix远程执行命令

Zabbix 彭东稳 13973次浏览 已收录 2个评论

概述

监控,有的人只把他当做报警使用,出现问题之后打开跑回家打开电脑处理掉,大多数时候都是一些已知问题,为何不让zabbix帮你把这些事情处理掉呢?

Zabbix远程执行命令可以做些什么:

1)重启应用(apache/nginx/mysql)。

2)自定义执行脚本。

3)使用IPMI接口重启服务器。

4)自动释放磁盘空间(删除老文件,清除/tmp目录等等)。

5)CPU过载时将一个虚拟机迁移到另外一个物理服务器。

6)云环境下,一台服务器CPU\硬盘\内存\其他硬件资源不足的情况下,可以自动添加过去。

Zabbix远程执行命令注意事项:

1)远程执行命令是server端向agent端执行,不支持主动模式的agent;

2)不支持代理模式;

3)zabbix用户必须对命令具有执行权限,可以使用sudo赋予root权限(配置sudo无密码方式);

4)远程命令只是执行,执行成功与否并不检测并确认,可在” Monitoring–>Events”中查看action执行时,或在”Reports–>Action log”中查看远程命令是否执行成功(成功为” Executed”)。

配置zabbix远程执行命令

创建一个报警,记得使用邮件报警吗?实际上,我们把发送邮件的操作改成执行远程命令就行了。

Zabbix agent不支持远程命令,远程命令最大长度为255字符,同时支持多个远程命令,如需要执行多条命令,只需要另起一行写命令即可,但最好自定在agent端定义一个脚本,直接让zabbix执行脚本即可。还有,远程命令可以使用宏变量。

1)配置zabbix-agent端

首先我们需要在zabbix agent端开启对远程命令的支持,修改配置文件zabbix_agentd.conf中的参数,然后重启客户端:

另外,在执行命令时确保你的zabbix用户有执行权限,如果某些命令需要root权限,那么请使用sudo。编辑sudoer文件,zabbix用户便可以执行nginx -s reload命令了。

2)配置zabbix-server端

ConfigurationàActionsà Operation,其中operation type改成Remote Command,然后写上要在zabbix-agent执行的命令即可。如下图:

Zabbix远程执行命令

 

Type:IPMI、custom script、ssh、telnet、global script。

如果你要执行自定义的脚本,如下操作:

Zabbix远程执行命令

直接执行脚本即可。


如果您觉得本站对你有帮助,那么可以支付宝扫码捐助以帮助本站更好地发展,在此谢过。
喜欢 (2)or分享 (0)
关于作者:

您必须 登录 才能发表评论!

(2)个小伙伴在吐槽