You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Promtail配置求助:排除多数Pod的level=info日志仅保留指定Pod全量日志

Promtail配置实现指定Pod保留全量日志、其余丢弃info级别

核心逻辑

  • 先给需要保留全量日志的2个Pod打专属标签
  • 全局过滤时,仅丢弃未打标签Pod的level=info日志,打了标签的Pod日志全部保留

具体配置步骤

1. 在Scrape配置中给指定Pod打标签

在Promtail的scrape_configs(针对Kubernetes采集的部分)里,添加relabel_configs,匹配目标Pod名称后添加自定义标签(比如keep_all_logs: "true"):

scrape_configs:
- job_name: kubernetes-pods
  kubernetes_sd_configs:
  - role: pod
  relabel_configs:
    # 匹配需要保留全量日志的两个Pod名称,替换成你的实际Pod名
    - source_labels: [__meta_kubernetes_pod_name]
      regex: 'pod-demo-1|pod-demo-2' # 用|分隔两个Pod名称
      action: replace
      target_label: keep_all_logs
      replacement: "true"
    # 保留原有默认relabel规则(比如提取namespace、pod名等)
    - action: labelmap
      regex: __meta_kubernetes_pod_label_(.+)
    - source_labels: [__meta_kubernetes_namespace]
      action: replace
      target_label: namespace
    - source_labels: [__meta_kubernetes_pod_name]
      action: replace
      target_label: pod

2. 添加Pipeline Stage过滤日志

根据日志格式选择对应的解析方式,再添加丢弃逻辑:

场景1:JSON结构化日志

如果应用输出的是JSON格式日志(比如{"level":"info", "msg":"xxx"}),先解析出level字段再过滤:

pipeline_stages:
  # 解析JSON日志,提取level字段
  - json:
      expressions:
        level: level
  # 丢弃未打标签Pod的info级别日志
  - drop:
      expression: 'level == "info" && keep_all_logs != "true"'
  # 保留其他原有处理阶段(比如添加标签、格式化等)

场景2:非结构化文本日志

如果日志是文本格式(比如2024-05-20 10:00:00 level=info msg=xxx),用正则提取level字段:

pipeline_stages:
  # 正则提取level字段,根据你的日志格式调整正则表达式
  - regex:
      expression: 'level=(?P<level>\w+)'
  # 过滤逻辑与JSON场景一致
  - drop:
      expression: 'level == "info" && keep_all_logs != "true"'

规则优先级说明

Promtail的执行顺序是固定的:

  1. 先执行scrape_configs内的relabel_configs(给指定Pod打标签)
  2. 再按顺序执行pipeline_stages(先解析日志字段,再判断是否丢弃)
    只要保持这个顺序,就能确保指定Pod的全量日志被保留,其余Pod的info日志被过滤。

验证方式

配置生效后,在Loki查询页面:

  • 搜索{pod="pod-demo-1"}能看到该Pod的level=info日志
  • 搜索{pod!="pod-demo-1", pod!="pod-demo-2"}看不到任何level=info日志,说明配置生效

内容的提问来源于stack exchange,提问作者SafiJunaid

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 20:20:14