本文介绍如何在ARMS告警管理中接入Zabbix。
前提条件
本文档只支持Zabbix 5.x版本。
步骤一:创建Zabbix集成
- 登录ARMS控制台,在左侧导航栏选择 。
在告警集成页签,单击Zabbix。
在新建Zabbix集成配置向导页面输入Zabbix集成的名称、描述和告警事件自动恢复时间,然后单击保存。
说明 告警事件自动恢复时间:当告警事件在设置的时间内都没有再触发,告警事件将会自动恢复。在告警集成页签,通过搜索框查询已创建的Zabbix集成,并复制集成地址。
步骤二:配置Zabbix
登录到Zabbix所在的服务器,执行以下命令查找Zabbix脚本路径。
cat /etc/zabbix/zabbix_server.conf | grep alert
返回示例:
使用
cd
命令进入Zabbix脚本路径。执行以下命令下载ARMS告警管理安装包。
wget http://arms-public.oss-cn-shanghai.aliyuncs.com/alerts/aliyunalertmanager.tgz
执行以下命令解压ARMS告警管理安装包。
tar -xzvf aliyunalertmanager.tgz
进入安装包的bin目录。
cd aliyunalertmanager/bin
执行以下命令安装ARMS告警管理。
sh install.sh {集成地址}
将命令中的
{集成地址}
替换为步骤一中获取的集成地址。在安装过程中根据命令提示输入Zabbix管理地址、管理员账号和密码。
(可选)步骤三:编辑集成
ARMS告警管理预设了Zabbix告警源与ARMS告警管理之间字段的映射,您也可以根据需要在编辑集成页面新增或修改字段的映射关系。
示例告警源:
{
"startat":"2021.09.09 20:13:57",
"eventId":"16874-9756",
"eventType":"trigger",
"message":"/: Used space in Zabbix server value is 81 GB, triggered an alarm disk usage trigger",
"hostname":"Zabbix server",
"ip":"127.0.0.1",
"severity":"Warning",
"value":"81 GB",
"metric":"vfs.fs.size[/,used]",
"itemName":"/: Used space",
"alertname":"disk usage trigger",
"eventUrl":"http://127.0.0.1/zabbix/tr_events.php?triggerid=16874&eventid=9756"
}
- 在告警集成页签单击目标集成右侧操作列的编辑。
- 在事件映射区域左侧单击发送测试数据。
- 在发送测试数据对话框,输入第三方告警源的JSON格式的告警内容,然后单击发送。说明
- 如果显示上传成功,但未生成事件,请根据原始数据配置事件映射规则!,表示告警源与ARMS告警事件的字段没有映射,实际发送数据会被保存在左侧记录框中,以便配置映射时可以直接选取对应告警源字段。
- 如果显示上传成功!,则表明对应的告警内容已上报至告警事件历史页面。更多信息,请参见查看告警事件历史。
- 在发送测试数据对话框单击关闭。
- 在事件映射区域左侧单击并展开需要建立映射的告警数据。
在事件映射区域右侧配置告警源字段与ARMS告警的映射。
- 可选:在选择根节点区域选择是否使用批处理。当告警数据存在数组节点时,可以指定目标数组节点作为根节点,将对应根节点下的数据进行批处理。
选择使用批处理后,选择需要批处理的数组节点作为根节点。
说明 当告警数据存在多个数组节点时,ARMS告警管理仅支持选择其中一个数组节点进行批处理。 - 在将源字段映射到目标字段区域将告警源字段映射到ARMS告警字段上。单击映射图标,可以修改字段映射方式。
- 直接:告警源指定字段直接映射为ARMS中对应的告警字段。
- 串联:将多个告警源字段通过指定分隔符串联为一个字段,然后将这一个字段映射为ARMS中对应的告警字段。分隔符仅支持特殊字符。
- 条件:当告警字段值满足指定条件后,设置的字段才会映射到ARMS目标字段上。
- 映射表:设置告警源的告警等级与ARMS中的告警等级的映射,仅告警等级(severity)字段需要设置映射表。
ARMS告警字段说明:
ARMS告警字段 说明 告警名称(alertname) 自定义告警的名称。 告警等级(severity) 设置告警等级的映射字段。该字段需要设置告警等级映射表,且映射方式必须设置为直接映射。 告警描述(message) 告警事件的详细信息,用于告警通知。最多支持15000字符。 告警样本值(value) 监控指标的样本值。 告警图片(imageUrl) 指标折线图URL,用于映射Grafana指标折线图。 检查项(check) 告警检查项。例如:CPU、JVM、Application Crash、Deployment。 来源(source) 告警事件的来源。 分类(class) 告警事件的对象类型,例如:主机。 服务(service) 与业务相关的来源服务,例如:Login Service。 开始时间(startat) 事件开始时间的时间戳。 结束时间(endat) 事件结束时间的时间戳。 事件地址(generatorUrl) 事件详细信息地址。
- 可选:在选择根节点区域选择是否使用批处理。
- 设置事件去重。为了减少重复数据,系统使用相关字段作为去重依据。ARMS告警管理支持预览事件映射区域中的历史事件数据的去重分组结果,您可根据需要调整去重字段。说明 事件去重仅针对未恢复状态下的事件。
- 在编辑集成页面的事件去重区域选择需要去重的字段。当选择的字段的值相同时,对应的多个事件将会合并为一个告警通知。
- 单击去重测试,可以预览去重后的告警分组。说明 去重测试针对的是事件映射左侧区域中上传的最近10条测试数据。
- 在编辑集成页面的事件去重区域选择需要去重的字段。
- 配置完成后,单击保存。
结果验证
在Zabbix中安装ARMS告警管理后,ARMS告警管理将会自动在Zabbix中创建对应的用户、用户群组、报警媒介类型和动作,Zabbix中新建的告警产生的告警事件将会自动上报至ARMS告警管理中。
安装ARMS告警管理前,Zabbix中告警产生的告警事件不会上报至ARMS告警管理中。
执行以下步骤确认ARMS告警管理是否安装成功。
登录Zabbix控制台。
在顶部菜单栏选择 。
在用户页面查看是否存在名称为Aliyun Alert User的用户。
在顶部菜单栏选择 。
在用户群组页面查看是否存在名称为Aliyun Alert Group的群组,且群组成员为Aliyun Alert User。
在顶部菜单栏选择 。
在报警媒介类型页面查看是否存在名称为Aliyun Alert Media的报警媒介。
在顶部菜单栏选择 。
在动作页面查看是否存在名称为Aliyun Alert Action的动作。
说明您可以根据需求在Aliyun Alert Action动作中自定义告警上报内容。
查看告警事件
- 在控制台左侧导航栏选择 。
- 在告警事件历史页面单击目标事件,可以查看告警事件的详细信息。更多信息,请参见查看告警事件历史。
管理集成
在
页面的告警集成页签,对于已经创建的集成,您可以进行以下操作:- 查看集成:如果您需要查看集成的详细信息,单击目标集成所在行,在集成详情页面查看集成的详细信息。
更新密钥:如果您需要修改集成的密钥,在目标集成右侧操作列选择
,在弹出的对话框中单击确认。重要更新密钥后,请参考步骤二重新安装ARMS告警管理。
- 编辑:如果您需要修改集成信息,在目标集成右侧操作列单击编辑,在集成详情页面修改集成信息,然后单击保存。
- 启用或禁用:如果您需要启用或禁用目标集成,在目标集成右侧操作列单击禁用或启用。
- 删除:如果您需要删除集成,在目标集成右侧操作列单击删除,在弹出的对话框中单击确认。
- 添加事件流:如果您需要为指定集成添加对应的事件处理流,在目标集成右侧操作列单击添加事件流。具体操作,请参见事件处理流。
- 新建通知策略:如果您需要为指定集成添加对应的通知策略,在目标集成右侧操作列单击新建通知策略。具体操作,请参见通知策略。
后续步骤
您可以通过设置通知策略将上报的告警事件生成告警并发送告警通知,具体操作,请参见通知策略。经过通知策略分派后生成的告警可以在告警发送历史页面查看告警的详细信息,更多信息,请参见查看告警发送历史。