【问题标题】:Filtering through scraping with Grafana Loki使用 Grafana Loki 通过抓取进行过滤
【发布时间】:2022-06-24 15:33:38
【问题描述】:

我正在尝试通过 promtail 和 scrape_configs 从单个命名空间获取日志,但我没有得到结果。我正在使用 k8s 安装

helm install loki grafana/loki-stack -n loki-test -f ~/loki-stack-values.yml

我的值文件的内容是:

loki:
 enabled: true

promtail:
 enabled: true
 pipelineStages:
 - cri: {}
 - json:
  expressions:
   is_even: is_even
   level: level
   version: version
 scrape_configs:
 - job_name: kubernetes-pods
  kubernetes_sd_configs:
  - role: pod
  relabel_configs:
  - source_labels: [__meta_kubernetes_namespace]
   action: keep
   regex: mongodb-test
 # [...]

 - job_name: kubernetes-pods-app
  kubernetes_sd_configs:
  - role: pod
  relabel_configs:
  - source_labels: [__meta_kubernetes_namespace]
   action: keep
   regex: mongodb-test

grafana:
 enabled: true
 sidecar:
 datasources:
  enabled: true
 image:
 tag: 8.3.5

我的期望是我只会从 mongodb-test 命名空间获取日志,但我可以从任何存在的命名空间查看。 也尝试了 drop,但它没有做任何事情。

我应该在这里做什么? 非常感谢

【问题讨论】:

    标签: grafana grafana-loki promtail


    【解决方案1】:

    使用 match 语句删除管道阶段下的其他命名空间对我有用。在你的情况下,

    config:
      snippets:
        pipelineStages:
          - cri: {}
          - match:
              selector: '{namespace!~"mongodb-test"}'
              action: drop
        common:
          - action: replace
            source_labels:
              - __meta_kubernetes_namespace
            target_label: namespace
    

    【讨论】:

      猜你喜欢
      • 2020-10-17
      • 2022-06-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多