Script 事件处理器(商业版)
概述
Script 事件处理器是一个强大的告警事件处理组件,允许您通过自定义脚本对告警事件进行灵活的处理和转换。该处理器会将告警事件以 JSON 格式传递给您的脚本,脚本处理后可以返回修改后的事件数据。
配置参数
超时时间(必填)
- 参数名称: 超时时间
- 单位: 毫秒 (ms)
- 默认值: 10000 (10秒)
- 说明: 脚本执行的最大时间限制。如果脚本执行时间超过此值,将被强制终止并返回原始事件。
脚本内容(必填)
- 参数名称: 脚本内容
- 格式: Shell 脚本
- 说明: 您要执行的自定义脚本代码,用于处理告警事件。
工作原理
- 事件输入: 处理器将当前告警事件转换为 JSON 格式,通过标准输入 (stdin) 传递给脚本
- 脚本处理: 您的脚本从 stdin 读取事件 JSON,进行自定义处理
- 结果输出: 脚本将处理后的事件 JSON 输出到标准输出 (stdout)
- 事件更新: 处理器解析脚本输出,更新原始事件
常见处理场景
- 修改告警级别
- 添加自定义标签
- 修改告警描述
注意事项
1. 脚本要求
- 脚本必须能够从 stdin 读取 JSON 数据
- 脚本必须向 stdout 输出有效的 JSON 格式
2. 错误处理
- 如果脚本执行失败或超时,将返回原始未处理的事件
- 如果脚本输出为空或无效 JSON,将返回原始事件
3. 性能考虑
- 合理设置超时时间,避免脚本执行时间过长影响告警处理性能
- 避免在脚本中执行过于复杂的操作
4. 安全建议
- 谨慎处理脚本中的外部输入
- 避免在脚本中执行不安全的系统命令
- 定期审查脚本内容
测试建议
- 使用测试功能: 在保存配置前,使用页面上的"测试"按钮验证脚本功能
- 本地测试: 可以在本地环境中模拟事件 JSON 进行脚本测试
- 逐步调试: 从简单的脚本开始,逐步增加复杂的处理逻辑
示例脚本
示例1:基础事件透传
#!/bin/bash
# 读取输入事件
event_json=$(cat)
echo "$event_json"