首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用promtail进行多行单日志文件处理

使用promtail进行多行单日志文件处理
EN

Stack Overflow用户
提问于 2020-08-18 13:07:52
回答 1查看 1.1K关注 0票数 0

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

我计划使用Promtail来实时解析这个文件,因为有新的记录被附加到它上面。

使用Promtail可以做到这一点吗?我不确定它是否能处理多行处理。如果确实是这样,那么Promtail期望什么呢?只有一条记录的单个文件经常被新信息覆盖?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-02-16 19:43:45

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

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

promtail配置如下所示:

代码语言:javascript
复制
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行(简化后)如下所示:

代码语言:javascript
复制
{"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的好材料和故障排除提示,或者我在寻找它方面很差:)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63462192

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档