使用promtail处理多行单个日志文件
Multi-line single log file processing with promtail
我有一个日志文件不断被附加到
以下括号内的字段:
我计划使用 Promtail 实时解析这个单个文件
正在将新记录附加到它。
Promtail 可以吗?我不确定它能处理
多线处理。如果确实如此,那又如何呢?
Promtail 期望?具有单个记录且不断变化的单个文件
被新信息覆盖了吗?
这是一个相当古老的问题,但仍然是:
是的,这是可能的。我在类似的场景中使用它。
该服务在文件末尾附加一个新行 (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 的好的 material 和故障排除技巧不多,或者我没有找到它:)
我有一个日志文件不断被附加到 以下括号内的字段:
我计划使用 Promtail 实时解析这个单个文件 正在将新记录附加到它。
Promtail 可以吗?我不确定它能处理 多线处理。如果确实如此,那又如何呢? Promtail 期望?具有单个记录且不断变化的单个文件 被新信息覆盖了吗?
这是一个相当古老的问题,但仍然是:
是的,这是可能的。我在类似的场景中使用它。 该服务在文件末尾附加一个新行 (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 的好的 material 和故障排除技巧不多,或者我没有找到它:)