RELATEED CONSULTING
相关咨询
欢迎选择下列在线客服咨询
微信客服
微信客服二维码
热线电话:13863516421
7x24小时,全年无休
我们服务器的承诺:
关闭右侧工具栏

境外国外服务器专题

如何配置Zabbix的动作,以便在执行脚本后发送通知?

  • 来源:本站
  • 编辑: 超级管理员
  • 时间:2025-07-12 10:31:08
  • 阅读1次

在 Zabbix 中配置动作时,可以通过多步骤操作实现 “执行脚本修复问题” 后自动发送通知。以下是详细配置方法:

一、基础配置:创建动作并关联触发器

路径:配置 → 动作 → 事件源(触发器) → 创建动作

基本信息:

名称:自动修复并通知

条件:选择触发该动作的触发器(如 “磁盘空间不足”)

二、配置步骤 1:执行修复脚本

添加操作:

操作类型:运行远程命令(通过 Zabbix Agent 执行)或运行脚本(通过 Zabbix Server 执行)

目标:选择触发告警的主机({HOST.CONN})

命令:

bash

# 示例:执行清理脚本

/usr/lib/zabbix/externalscripts/clean_temp.sh


执行权限:根据脚本需求选择 “以 Zabbix 用户身份执行” 或 “以 root 身份执行”(需谨慎)

三、配置步骤 2:发送执行结果通知

添加新的操作步骤(点击 “+” 按钮):

步骤号:2(确保按顺序执行)

步骤持续时间:1 分钟(等待脚本执行完成)

操作类型:发送消息

接收人:选择管理员用户或用户组

消息模板:

主题:{TRIGGER.STATUS}: {TRIGGER.NAME} - 自动修复已执行

消息内容:

plaintext

主机:{HOST.NAME}

问题:{TRIGGER.NAME}

状态:{TRIGGER.STATUS}

修复脚本:clean_temp.sh

执行时间:{EVENT.DATE} {EVENT.TIME}

执行结果:请检查脚本日志 /var/log/zabbix/clean_temp.log


四、配置步骤 3:验证修复效果(可选)

添加第三个操作步骤(步骤号 3):

步骤持续时间:5 分钟(等待系统恢复)

操作类型:发送消息

条件:

添加 “触发器状态” 条件,选择 “问题未解决”(若脚本执行后问题仍存在)

消息模板:

主题:{TRIGGER.STATUS}: {TRIGGER.NAME} - 自动修复失败

消息内容:

plaintext

主机:{HOST.NAME}

问题:{TRIGGER.NAME}

状态:{TRIGGER.STATUS}

修复脚本:clean_temp.sh

结果:自动修复尝试失败,请手动处理!


五、配置恢复操作(问题解决后通知)

切换到 “恢复操作” 选项卡:

添加操作:

操作类型:发送消息

接收人:同上

消息模板:

plaintext

主题:{TRIGGER.STATUS}: {TRIGGER.NAME} - 问题已解决

内容:

主机:{HOST.NAME}

问题:{TRIGGER.NAME}

状态:{TRIGGER.STATUS}

修复方式:自动修复(脚本执行成功)


六、验证配置效果

临时触发告警:

修改触发器阈值(如将磁盘空间阈值改为 90%),触发告警。

检查执行顺序:

在 Zabbix 界面查看动作日志(监测 → 动作日志),确认:

步骤 1:脚本执行成功。

步骤 2:发送 “修复已执行” 通知。

若问题未解决:步骤 3 发送 “修复失败” 通知。

若问题解决:触发恢复操作,发送 “问题已解决” 通知。

恢复配置:

测试完成后,将触发器阈值改回正常值。

七、最佳实践

脚本日志记录:

在脚本中添加详细日志(如echo "清理完成" >> /var/log/zabbix/clean_temp.log),便于追溯。

失败处理:

脚本返回错误码(如exit 1),并在动作中配置条件判断(如{SCRIPT.RETCODE}=1时触发升级通知)。

分级通知:

简单问题(如清理临时文件)自动修复并通知值班人员。

复杂问题(如数据库崩溃)仅通知,不自动执行高危操作。

监控脚本执行:

添加监控项检查脚本日志(如log[/var/log/zabbix/clean_temp.log,ERROR]),确保脚本执行成功。


通过以上配置,Zabbix 可实现 “检测问题→自动修复→通知结果” 的完整闭环,大幅提升运维效率。


我们提供7X24小时售后服务,了解更多机房产品和服务,敬请联系
购买咨询 售后服务