本文主要是介绍二、zabbix基础4-故障自愈,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
文章目录
- 5. 故障自愈
- 5.1 什么是故障自愈
- 5.2 故障自愈的应用场景
- 5.3 配置故障自愈远程执行
- 5.4 故障自愈示例
- 5.4.1 故障自愈示例1
- 5.4.2 故障自愈示例2
- 5.4.3 故障自愈示例3
- 5.4.4 故障自愈示例4
- 5.5 故障自愈实现场景
- 5.5.1 开启被控端远程执行命令
- 5.5.2 为触发器添加对应动作
- 5.5.3 验证故障自愈功能
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’ |
Command | c:\windows\system32\shutdown.exe -r -f |
5.4.2 故障自愈示例2
通过IPMI控制重启主机
参数 | 描述 |
---|---|
Operation type | ‘Remote command’ |
Type | ‘IPMI’ |
Command | reset |
5.4.3 故障自愈示例3
通过IPMI控制关闭主机电源
参数 | 描述 |
---|---|
Operation type | ‘Remote command’ |
Type | ‘IPMI’ |
Command | power 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服务恢复
这篇关于二、zabbix基础4-故障自愈的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!