日志记录了软件系统的生命线,为我们提供了故障排查和性能优化的关键线索。
本期EasyOps产品使用最佳实践,我们将为您揭晓:
- 如何监控日志的关键字?
- 如何基于关键字告警?
日 志 关 键 字 监 控
日志作为软件系统运行时记录,记录了软件运行生命周期的事件,因此日志监控在监控实践中属于非常关键的一项。
在日志监控中,我们可能会有这样的需求:
- 针对某个特殊的关键字做监控,关注关键字出现的次数,希望知道在什么时刻,关注的关键字是多少。如下图所示:
- 当在周期内出现关键字的次数大于多少次时,希望引起重视,比如下面的告警告诉我1888@ not found这个关键字在一个采集周期内,已经出现了52次。
结合以上信息,很可能代表软件系统的功能发生了故障。
那么该怎么满足上述的监控效果?下面的文档,演示了如何基于平台,实现对关键字的采集和监控,并且基于关键字出现的次数进行告警。
配 置 说 明
1.新建日志采集任务
选择右上角的新建日志采集并提取关键字加工为指标,注意,这里分为两种类型的指标:
- 关键字加工指标:可通过从日志数据提取关键字,并加工为指标对系统进行实时监控,提升系统健康的感知能力。
- 通用指标:通用指标包含各种由日志内容分割出来的指标。
选择监控的资源对象
选择日志标记
点击下一步后,选择要监控的关键字
此处会新建一个指标:keepalive_timeout_count。
注意:
- 这个指标会从日志内容中,匹配包含err:keepalive timeout的关键字,如果匹配,则指标数加1。
- 日志汇聚频率是15s采集一次,也就是说,如果配置出现次数的阈值是10,那么,在15秒内这个采集周期中,出现10次关键字后,即可触发告警。
最后点击保存。
稍等片刻后,即可看到指标的数据。也就是我们开头提到的图:
2.配置告警规则
① 新增监控目标, 这个目标一般是主机,也可以关联具体的部署实例。具体根据上面的配置采集策略时关联的模型而定。在此处,则是一台主机:
② 添加告警条件,这里针对新建的指标,在采集周期内出现超过10次即告警。具体次数可根据您的实际场景而定:
③ 后续根据实际情况添加到告警通知组。
此时,当监控的日志出现关键字,超过10次后,即可触发告警通知。
附上告警通知模板:
{% set color = "red" %}
{{time|ts2str:'%Y-%m-%d %H:%M'}} 产生告警事件</font></h2>
| 事件类型 | 日志监控 |
| --- | --- |
| 告警等级 | {{levelName}} |
| 告警资源 | {{t*****}} |
| 告警信息 | {{originContent}} |
| 运营负责人 |{{instance|jsonpath:'$.owner[*].name'|unique|join:','}} |
| 持续时长 | {{duration|duration_format:'zh'}} |
| 首次发生时间 | {{startTime|ts2str:'%Y-%m-%d %H:%M'}} |
| 事件详情 | [请点击](http://*****.*******.*****/next/events/{{eventId}}/detail) |
| 策略详情 | [请点击](http://*****.*******.*****/next/events/alert-rule/alert-rule/{{ruleId}}/edit) |
标签:采集,指标,关键字,监控,日志,中捞,告警,优维 From: https://blog.51cto.com/u_15605878/7050520