【问题标题】:Multi-line single log file processing with promtail使用 promtail 处理多行单日志文件
【发布时间】:2020-12-07 06:13:07
【问题描述】:

我有一个日志文件,它不断被附加到 括号内包含以下字段:

我打算使用 Promtail 实时解析这个单个文件 正在向其追加新记录。

Promtail 可以做到这一点吗?我不确定它是否可以处理 多线处理。如果确实是这样,那该怎么办 Promtail 期待吗?具有单个记录的单个文件,不断 被新信息覆盖?

【问题讨论】:

    标签: logging grafana-loki


    【解决方案1】:

    这是一个相当老的问题,但仍然:

    是的,这是可能的。我在类似的场景中使用它。 该服务在文件末尾附加一个新行 (JSON),然后由 Promtail 处理。

    promtail 配置如下所示:

    scrape_configs:
    - job_name: <name>
      pipeline_stages:
      - json:
          expressions:
            thread: thread
            level: level
            message: message
            timestamp: timestamp
            traceID: trace-id
            correlationID: correlation-id
      - labels:
          level:
      - template:
          source: new_key
          template: 'thread={{ .thread }} level={{ .level | ToLower }} correlationID={{ .correlationID }} traceID={{ .traceID }} | {{ .message }}'
      - output:
          source: new_key
      static_configs:
      - targets:
         - localhost
        labels:
          job: <some job name>
          __path__: /log/output.json
    

    json 行(修饰)如下所示:

    {"instant": {
    "epochSecond": 1613470246,
    "nanoOfSecond": 779983000
    },
    "thread": "thread-name",
    "level": "WARN",
    "loggerName": "it.issome.logger.class.name",
    "message": "Some kind of message",
    "endOfBatch": false,
    "loggerFqcn": "org.apache.logging.slf4j.Log4jLogger",
    "threadId": 31,
    "threadPriority": 5,
    "correlation-id": "correlation-id",
    "trace-id": "d6555df8asdf456a",
    "timestamp": "2021-02-16T10:10:46.779+0000"
    }
    

    没有太多关于 promtail 的好材料和故障排除技巧,或者我很难找到它:)

    【讨论】:

      猜你喜欢
      • 2020-12-12
      • 2022-12-28
      • 1970-01-01
      • 2012-04-13
      • 2012-07-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-08-13
      相关资源
      最近更新 更多