Skip to main content
Version: 2.15.0

告警示例

实例一:Web应用错误告警

场景介绍

某Web应用的日志通过数据采集工具被导入炎凰数据平台的 web_app_log 数据集中,所有的日志遵循相同的格式。 以其中一条日志为例,日志中的 [error] 部分为日志级别:

[Tue Jun 23 19:06:00 2020] [error] [client 50.0.134.125] File does not exist: /var/www/favicon.ico

日志级别在数据集中保存的字段名为 level,字段值可以是 infowarnningerrorfatal 等。 告警需要监测Web应用报出的 error 级别及以上的日志,一旦这种日志出现就要及时通过邮件将告警发送给运维团队。

告警配置

配置说明:

  • 使用语句 SELECT * FROM web_app_log WHERE level IN ('error', 'fatal'') 可以查询到全部错误级别的日志

  • 每次查询的范围为之前五分钟内的最新日志

  • 触发告警的条件为查询到了任何的错误日志

  • 执行计划为每五分钟执行一次监测,每次执行延后十五秒钟,即执行时间点为每个小时的五分十五秒、十分十五秒、十五分十五秒等

  • 对告警发送的频率不设限制

create_alert_modal

通知邮件配置说明:

  • 使用Token将监测到的错误信息写入邮件内容中(Token清单

alert_email_form


实例二:磁盘空间不足告警

场景介绍

某公司内部服务器集群的日志通过HEI导入炎凰数据平台的itops数据集中,运维工程师希望能在磁盘即将满负荷运作的情况下收到告警,比如在过去30分钟内的磁盘利用率最大值在95%以上。

告警配置

配置说明:

  • 使用语句 select "disk_usage" from itops cross apply parse_regex("disk_usage.Use%", '(?<disk_usage_str>\d+)%') cross apply (SELECT CAST(disk_usage_str as FLOAT) as disk_usage) where _source = 'resource' and hostname = '<HOSTNAME>' order by _time desc limit 1 可以查询到磁盘利用率

  • 每次查询的范围为之前30分钟内的最新结果

  • 触发告警的条件为自定义的磁盘利用率最大值在95%以上

  • 执行计划为每30分钟执行一次监测

  • 对告警发送的频率不设限制

create_disc_usage_alert_modal

通知Webhook配置说明:

  • 预先在希望接收到告警的IM工具(比如Teams/Slack)配置好Webhook,一般通过URL token形式接收

alert_webhook_disc_usage_form

caution

需要注意的标头与负载的内容,必须使用双引号

  • 如果需要显示出查询的结果,需要在负载的json中加上{{search.result.FIELD_NAME}}

如:{"text": "当前网络流量大于100M带宽最大值,实际值为{{search.result.Netwrok_traffic_Mbps}} Mbps"}