Loki + Promtail 解决日志多行与跨行问题

当项目缺少日志格式化时,Promtail无法正确处理有空白字符开头的多行或跨行日志,导致日志丢失。通过查阅官方文档并实践,可以在Promtail客户端配置pipelines管道来解决此问题。具体做法是设置regex和multiline阶段,匹配日志行首标志,确保日志完整发送到Loki。
摘要由CSDN通过智能技术生成
  1. 描述

    因项目未进行日志格式化,在有空白字符开头的日志记录产生时,promtail无法将跨行及多行日志发送给loki,导致日志丢行。

  2. 解决

    经过查询官方文档https://grafana.com/docs/loki/v2.2.0/clients/promtail获悉Promtail可通过配置pipelines管道进行处理日志(类似于ELK格式化日志),但实现很轻巧。
    经过实践,参考https://grafana.com/docs/loki/v2.2.0/clients/promtail/pipelines/,在客户端promtail中进行以下配置可解决日志多行、跨行问题。

    书写过程请注意引号及缩进

    scrape_configs:
      - job_name:  'xx'
        static_configs:
        - targets:
          ...
    
        pipeline_stages:
        - match:
            selector: '{label_key="label_val"}'	//需替换为targets中定义的标签键值
            stages:
            - regex:
                expression: '.*' //匹配所有有字符的日志记录
                multiline:
                  firstline: '^行首标志' //需替换为产生跨行或多行的日志行首正则表达式,正则参照<https://github.com/google/re2/wiki/Syntax>
    
    
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值