赛尔校园公共服务平台 Logo
平台使用
阿里云
百度云
移动云
智算服务
教育生态
登录 →
赛尔校园公共服务平台 Logo
平台使用 阿里云 百度云 移动云 智算服务 教育生态
登录
  1. 首页
  2. 阿里云
  3. 日志服务
  4. 操作指南
  5. 告警
  6. 最佳实践
  7. 在告警通知中引用日志内容

在告警通知中引用日志内容

  • 最佳实践
  • 发布于 2025-04-22
  • 0 次阅读
文档编辑
文档编辑

您可以在内容模板中选择合适的变量(labels、annotations、fire_results或results),用于在告警通知中引用日志内容。

日志服务支持在告警通知中展示触发告警的详细信息,帮助您在接收到告警通知后,了解告警详情。针对该功能,需要您在创建告警监控规则时,配置合理的参数,并在内容模板中添加labels、annotations、fire_results或results等变量。更多信息,请参见内容模板变量说明(新版)。

  • labels:告警标签。

  • annotations:告警标注。

  • fire_results:触发告警的数据。

  • results:查询参数和中间结果。

例如在监控Nginx访问时,您可以使用如下查询和分析语句获取状态码、报错机器的IP地址、错误次数等信息,然后针对该结果创建告警监控规则,并在内容模板中引用该结果。当访问出错(status >=400)时,日志服务会给您发送告警通知,并在告警通知中展示状态码、报错机器的IP地址、错误次数等信息。

  • 查询和分析语句

    status >=400 | SELECT status, __source__ AS ip, count(*) AS cnt GROUP BY status,ip
  • 查询和分析结果查询和分析结果

使用labels变量

您可以在内容模板中使用labels变量,用于在告警通知中引用日志内容。

  • 告警监控规则

    您可以在配置告警规则时添加标签或者设置分组评估。触发告警后,告警消息中将生成labels信息。

    • 分组评估:设置分组评估后,分组评估的字段会自动添加到labels信息中。更多信息,请参见设置分组评估。

      重要

      选择分组评估字段时,请选择具备标识监控实体特征的字段,字段的值可枚举。例如设置分组评估字段为status,则出现错误日志时,不同的状态码会触发不同的告警。请勿选择不具备区分监控实体特征的字段。使用这些字段会产生很多分组,每个分组对应一个告警,造成告警风暴,导致错过重要的告警信息。

    • 添加标签:标签是标识性属性。更多信息,请参见标签。

    例如您要在告警消息中添加日志来源、所属环境、状态码等信息,则您可以添加标签app:nginx和env:prod以及设置分组评估字段为status。

    image

  • 告警消息

    触发告警后,将生成如下告警消息。

    {
        "labels": {
            "app": "nginx",
            "env": "prod",
            "status": "404"
        }
    }
  • 内容模板

    您可以在内容模板中添加labels变量,则告警通知中将引用您所设置的日志内容。如何设置内容模板,请参见创建内容模板。

    内容模板

使用annotations变量

您可以在内容模板中使用annotations变量,用于在告警通知中引用日志内容。

  • 告警监控规则

    您可以在配置告警规则时手动添加标注信息或使用自动添加标注功能。触发告警后,告警消息中将生成annotations信息。更多信息,请参见标注。

    说明

    日志服务默认提供两个标注。

    例如您要在告警消息中添加状态码、机器IP地址、错误次数等信息,则您可以添加status:${status}、ip:${ip}、cnt:${cnt}等标注信息。

    • 手动添加标注

      image

    • 使用自动添加标注功能

      image

  • 告警消息

    触发告警后,将生成如下告警消息。

    {
        "annotations": {
            "title": "Nginx访问错误告警触发",
            "desc": "状态码400错误发生了15次"
            "status": "400"
            "ip": "127.0.0.1"
            "cnt": "15"
            "__count__": "1"
        }
    }
  • 内容模板

    您可以在内容模板中添加annotations变量,则告警通知中将引用您所设置的日志内容。如何设置内容模板,请参见创建内容模板。

    内容模板

使用fire_results变量

您可以在内容模板中使用fire_results变量,用于在告警通知中引用日志内容。

  • 告警监控规则

    日志服务会根据您设置的监控规则,生成告警消息。

    image

  • 告警消息

    触发告警后,将生成如下告警消息。包括状态码、机器IP地址,发生的错误数。

    {
        "fire_results": [
            { "status": "401", "ip": "127.0.0.1", "cnt": "3" },
            { "status": "400", "ip": "127.0.0.1", "cnt": "7" },
            { "status": "501", "ip": "127.0.0.1", "cnt": "4" },
            { "status": "404", "ip": "127.0.0.1", "cnt": "4" },
            { "status": "402", "ip": "127.0.0.1", "cnt": "6" },
            { "status": "403", "ip": "127.0.0.1", "cnt": "8" }
        ]
    }
  • 内容模板

    您可以在内容模板中添加fire_results变量,则告警通知中将引用您所设置的日志内容。如何设置内容模板,请参见创建内容模板。

    内容模板

使用results变量

您可以在内容模板中使用results变量,用于在告警通知中引用日志内容。

  • 告警监控规则

    日志服务会根据您设置的监控规则,生成告警消息。

    image

  • 告警消息

    触发告警后,将生成如下告警消息。包括状态码、机器IP地址,发生的错误数。

    说明

    如果一个告警监控规则中有多个查询统计,那么results数组将包含多项,每项对应一个查询统计。

    {
        "results": [{
            "store_type": "log",
            "region": "cn-hangzhou",
            "project": "test-alert",
            "store": "nginx-access-log",
            "query": "status >= 400 | select status, __source__ as ip, count(*) as cnt group by status, ip",
            "start_time": 1640006894,
            "end_time": 1640007014,
            "dashboard_id": "",
            "raw_results": [
                { "status": "401", "ip": "127.0.0.1", "cnt": "3" },
                { "status": "400", "ip": "127.0.0.1", "cnt": "7" },
                { "status": "501", "ip": "127.0.0.1", "cnt": "4" },
                { "status": "404", "ip": "127.0.0.1", "cnt": "4" },
                { "status": "402", "ip": "127.0.0.1", "cnt": "6" },
                { "status": "403", "ip": "127.0.0.1", "cnt": "8" }
            ],
            "raw_result_count": 6,
            "fire_result": {
                "status": "401",
                "ip": "127.0.0.1",
                "cnt": "3"
            },
            "has_sql": true,
            "truncated": false,
            "role_arn": ""
        }]
    }
  • 内容模板

    您可以在内容模板中添加results变量,则告警通知中将引用您所设置的日志内容。如何设置内容模板,请参见创建内容模板。

    内容模板

模板变量说明

当您引用的变量内容为JSON格式(例如{{ alert.results[0].raw_results | to_json }})时,告警通知中的内容将以JSON字符串形式展示。为了展示效果更友好,您可以在内容模板中使用循环方式,即一行行展示通知内容。更多信息,请参见内容模板语法(新版)。示例如下:

{%- for result in alert.fire_results %}
- status: {{ result.status }}, count: {{ result.cnt }}
{%- endfor %}

日志服务还支持通过内置函数格式化通知内容。更多信息,请参见内容模板语法(新版)和内置模板函数。

相关文章

基于日志关键字设置告警 2025-04-22 10:51

将日志采集到日志服务后,您可以通过日志服务告警系统实现基于日志关键字的告警。 背景信息 日志记录了系统的运行过程及异常信息,例如warning日志

限制日志服务告警通知时段的常见方法 2025-04-22 10:51

本文介绍限制告警通知时段的常见方法以及各自适用的场景。 背景信息 在对系统进行监控告警的过程中,并非在任何时间段都需要接收告警通知,例如针对以下场景,可通过相关设置,限制告警通知时段。

自定义分析告警日志 2025-04-22 10:51

日志服务以日志形式记录告警的整个生命周期,并存储到专属的Logstore中。您可以通过告警日志,了解监控对象的整体状况、稳定性等。本文介绍在专属Logstore中进行告警日志自定义分析的操作步骤。 背景信息

在告警通知中引用日志内容 2025-04-22 10:51

您可以在内容模板中选择合适的变量(labels、annotations、fire_results或results),用于在告警通知中引用日志内容。 日志服务支持在告警通知中展示触发告警的详细信息,帮助您在接收到告

通过函数计算实现日志告警的自动处理 2025-04-22 10:51

当您为日志创建告警规则后,可以通过函数计算接收告警通知并自动处理告警事件。例如某企业在使用OSS时,要求所有Bucket的ACL都必须为私有(private)。如果有员工在创建或管理OSS Bucket时,将ACL设置为公共读(public-read)或公共读写(public-read-write)

告警对接FlashDuty 2025-04-22 10:51

本文介绍如何通过Webhook方式同步日志服务告警事件到FlashDuty,实现告警自动化处理。 背景信息 FlashDuty为企业内统一事件响应平台,支持接收各种来源告警事件,支持统一管理、协同、分析与自动化处理告警事件,有助于提升故障响应效率、降低故障损失。

目录
Copyright © 2025 your company All Rights Reserved. Powered by 赛尔网络.
京ICP备14022346号-15
gongan beian 京公网安备11010802041014号