二、zabbix基础4-故障自愈

5. 故障自愈

5.1 什么是故障自愈

当zabbix服务监控到指定的监控项异常时,可以通过指定的操作使故障自动恢复;
比如:当运行的Nginx服务没有响应了,我们可以通过远程命令方式让其自动重启,达到恢复的效果。

5.2 故障自愈的应用场景

  • 使用IPMI“reboot”命令,重启那些不响应请求的主机
  • 自动释放空间不足的磁盘(删除旧文件,清理/tmp等)
  • 根据CPU的负载情况,将虚拟机从一个物理机迁移到另外一个物理机上
  • 在CPU、磁盘、内存等资源不足的情况下,向云环境添加新的节点

5.3 配置故障自愈远程执行

配置远程命令的操作类似于发送消息,区别在于一个执行命令,一个发送消息
远程命令可以之间在zabbixserver,zabbixProxy ,zabbixAgent上执行
但是在zabbix agent和zabbix proxy上,远程命令默认是不开启的,它们可以通过以下方式启用:

  • 在agent配置中添加allowKey=system.run[*]、UnsafeUserParameters=1;
  • 在proxy配置,将enableremotecomcommands参数设置为1;

5.4 故障自愈示例

5.4.1 故障自愈示例1

在一定条件下重启Windows。
为了在zabbix检测遇到问题时自动重启Windows,定义了以下操作

参数描述
Operation type‘Remote command’
Type‘Custom script’
Commandc:\windows\system32\shutdown.exe -r -f

5.4.2 故障自愈示例2

通过IPMI控制重启主机

参数描述
Operation type‘Remote command’
Type‘IPMI’
Commandreset

5.4.3 故障自愈示例3

通过IPMI控制关闭主机电源

参数描述
Operation type‘Remote command’
Type‘IPMI’
Commandpower off

5.4.4 故障自愈示例4

当磁盘不足的时候,自动清空/tmp目录获取更多空间

参数描述
Operation type‘Remote command’
Type‘Custom script’
Command/usr/bin/rm -f /tmp/*

5.5 故障自愈实现场景

监控客户端TCP80端口,当端口不存活,则通过远程执行命令尝试重新启动

5.5.1 开启被控端远程执行命令

1.在被控服务器上开启远程执行命令

[root@localhost ~]# vim /etc/zabbix/zabbix_agent2.conf 
UnsafeUserParameters=1
AllowKey=system.run[*]
[root@localhost ~]# /etc/init.d/zabbix-agent2 restart
Shutting down Zabbix agent 2:                              [确定]
Starting Zabbix agent 2: 

2.为zabbix用户配置sudo权限,否知会出现权限不足的情况

[root@localhost ~]# echo "zabbix ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers

5.5.2 为触发器添加对应动作

在这里插入图片描述
在这里插入图片描述

5.5.3 验证故障自愈功能

1.关闭nginx服务
在这里插入图片描述
2.出发动作后,自动重启nginx服务
在这里插入图片描述
3.nginx服务恢复
在这里插入图片描述

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值