基于SLS监控报警

PAI-Rec引擎服务支持部署在EAS上,在引擎服务运行期间将产生一系列日志。您可以利用SLS日志服务来监控引擎服务,根据业务需求设置不同的报警配置,以便及时接收SLS监控服务产生的报警提醒。本文为您介绍如何配置日志服务以及监控报警通知。

配置资源组日志服务

您可以选择使用公共资源组或专属资源组部署EAS服务,这两种部署方式在实现日志与SLS(日志服务)同步的操作方法略有不同,具体操作步骤如下:

步骤一:为资源组创建机器组

使用公共资源组和使用专属资源组部署服务时,创建机器组的方式不同,具体操作,请参见步骤一:为资源组创建机器组

步骤二:配置Logtail

由于EAS默认的日志采集不符合PAI-Rec的需求,您需要手动增加Logtail采集配置。具体操作步骤如下:

  1. 登录日志服务控制台

  2. 在页面右侧的快速接入数据区域,单击接入数据image

  3. 接入数据对话框的自建开源/商业软件页签,单击Docker标准输出-容器,并在弹出的提示对话框中,单击继续image

  4. 选择日志空间配置向导页面,选择目标ProjectLogstore,然后单击下一步

  5. 单击使用现有机器组,并选择步骤一中已手动创建的公共资源组机器组或EAS自动创建的专属资源组机器组,单击下一步

  6. Logtail配置页面,单击右上角的切换为编辑器配置,并进行插件配置,插件配置完成后,单击下一步

    插件配置编辑框中输入以下内容。

    {
        "inputs": [
            {
                "detail": {
                    "Stderr": true,
                    "IncludeLabel": {
                        "io.kubernetes.container.name": "worker0"
                    },
                    "Stdout": true
                },
                "type": "service_docker_stdout"
            }
        ],
        "processors": [
            {
                "detail": {
                    "SourceKey": "content",
                    "Regex": "I(\\d+ \\d+:\\d+:\\d+.\\d+)\\s+\\d+ (\\w+.go):(\\d+)]\\s+\\[(\\w+)\\]\\s+requestId=([\\w-]+)\\s+event=(\\w+)\\s+uri=([/\\w+]+)\\s+cost=(\\d+)",
                    "Keys": [
                        "time",
                        "file",
                        "line",
                        "level",
                        "requestId",
                        "event",
                        "uri",
                        "cost"
                    ],
                    "KeepSource": true,
                    "NoKeyError": false,
                    "NoMatchError": false
                },
                "type": "processor_regex"
            }
        ]
    }
  7. 继续单击下一步,直到配置结束。

  8. 单击查询日志,即可在日志服务控制台查看到日志详情。

开启索引

为了便于后续的监控与报警,建议启用索引统计功能。具体操作步骤如下:

  1. 进入创建索引页面。

    1. 登录日志服务控制台

    2. 在Project列表区域,单击目标Project。

    3. 日志存储 > 日志库页签中,单击目标Logstore。

    4. 在Logstore的查询和分析页面,选择查询分析属性 > 属性。如果还未创建索引,需要先单击开启索引

      配置索引

  2. 查询分析配置面板中,设置属性字段,然后单击确定image

配置监控报警通知

完成上述操作步骤后,您可以前往日志服务控制台配置监控报警通知。具体操作步骤如下:

  1. 进入告警监控规则页面。

    1. 登录日志服务控制台

    2. 在Project列表区域,单击目标Project。

      image

    3. 在控制台左侧,单击日志存储,在日志库列表中单击目标Logstore。

      image

    4. 在查询和分析页面,单击告警图标图标。

      image

  2. 告警监控规则面板中,配置告警规则,配置完成后,单击确定

    支持设置的报警如下:

    • 接口超时报警image

      其中关键配置说明如下,您也可以根据需要进行调整。更多参数配置说明,请参见创建日志告警监控规则

      • 查询统计:配置为*|select COUNT(*) as count where uri='/api/rec/internal/video_feed' and cost > 700,表示在2分钟之内,当接口/api/rec/internal/video_feed耗时大于700毫秒的数量超过150时触发报警。其中的uri和cost配置,可以根据需要进行相应的调整。

      • 添加标注:${alert_name}告警触发,条数:${count}。

    • ERROR数量报警image

      其中关键配置说明如下,您也可以根据需要进行调整。更多参数配置说明,请参见创建日志告警监控规则

      • 查询统计:配置为ERROR not exposure_history_pkey  not INFO | SELECT COUNT(*) as count。表示在1分钟之内,ERROR错误数量超过800则报警。

      • 添加标注:${alert_name}告警触发,error数量:${count}。

    • 推荐条目数量不足报警image

      其中关键配置说明如下,您也可以根据需要进行调整。更多参数配置说明,请参见创建日志告警监控规则

      • 查询统计:配置为 "length of items less than size"。表示在5分钟之内,items的数量少于150条时触发报警。

      • 添加标注: ${alert_name}告警触发,影响请求数量:${__count__}。