繁体   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