q4561231 发表于 2019-1-18 12:09:02

zabbix action的简单用法

  本文主要介绍action(动作)实现进程出现问题自动恢复的功能
  以下以apache进程为例
  192.168.10.74为zabbix客户端
  首先在客户端配置,要允许zabbix server的脚本在zabbix agent执行,必须在zabbix agent开启一个参数
# 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
zabbixALL=NOPASSWD:/etc/init.d/httpd restart  只给zabbix重启httpd服务器的权限,客户端这边就设置完成。下面我们来配置下zabbix server
  配置->动作->触发器 点击"创建动作"

  动作那页在名称那行命名即可,以下是“条件”
  http://s2.运维网.com/wyfs02/M00/82/BD/wKioL1dfxNLBYLsjAABatjl3h2U088.png
  A和B两个条件是默认的,C条件必须加上去。这样就能在触发器linux httpd出现“问题”的时候执行这个action.
  在“操作”页面如下配置
  http://s2.运维网.com/wyfs02/M01/82/BE/wKiom1dfxALQt0Q8AAB8rff7D8w654.png选择主机192,168.10.74,类型为自定义脚本,命令里面写上需要执行的脚本即可。这样action就设置完成,我们来测试下它是否可以正常触发。
  我们先关闭http服务
# /etc/init.d/httpd stop
Stopping httpd:                                          http://s4.运维网.com/wyfs02/M01/82/BE/wKiom1dfxYjTy2uLAAAlo-FrqWI245.png
  触发器linux httpd已经报错,仔细观察下后面那个绿色的1,鼠标放上去
http://s1.运维网.com/wyfs02/M00/82/BE/wKiom1dfxgqygroSAAAUDxO4EfU472.png
  我们来查看下服务器的httpd服务是否已经启动
# /etc/init.d/httpd status
httpd (pid7451) is running...http://s3.运维网.com/wyfs02/M02/82/BD/wKioL1dfx53DeMDIAAB-GuQUB0w182.png
  这样一个简单的action就实现了。
  作为运维,当你在假期吃着火锅唱着歌的时候突然收到一条服务器故障的短信时那是多么的扫兴。这时你就会发现action真是个好东西啊!



页: [1]
查看完整版本: zabbix action的简单用法