码迷,mamicode.com
首页 > 其他好文 > 详细

k8s上搭建loki日志服务并通过prometheus进行错误日志告警

时间:2020-12-07 12:42:03      阅读:9      评论:0      收藏:0      [点我收藏+]

标签:比较   出现   acl   value   概念   哈哈   自己   步骤   xxx   

1. 前言

prometheus 和 loki的基础概念就不赘述了,如需查看请先移步到官网
prometheus -> https://prometheus.io/
loki -> https://grafana.com/oss/loki/

2. 要解决的问题

之前测试环境搭建Loki采集日志没有设置ERROR级别告警的需求,现在正式环境需要添加日志告警了,最开始是直接通过grafana面板自带的告警,但是感觉不太好使(也许是我配置的问题,很多本该告警的时候没有告警),所以还是通过prometheus结合自己写的hook来进行告警

这里也简单说下grafana上添加Loki日志告警需要注意的一点:

  1. 添加datasource 选择prometheus 但是在填写路径的时候并不是直接 http://loki地址:3100 而是 http://loki地址:3100/loki
  2. 规则什么的比较简单 eg: count_over_time({container="xy-xxxx"} |= "INFO"[1m]) 就是查询一分钟container="xy-xxxx"日志中包含了INFO关键字的个数

3. 进入正题

loki 和 Prometheus-operator 的安装可以参考 https://www.infracloud.io/blogs/grafana-loki-log-monitoring-alerting/

这篇只说在过程中需要注意的问题

  1. 我按照https://www.infracloud.io/blogs/grafana-loki-log-monitoring-alerting/ 教程中自定义的values.yaml文件会出现一些错误,所以我直接修改的helm包里面具体的字段 ,然后安装没有问题
  2. 需要增加自定义应用日志筛选

自定义应用日志筛选思路

首先要理清日志从打印到告警的整个过程是怎样的

  1. 日志是loki中的promtail来负责的,所以如果需要对日志做筛选的工作那么就要在promtail这里来完成
  2. prometheus要获取到日志的告警指标,我们知道prometheus是通过抓取目标的/metrics来获取数据的,所以在promtail这里做日志筛选时就需要将自定义的指标暴露给prometheus
    在loki的官网中会发现有个pipeline_stages 和metrics两个配置(我们的参考链接中也有提到这个,但并没有说为什么要这么做,我也是看了官网才知道),可以满足我们的需求
  3. prometheus通过promtail的/metrics获取到信息后,需要设置告警rules ,因为之前我们是用prometheus-operator来搭建的,所以直接edit对应的rules文件是不能达到目的的,所以这里又涉及到自定义prometheus rules的步骤 这个可以参照我之前写的笔记 https://www.cnblogs.com/zunwen/p/14023248.html
  4. 到这里应该就差不多了哈哈

k8s上搭建loki日志服务并通过prometheus进行错误日志告警

标签:比较   出现   acl   value   概念   哈哈   自己   步骤   xxx   

原文地址:https://www.cnblogs.com/zunwen/p/14080696.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!