Loki告警的正确姿势
正文共1255字预计阅读时间:3分钟
小白之前有通过Grafana设置Loki数据源的骚操作来做日志告警 , 虽然能直接在Grafana面板上配置告警 , 但它们还是没办法集中维护和管理 。 小白前面介绍了那么多关于Loki的文章 , 那么它有没有像Prometheus一样的rules来管理策略呢?答案是肯定的!
【Loki告警的正确姿势】根据Loki的RoadMap , Ruler组件将于Loki 1.7.0版本正式推出 。 那么小白今天先带大家尝尝鲜 , 体验下在Loki里日志告警的正确姿势 。
Loki RulerLoki1.7将包含一个名为Ruler的组件 , 它是从Crotex项目里面引入进来的(还记得Loki分集群的架构吗?)Ruler的主要功能是持续查询rules规则 , 并将超过阈值的事件推送给Alert-Manager或者其他Webhook服务 。
文章插图
结合Cortex , Loki的Ruler组件也是如上的架构 。 可以看到loki和cortex的架构主要区别只剩下Configs API了 。 不过 , 牛逼的是借助注册到consul的一致性hash环 , Loki的ruler同样支持多实例的分布式部署 , 实例和实例之间会自己根据分片协调需要使用的rules 。 不过这是一个动态的过程 , 任何ruler实例的添加或删除都会导致rules的重新分片 。
当前启用Loki的ruler组件比较简单 , 只要将下列的相关配置引入 , 并在Loki启动的参数里面加入-target=ruler即可 。
ruler:# 触发告警事件后的回调查询地址# 如果用grafana的话就配置成grafana/exploreexternal_url:# alertmanager地址alertmanager_url:enable_alertmanager_v2: true# 启用loki rules APIenable_api: true# 对rules分片 , 支持ruler多实例enable_sharding: true# ruler服务的一致性哈希环配置 , 用于支持多实例和分片ring:kvstore:consul:host:
想快速体验Ruler的同学 , 可以用小白之前docker-compose来部署demo
Alert配置Loki的rulers规则和结构与Prometheus完全兼容 , 唯一的区别在于查询语句不同 。 在Loki中我们用logQL来查询日志指标 。 一个典型的rules配置说明如下:
groups:# 组名称- name:rules:# Alert名称- alert:# logQL查询语句expr:# 产生告警的持续时间pending.[ for:
举个栗子 , 如果小白想通过日志查到某个业务日志的错误率大于5%就触发告警 , 那么可以配置成这样:
groups:- name: should_firerules:- alert: HighPercentageErrorexpr: |sum(rate({app="foo", env="production"} |= "error" [5m])) by (job)/sum(rate({app="foo", env="production"}[5m])) by (job)> 0.05for: 10mlabels:severity: pageannotations:summary: High request latency
当告警事件产生时 , 我们在alert-manager上就能收到该事件的推送 。
文章插图
Ruler用途
- 还没用metrics做应用监控告警时
- 黑匣子监控
下面这个就是某大佬利用nginx日志和logQL做的监控和告警大盘 , 简直不要太炫酷 。
文章插图
文章插图
- 响应应用的事件
- name: credentials_leakrules:- alert: http-credentials-leakedannotations:message: "{{ $labels.job }} is leaking http basic auth credentials."expr: 'sum by (cluster, job, pod) (count_over_time({namespace="prod"} |~ "http(s?)://(\\w+):(\\w+)@" [5m]) > 0)'for: 10mlabels:severity: critical
- High-Cardinality高基告警
- 小米科技|性价比拉满!TCL T8E-PRO QLED智屏当属潮玩世代的必备单品
- 华为鸿蒙系统|华为汽车战略布局,进入汽车行业的底气来自哪里?(车车佳)
- 浙江省|浙江的五大富豪,四位做过中国首富,仅马云的阿里就1年纳税366亿
- iOS|恒创科技:Linux日本云服务器安全设置的基本步骤
- javascript|手机移动端的PyTorch来了,还支持JavaScript
- 中关村|柳传志在这里被骗、掘金,书写半部科技史的中关村经历了什么?
- 手机维修|手机维修的猫腻‖你是不是上当了?
- 智能化|感知局限下,车路协同的“子弹”还得再飞会儿
- 华为鸿蒙系统|都2021年底了,为何Mate40Pro还是目前公认最好用的“安卓”手机
- saas|上半年的Redmi K40 Pro,现在入手2500元不到,还等?