本文主要介绍action(动作)实现进程出现问题自动恢复的功能
以下以apache进程为例
192.168.10.74为zabbix客户端
首先在客户端配置,要允许zabbix server的脚本在zabbix agent执行,必须在zabbix agent开启一个参数
[[email protected] ~]# cat /usr/local/zabbix/etc/zabbix_agentd.conf | grep -B 7 EnableRemoteCommands=1 ### Option: EnableRemoteCommands #Whether remote commands from Zabbix server are allowed. #0 - not allowed #1 - allowed # # Mandatory: no # Default: EnableRemoteCommands=1
默认为0,设置为1后重新启动zabbix_agentd。
因为我们要测试httpd服务在挂掉之后能重新启动,所以必须要给zabbix用户能重启httpd服务器的权限。在暴露密码的情况下sudo是最好的选择。
visudo zabbix ALL=NOPASSWD:/etc/init.d/httpd restart
只给zabbix重启httpd服务器的权限,客户端这边就设置完成。下面我们来配置下zabbix server
配置->动作->触发器 点击"创建动作"
动作那页在名称那行命名即可,以下是“条件”
A和B两个条件是默认的,C条件必须加上去。这样就能在触发器linux httpd出现“问题”的时候执行这个action.
在“操作”页面如下配置
选择主机192,168.10.74,类型为自定义脚本,命令里面写上需要执行的脚本即可。这样action就设置完成,我们来测试下它是否可以正常触发。
我们先关闭http服务
[[email protected] ~]# /etc/init.d/httpd stop Stopping httpd: [ OK ]
触发器linux httpd已经报错,仔细观察下后面那个绿色的1,鼠标放上去
我们来查看下服务器的httpd服务是否已经启动
[[email protected] ~]# /etc/init.d/httpd status httpd (pid 7451) is running...
这样一个简单的action就实现了。
作为运维,当你在假期吃着火锅唱着歌的时候突然收到一条服务器故障的短信时那是多么的扫兴。这时你就会发现action真是个好东西啊!
时间: 2024-10-25 16:22:44