promtail 静态标签问题

Posted

技术标签:

【中文标题】promtail 静态标签问题【英文标题】:promtail static label issue 【发布时间】:2021-09-05 02:30:35 【问题描述】:

我尝试配置一个 promtail 来跟踪不同服务器写入的日志。 我想为 loki 定义一个名为“主机名”的静态标签,其中主机名是取自日志行的值。

scrape_configs:
  - job_name: drupal
    static_configs:
    - labels:
        job: "drupal"
        tag: PREFIX-whatever
        hostname:
        __path__: /var/log/mylog/promtail-drupal.log

日志行是json格式,有这个键值对。

我已经尝试了很多东西,包括重新标记,但它不起作用,promtail 只是将它空发送给 loki。 有没有办法做到这一点? (我从 loki doc 知道,我们应该避免使用静态标签的可能性太大。)

【问题讨论】:

【参考方案1】:

尝试以下方法:

scrape_configs:
  - job_name: drupal
    static_configs:
    - json
        expressions:
          hostname: hostname
    - labels:
        job: "drupal"
        tag: PREFIX-whatever
        hostname:
        __path__: /var/log/mylog/promtail-drupal.log

Loki 文档here 和here 中的更多信息。

【讨论】:

以上是关于promtail 静态标签问题的主要内容,如果未能解决你的问题,请参考以下文章

使用loki+promtail实现云原生日志分析

Promtail:如何从文件名中删除时间戳?

Promtail EC2 权限

如何在 Promtail 中解析嵌套的 json

Kubernetes:如何将 Promtail 设置为 sidecar 以读取自定义日志路径

Promtail 和 Grafana - 来自 docker 容器的 json 日志文件未显示