簡體   English   中英

促銷標簽

[英]Promtail labels

我在將標簽添加到 Grafana 時遇到問題,但此問題僅出現在一個節點中。 我已經有 3 個帶有標簽的 Promtails 正常工作,我在這台機器上嘗試了相同的例子,它屬於同一個集群並且也連接到 Loki 端口。

這是我所擁有的:

server:
  http_listen_port: 9080
  grpc_listen_port: 0

positions:
  filename: /usr/hdp/promtail/data/positions.yaml

clients:
  - url: http://machine4:3100/loki/api/v1/push

scrape_configs:
  - job_name: zeppelin
    static_configs:
    - targets:
        - machine1:9080
      labels:
        host: machine1
        stream: zeppelin
        job: zeppelin
        __path__: /usr/hdp/logs/zeppelin/zeppelin-zeppelin-machine1.log
    pipeline_stages:
    - match:
        selector: '{job="zeppelin"}'
        stages:
        - regex:
            expression: '(?P<zeppelinError>RemoteInterpreterManagedProcess)'
        - labels:
            zeppelinError:

因此,當我將 grafana 轉到變量時,我鍵入“label_values(zeppelinError)”並且不向我顯示標簽。

以下是 Promtail 的日志,看起來不錯:

Aug 10 11:47:14 machine1 systemd[1]: Started Promtail service.
Aug 10 11:47:14 machine1 promtail[25496]: level=info ts=2021-08-10T10:47:14.666205865Z caller=server.go:225 http=0.0.0.0:9080 grpc=0.0.0.0:44903 msg="server listening on addresses"
Aug 10 11:47:14 machine1 promtail[25496]: level=info ts=2021-08-10T10:47:14.666573544Z caller=main.go:108 msg="Starting Promtail" version="(version=2.0.0, branch=HEAD, revision=6978ee5d)"
Aug 10 11:47:19 machine1 promtail[25496]: level=info ts=2021-08-10T10:47:19.663478261Z caller=filetargetmanager.go:261 msg="Adding target" key="{host=\"machine1\", job=\"zeppelin\", stream=\"zeppelin\"}"
Aug 10 11:47:19 machine1 promtail[25496]: level=info ts=2021-08-10T10:47:19.667623654Z caller=tailer.go:122 component=tailer msg="tail routine: started" path=/usr/hdp/logs/zeppelin/zeppelin-zeppelin-machine1.log
Aug 10 11:47:19 machine1 promtail[25496]: ts=2021-08-10T10:47:19.668843991Z caller=log.go:124 component=tailer level=info msg="Seeked /usr/hdp/logs/zeppelin/zeppelin-zeppelin-machine1.log - &{Offset:713999 Whence:0}"

這里是我想跟蹤的日志:

ERROR [2021-07-30 06:37:40,836] ({pool-4-thread-74} NotebookServer.java[afterStatusChange]:2294) - Error
java.lang.RuntimeException: 
    at org.apache.zeppelin.interpreter.remote.RemoteInterpreterManagedProcess.start(RemoteInterpreterManagedProcess.java:205)

可能是我在這里遺漏的一些小東西,希望你能幫我解決這個問題。

以下: https : //grafana.com/docs/loki/latest/clients/promtail/stages/regex/#schema (如何捕獲數據), https://github.com/google/re2/wiki/Syntax (Regex表達式規則), https://sbcode.net/grafana/nginx-promtail/ (遵循類似的構建)

奇怪的是,我最終像你一樣實現了這個,並遇到了同樣的問題,所以如果我們做錯了什么,這意味着文檔不夠清晰。 我無法識別多個標簽,唯一的工作標簽可以在一台機器上工作,但不能在另一台機器上工作,具有相同的配置。

不過查看文檔,我發現從 Loki 2.3.0 開始,LogQL 支持在查詢時動態創建標簽:

https://grafana.com/docs/loki/latest/logql/log_queries/#parser-expression

因此,在花了很長時間試圖解決這個問題卻無濟於事之后,我決定從 Promtail 配置中刪除管道階段,並直接在 Loki 查詢上應用正則表達式:

https://grafana.com/docs/loki/latest/logql/log_queries/#regular-expression

這最終解決了我的問題。 我現在已經在所有 Promtail-ed 機器上應用了它。

我希望這會有所幫助,但如果有人知道如何通過 Promtail 配置修復標簽,那么知道作為替代方案仍然非常有幫助,因為在動態標簽開始使查詢變得過於繁重之前存在限制。

干杯。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM