Zabbix作为常用的开源监控系统,提供了丰富的告警规则用于系统监控,同时支持多种告警通知渠道。您可以将日志服务告警系统设为Zabbix的一个通知渠道,由日志服务告警系统完成告警降噪、通知等处理。本文适用于Zabbix 4.4及以上版本。
前提条件
- 已创建协议为Zabbix的开放告警应用。具体操作,请参见配置开放告警对外接口。
- 下载alibaba_cloud_sls.yml。重要 如果您使用的是Zabbix 5.0.x版本,请下载zabbix-5.0.x文件。
Zabbix配置
- 登录Zabbix控制台。
- 可选:配置全局变量ZABBIX.SERVER.URL。
配置后,全局变量ZABBIX.SERVER.URL将作为告警内容的一部分发送给日志服务。你可以在日志服务的告警通知中,单击对应的信息,跳转至Zabbix控制台,查看更多信息。
如果您不设置全局变量ZABBIX.SERVER.URL的值,则在告警消息中显示默认值127.0.0.1。
- 在左侧导航栏中,选择。
- 在Macros页面中,单击Add。
- 添加全局变量ZABBIX.SERVER.URL,值为Zabbix控制台的访问地址。

- 单击Update。
- 添加Alibaba Cloud SLS (Log Service)通知渠道。
- 在左侧导航栏中,选择。
- 在Media types页面的右上角,单击Import。
- 在Import对话框中,选择您已下载的alibaba_cloud_sls.yml文件,选中Update existing,然后单击Import。

- 在Media types页面中,单击Alibaba Cloud SLS (Log Service)。
- 在Parameters配置项中,修改hook_url字段的值,然后单击Update。
将hook_url字段的值修改为您在日志服务中创建开放告警服务和应用后生成的接口信息(完整URL)。如何获取,请参见获取接口信息。说明 如果您的Zabbix运行在阿里云ECS上,则建议您在选择Zabbix告警消息接入地域时,选择ECS所在地域,并使用局域网或VPC域名。否则您选择任一地域的公网接口即可。

- 为目标用户设置通知渠道。
- 在左侧导航栏中,选择。
- 在用户列表中,单击目标用户。
您也可以单击Create user,创建一个新用户。
- 在Media页签中,单击其中一个Media对应的Edit。
您也可以单击Add,创建一个新的Media。
- 在Media面板中,选择Type为Alibaba Cloud SLS (Log Service),然后单击Update。

- 单击Update。
- 配置触发器。
- 在左侧导航栏中,选择。
- 在Trigger actions页面中,单击您已创建的触发器。
- 在Operations页签中,单击Operations区域中的Add。
您也可以单击目标Operation对应的Edit。

- 在Operation details对话框中,选择您的目标用户或用户组,以及配置Send only to为Alibaba Cloud SLS (Log Service),然后单击Add。

- 单击Update。
告警消息解析
Zabbix告警消息中包含100多种变量。更多信息,请参见Zabbix官方文档。日志服务只选取其中几十个消息变量组成告警消息。Zabbix告警消息内容示例如下:
| Zabbix Macro名称 | 示例值 |
| {TRIGGER.ID} | 19006 |
| {TRIGGER.NAME} | test used |
| {EVENT.UPDATE.STATUS} | 0 |
| {EVENT.VALUE} | 1 |
| {DATE} | 2021.06.10 |
| {TIME} | 12:44:23 |
| {EVENT.DATE} | 2021.06.10 |
| {EVENT.TIME} | 19:23:01 |
| {EVENT.RECOVERY.DATE} | "" |
| {EVENT.RECOVERY.TIME} | "" |
| {HOST.NAME} | zabbix-agent |
| {HOST.IP} | 192.0.2.0 |
| {TRIGGER.HOSTGROUP.NAME} | Linux servers |
| {EVENT.DURATION} | 20h 1m 31s |
| {TRIGGER.DESCRIPTION} | The system is running out of free memory. |
| {EVENT.OPDATA} | 73.22 % |
| {EVENT.TAGS} | Application:Memory |
| {NSEVERITY} | 2 |
| {EVENT.ID} | 1036 |
字段映射
日志服务告警内容中的字段与Zabbix侧的映射关系如下:
| 日志服务 | Zabbix | 说明 |
| aliuid | 无 | 用于接入告警的开放告警应用所属的阿里云账号ID |
| alert_id | {TRIGGER.ID} | 告警监控规则ID |
| alert_type | 无 | 告警类型,固定为sls_pub。 |
| alert_name | {TRIGGER.NAME} | 告警监控规则名称 |
| status | {EVENT.UPDATE.STATUS}、{EVENT.VALUE} | 告警状态。 如果Zabbix中的{EVENT.UPDATE.STATUS}值和{EVENT.VALUE}值都为0,则表示resolved(告警恢复)。其余值都表示firing(触发告警)。 |
| next_eval_interval | 无 | 告警评估时间间隔,固定为0。 |
| alert_time | 无 | 告警本次评估时间。 通过计算{DATE}和{TIME}所得。 |
| fire_time | 无 | 告警首次触发时间。 通过计算{EVENT.DATE}和{EVENT.TIME}所得。 |
| resolve_time | 无 | 告警恢复时间。
|
| labels | {HOST.NAME} | 告警标签信息。 如果您在创建开放告警应用时 ,在信息加工中添加了标签信息,则此标签信息将被添加到labels字段中。
说明 当您在信息加工中配置的标签的Key与Zabbix告警消息的tags字段中的子字段重复时,映射结果以您在信息加工中配置的为准。 |
| annotations | {EVENT.TAGS} | Zabbix告警被接入到日志服务后,日志服务会将{EVENT.TAGS}字段展开为多个键值对,添加到annotations字段中。
除以上字段外,还会额外添加如下字段。
如果您在创建开放告警应用时 ,在信息加工中添加了标注信息,则此标注信息将被添加到annotations字段中。 |
| severity | {NSEVERITY} | 告警严重度。更多信息,请参见告警严重度说明。 |
| policy | 无 | 您在开放告警应用中配置的告警策略。更多信息,请参见Policy结构。 |
| project | 无 | 告警中心所属的Project。更多信息,请参见项目(Project)。 |
| drill_down_query | {$ZABBIX.SERVER.URL}、{TRIGGER.ID}、{EVENT.ID} | 链接形式,单击后可跳转到Zabbix的告警消息管理页面。 |
| Severity(Zabbix) | Severity(日志服务) |
| Not Classified | report |
| Information | low |
| Warning | medium |
| Average | medium |
| High | high |
| Disaster | critical |
常见问题
如何查看操作日志?
- 登录Zabbix控制台。
- 在左侧导航栏中,选择。
- 查看操作日志。

该文章对您有帮助吗?

