zabbix故障自愈设计

zababix故障自愈设计

概述

在监控系统中,故障自愈是一个老生常谈的话题,他可以对于常见的运维故障,及时响应解决,减少人工干预,实现运维故障快速恢复。

这里采用zabbix的脚本功能,配合触发器,可以实现故障发生时,手动点击运行故障恢复脚本,达到故障自愈的效果。

故障恢复原理

在监控系统中,故障事件是由于某些指标数据不符合正常的期望数据,由此便引发了一个故障事件,提醒用户及时关注和处理。

针对于某些故障场景,恢复就比较简单,像服务停止,进程停止等,直接通过简单的命令行就可以恢复,针对一些复杂的故障,可能需要比较复杂的脚本运行逻辑,以及外部数据参与才能完成恢复,简单来说就是在故障发生后,通过运行一系列的预定义的脚本或者代码,来实现故障的及时恢复。

在zabbix系统中,提供了丰富的脚本解决方案,可以基于Webhook、脚本、SSH、Telnet、IPMI方式进行故障自愈,脚本的作用域可以为自动执行、基于主机手动执行以及基于事件手动执行。

请添加图片描述

在本文中,以在事件上进行手动执行,来验证服务停止情况下,故障自愈的场景。

配置

脚本配置

在脚本中,按如下所示,配置一个启动服务的脚本处理,由于当前版本的zabbix不支持传入参数(期待后续版本的zabbix能支持脚本参数传递,这在通过api调用的过程中还是十分有用的),所以只能将服务名通过事件的标签宏传入

请添加图片描述

触发器配置

在一个模板中,配置一个httpd服务的触发器,条件为当该服务处于不活跃状态下,则触发该故障

请添加图片描述

这里需要额外的设置事件的标签值,servicename为httpd.service,因为在脚本中,需要知道触发器中的标签名为servicename,以方便脚本知道需要启动哪个服务。其他的额外两个参数为我们产品内部项目使用的,可以不管

请添加图片描述

验证

设置完成之后,我们将目标服务器的httpd服务进行停止,使之产生一条告警数据

请添加图片描述

点击故障自愈->启动服务

请添加图片描述

执行完成后,脚本将以运行zabbix代理的用户,去执行 sudo systemctl start httpd.service,成功后等会便可以看到该故障就已经处于已解决状态

请添加图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值