[英]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.