正文共:2119字
预计阅读时间:6分钟

做过运维的同学都知道,服务的可观测性是一个非常重要的渠道,能够让我们掌控线上服务运行时的状态。一个好的监控系统,其价值在于一旦出现故障能够让我们运维的同学能够快速收到服务异常的通知以及定位问题。也就是我们常说的告警的两大衡量指标,即实时性和有效性。

Loki 的鸡汤

那么,今天小白请出第一个云原生里负责日志存储的便是Loki。这里可能有同学就说了:"我的日志存储和分析一直用elasticsearch也可以啊,为什么要用Loki"。别急,等小白慢慢说道说道

  • 首先Loki采用Golang开发,相比ES,Loki它更加轻量也更容易部署

  • 其次Loki仅索引日志的元数据部分,日志部分全部压缩存储,这样在方便操作的同时又节能节省我们存储空间

  • Loki采用和Prometheus一样的标签建立索引,这意味我们可以通过标签将metrics和logging监控数据联动起来

另外Loki也是由三部分构成,分别是负责采集的Promtail、负责存储的Loki和负责展示的Grafana。这里又有同学要问了:"我自己有了日志采集客户端了,难道还要再加一个Promtail吗?"。其实不然,Loki的日志收集有四种方法,除了Promtail外,还可以使用 FluentdFluentBitDockerDriver的方式。

今天,小白的实践就是利用Grafana给Loki日志系统添加告警功能。

进入正题

假设小白认为大家已经使用上Loki并在Grafana上查询日志了。那么小白在自己的环境内操作一次通过将内核OOM的故障告警出来,向大家展示此次告警的实践。

1.小白通过标签定位到需要查看的服务,并使用关键字过滤出想要查看的日志内容

2.这时小白想看下过去一段时间内服务器上出现OOM的趋势

可以看到,这里小白的服务器每过段时间都会出现零零散散的OOM事件,那么有运维的同学就要问了:"这么多OOM怎么办,Grafana好像也没地方可以配置Loki告警啊",小白先按下不表,让我们先来看看Prometheus和Loki的查询接口:

Prometheus的查询接口

# 及时查询
$ curl 'http://localhost:9090/api/v1/query?query=up&time=2015-07-01T20:10:51.781Z'
# 范围查询
$ curl 'http://localhost:9090/api/v1/query_range?query=up&start=2015-07-01T20:10:30.781Z&end=2015-07-01T20:11:00.781Z&step=15s'

Loki的查询接口

# 及时查询
$ curl -G -s  "http://localhost:3100/loki/api/v1/query" --data-urlencode 'query=sum(rate({job="varlogs"}[10m])) by (level)'
# 范围查询
$ curl -G -s  "http://localhost:3100/loki/api/v1/query_range" --data-urlencode 'query=sum(rate({job="varlogs"}[10m])) by (level)' --data-urlencode 'step=300'

小白先问大家有没有发现点奇怪东西呢?没错!眼尖的同学可能看出来Prometheus和Loki在查询的URL上几乎一样,并且参数基本也是兼容的。那么我们可不可以将Grafana的上Loki数据源改成类Prometheus的格式呢?

答案是当然可以!事实上在Github上我们也可以找到相关的问题#1422和#1222

得益于prometheus和loki是一个开发团队出品,我们只需简单的配置一步,在数据源中添加一个Prometheus类型,并在地址栏中填写上 http://loki:3100/loki,这样我们就能通过像查询prometheus一样查询日志的趋势图了

这时候小白再创建一个pannel来查询内核的OOM趋势就可以得到如下结果:

接下来的工作,小白就是在Grafana上添加一个Alert小铃铛,让它每分钟去Loki里面查询有没有出现OOM的日志生成,如果计算出来的结果大于0,小白就让Grafana通过邮件告警出来。

配置完成后不急保存,我们先Test Rule看看是否生效。

看到 state:"ok",小白长舒一口,终于可以设置告警了

利用Grafana为你的Loki添加告警相关推荐

  1. 啥?Grafana 还能为日志添加告警?

    正文共:2119字 预计阅读时间:6分钟 做过运维的同学都知道,服务的可观测性是一个非常重要的渠道,能够让我们掌控线上服务运行时的状态.一个好的监控系统,其价值在于一旦出现故障能够让我们运维的同学能够 ...

  2. gpio引脚介绍 树莓派3b_使用微创联合M5S空气检测仪、树莓派3b+、prometheus、grafana实现空气质量持续监控告警WEB可视化...

    1.简介 使用微创联合M5S空气检测仪.树莓派3b+.prometheus.grafana实现空气质量持续监控告警WEB可视化 grafana dashboard效果: 2.背景 2.1 需求: 1. ...

  3. 《Excel 职场手册:260招菜鸟变达人》一第 13 招 利用数据验证给单元格添加注释,不用批注...

    本节书摘来异步社区<Excel 职场手册:260招菜鸟变达人>一书中的第1章,第13节,作者: 聂春霞 , 佛山小老鼠 责编: 王峰松,更多章节内容可以访问云栖社区"异步社区&q ...

  4. jsp里加java代码,利用静态内部类为您的代码添加辅助功能-JSP教程,Java技巧及代码...

    利用静态内部类为您的代码添加辅助功能 作者 john d. mitchell 摘要这个技巧提供了一个实例,它可以利用静态内部类为您的类添加独立的.可选的辅助功能,例如测试和示例代码等.( 500 字) ...

  5. 【clickhouse】clickhouse 利用Grafana与系统表监控ClickHouse查询

    文章目录 1.概述 1.概述 转载:利用Grafana与系统表监控ClickHouse查询 收藏从未停止,写在这里以防万一

  6. 利用PDF编辑软件给PDF添加页码的操作全过程

    还记得小时候,在微机电脑课时.老师在教给大家一项操作的时候,老师肯定会详细的,一步一步的将操作全过程展示给大家.老师们如此严谨其,目的也就是为了防止学生们再操作中因为细小的问题,而导致全盘皆错.一步一 ...

  7. linux在指定行添加内容,linux下利用shell在指定的行添加内容的方法

    linux下利用shell在指定的行添加内容的方法 在linux的一些配置中总会要进行某个文件中的某行的操作,进行增加,修改,删除等操作. 而这里主要是进行的是指定的行添加数据的操作: 脚本如下: s ...

  8. Grafana的Worldmap使用,添加Mysql 数据源

    Worldmap使用文档 一. 安装 在安装grafana服务器运行: grafana-cli plugins install grafana-worldmap-panel 然后重启服务:servic ...

  9. 利用matlab,在信号上添加给定SNR(dB)或给定方差的高斯白噪声

    利用matlab,在信号上添加给定SNR(dB)或给定方差的高斯白噪声 1. 添加给定SNR的噪声 向信号添加SNR=53dB的高斯白噪声 rng defaultSNR = 53; y = randn ...

最新文章

  1. 前端问题多行点点点的问题
  2. 学python用什么系统好-Python用什么系统环境好?老男孩Python
  3. Ubuntu16.04 搭建SVN服务器(建立版本仓及import和checkout代码)
  4. ObjectInputStreamObjectOutputStream工具类
  5. 2022年美国大学生数学建模竞赛各题型常见参考代码汇总
  6. windows下设置socket的connect超时
  7. P6088-[JSOI2015]字符串树【可持久化Trie,LCA】
  8. 安装包损坏无法安装怎么办?关于更新big sur系统后软件下载无法安装问题的解答
  9. 26、Windows API Shell编程(2)
  10. 计算机ck,[计算机]ck编程速成.doc
  11. treebagger matlab,MATLAB – TreeBagger example
  12. python UI自动化无界面运行
  13. Django 开发的个人博客源码分享
  14. 豆瓣fm android,豆瓣 FM
  15. MacOS下AndroidStudio无法启动
  16. Win11怎么进行屏幕休眠时间的设置
  17. 书香小说APP界面设计
  18. Vue使用二维码生成微信支付
  19. 【文献解读 情感合成】Expressive Speech Driven Talking Avatar Synthesis with DBLSTM using 有限的情感双峰数据
  20. QMS-云质-质量管理软件-西门子MES里面有质量模块,为什么还要收购质量软件-IBS?

热门文章

  1. 苹果自带输入法怎么换行_微信个性签名怎么弄成竖的?不仅可以竖着还可以加边框效果...
  2. Linux学习之定时任务调度
  3. 参考文献怎么缩进换行
  4. PLC运动控制系列之机械回原点(back to origin)
  5. 曾志伟原创港式奶茶店—喜乐街,台州金清人民路新店开业
  6. java中finally语句是否一定会被执行
  7. P1972 [SDOI2009] HH的项链
  8. Matlab处理气象数据(十)给地图添加边界线
  9. 用脑子说话,用心服务
  10. ROC:Receiver operating characteristic Curve接受者操作特征的理解