通过Grafana Loki刮擦过滤

发布于 2025-02-03 05:35:01 字数 951 浏览 2 评论 0原文

我试图通过Promtail和Scrape_configs从单个名称空间中获取日志,但我没有得到结果。我正在使用K8安装

Helm install 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检测名称空间中获取日志,但是我可以从存在的任何名称空间中查看。 也尝试了Drop,但没有做任何事情。

我应该在这里做什么? 太感谢了

i am trying to get logs from a single namespace through promtail and scrape_configs, but i am not getting results. I am installing in k8s with

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

and the contents of my values file are:

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

My expectation was that i will only get logs from the mongodb-test namespace, but i can view from any namespace present.
Also tried with drop, but it did not do anything.

What should i do here?
Thank you so much

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

使用Match语句在管道阶段下丢弃其他命名空间为我工作。在您的情况下

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

Using match statement to drop other namespaces under pipeline stages worked for me. In your case,

config:
  snippets:
    pipelineStages:
      - cri: {}
      - match:
          selector: '{namespace!~"mongodb-test"}'
          action: drop
    common:
      - action: replace
        source_labels:
          - __meta_kubernetes_namespace
        target_label: namespace
素食主义者 2025-02-10 05:35:01

这是我删除特定名称空间的解决方案。

promtail:
  config:
    clients:
      - url: http://{{ .Release.Name }}:3100/loki/api/v1/push
    logLevel: info
    serverPort: 3101
    snippets:    
      pipelineStages:
      - drop:
          source:     "namespace"
          expression: "(kube-public|kube-system)"
  enabled: true

This is my solution to drop particular namespaces.

promtail:
  config:
    clients:
      - url: http://{{ .Release.Name }}:3100/loki/api/v1/push
    logLevel: info
    serverPort: 3101
    snippets:    
      pipelineStages:
      - drop:
          source:     "namespace"
          expression: "(kube-public|kube-system)"
  enabled: true
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文