日志服务告警使用与常见问题排查

  1. 云栖社区>
  2. 博客>
  3. 正文

日志服务告警使用与常见问题排查

wwwuzy 2020-03-07 11:28:14 浏览1318
展开阅读全文

一. 告警的介绍

1.1 简介

日志服务支持根据仪表盘中的查询图表设置告警,实现实时的服务状态监控。
日志服务的告警功能基于仪表盘中的查询图表实现。在日志服务控制台查询页面仪表盘页面设置告警规则,并指定告警规则的配置、检查条件和通知方式。设置告警后,日志服务定期对仪表盘的查询结果进行检查,检查结果满足预设条件时发送告警通知,实现实时的服务状态监控。

1.2 使用限制

限制项 说明
组合查询 组合查询的个数为1~3个。
字符串 字符串长度如果超过1024个字符,只会截取前1024个字符用于计算。
条件表达式 条件表达式长度为1~128个字符。 每个查询只会取查询结果的前100条用于计算条件表达式。条件表达式计算次数不超过1000次,如使用组合查询,则组合计算的次数最多只会计算1000次。
短信数量 同一个手机号码每天接收的短信不超过50条。
语音通知数量 同一个手机号码每天接收的语音电话通知不超过50个。
邮件数量 同一个邮箱每天接收的邮件不超过100条。
查询区间 每个查询语句的查询区间时间跨度不能超过24小时。

1.3 告警中的查询语句

告警基于仪表盘中的分析图表,而分析图表实质上是一条查询分析语句的可视化查询结果。其中,查询语句可以是查询语句或查询分析语句。
注意:查询语句告警和分析语句告警不能相互转换,也就是说查询语句告警不能改成分析语句告警,分析语句告警不能改成查询语句告警,如需更改需要删除重建。

1.3.1 查询语句

直接返回查询条件命中的日志数据。
查询语句会返回一条日志的所有的内容,如果想通知中展示日志中所有内容建议用此语句。

1.3.2 查询分析语句

对查询条件命中的日志进行统计,返回统计结果。
查询分析语句只会返回select查到的字段,没有查到的字段不能在通知中展示。

1.4 告警的设置

1.4.1 创建查询语句告警

字段level,每15min检查一次,有ERROR,触发钉钉告警

1. 控制台查询

全文索引可以在控制台查询 ERROR ,
如果设置了字段索引可以查询 level:ERROR ,
查询范围15min,点击右上角的另存为告警
image

2. 创建告警

填写名称,保存到新建的仪表盘或已有的仪表盘中,触发条件是level=="ERROR"。
个别字段的含义可以点击?会有详细说明。
注意1:查询的区间要和检查的频率相同,如果检查的频率小于查询的区间会重复告警。
注意2: 如果查询区间为1分钟(相对),建议改成1分钟(整点),因为日志服务查询为分钟内精确,如果用1分钟相对时间会出现告警不准确的情况。
image

3. 告警通知

通知方式可以选择短信、语音、邮件等。
注意:如果选择钉钉机器人,需要在钉钉中设置关键词,可以设置成关键词 "告警"
发送内容设置参考
https://help.aliyun.com/document_detail/91785.html
https://help.aliyun.com/document_detail/98398.html
如果想获取,展示某个字段
${Results[0].FireResult.字段名}
kv形式展示触发告警的日志
${Results[0].FireResultAsKv}
kv形式展示所有查询结果
${Results[0].RawResultsAsKv}
image

image

1.4.2 创建查询分析语句告警

每分钟检查某个ip的pv,小于100触发告警,通知次数和ip。

1. 控制台查询

查询分析语句为

  • | select from (select source as ip , count() as count from log group by ip) where count < 100

由于告警判断的条件表达式的限制,条件表达式计算次数不超过1000次,如使用组合查询,则组合计算的次数最多只会计算1000次。可以在查询语句分析语句中做判断,查符合条件的日志,如果有查到结果则触发告警。
image

2. 创建告警

image

3. 告警通知

image

4.告警结果

image

1.4.3 仪表盘创建告警

1 在仪表盘中,点击告警列表下的新建按钮,打开创建告警界面。

image

2 点击添加按钮,选择关联的告警图表,其他操作与上面类似。

image

1.5 告警其他功能

1.5.1 查看告警统计

image

1.5.2 关闭告警

在告警概览中,可以设置启用状态,暂时关闭告警。

1.5.3 告警抑制

在告警概览中,可以设置通知状态关闭的时长。
image

二. 告警问题排查

2.1 排查方法

2.1.1 查看告警历史

在告警列表中,点击相应的告警,在告警历史中查看没有告警的那条数据,
告警历史向左滑动会有原因字段,相应的解释在右侧错误信息中。
image

2.1.2 查看执行结果

创建告警之后,会生成告警历史logstore,internal-alert-history,
进入这个logstore可以查看完整的告警执行结果。
其中Results字段中的RawResults为告警语句查询返回结果,检查是否和预期结果相匹配。若为空,说明没有查到符合条件的结果。
详细字段含义参考:https://help.aliyun.com/document_detail/98398.html
image

2.2 常见问题及解决方法

1 设置查询范围相对1分钟,触发误告警

参考上文,日志服务查询为分钟内精确,查询范围改成整点1分钟。

2 符合条件没有触发告警

检查触发的次数是否符合设置的阈值

3 用查询分析语句设置的告警,怎么把日志中的某个值展示在通知里

通知展示的值,要在查询的结果中,分析语句中需要可以查到这个值。

4 告警符合条件,没有触发

查看告警历史,没有达到触发的通知的间隔限制,
修改告警,在高级选项里,修改通知间隔,改成和执行频率相同。
image

image

三. 视频演示

https://v.youku.com/v_show/id_XNDU3NjI0ODk2MA==.html

网友评论

登录后评论
0/500
评论
wwwuzy
+ 关注