promtail + multiline 实现多行日志处理
问题点利用 promtail + loki + Grafana 搭建了个日志系统, 参考网上的教程与官方文档初步实现.记录一下其中一个关于多行日志处理的问题点.版本docker-compose 安装, promtail拉取的是latest镜像, 1.5以前不可用(多行处理)实现server:http_listen_port: 9080grpc_listen_port: 0positions:fil
·
- 问题点
利用 promtail + loki + Grafana 搭建了个日志系统, 参考网上的教程与官方文档初步实现.
记录一下其中一个关于多行日志处理的问题点.
- 版本
docker-compose 安装, promtail拉取的是latest镜像, 1.5以前不可用(多行处理)
- 实现
server:
http_listen_port: 9080
grpc_listen_port: 0
positions:
filename: /etc/promtail/positions.yaml
sync_period: 10
clients:
- url: http://{你的HOST}:3100/loki/api/v1/push
scrape_configs:
- job_name: go_vmp_server
static_configs:
- targets:
- localhost
labels:
job: go_vmp_server
app: go_vmp_server
env: prod
__path__: /data/log/test/*log
pipeline_stages:
- match:
selector: '{job="go_vmp_server"}'
stages:
- multiline:
firstline: '^\[\d{4}-\d{2}-\d{2}'
max_wait_time: 3s
- 注意点
以上是 promtail 的配置文件, 注意 缩进 与 正则 的匹配.
pipeline_stages:
执行的pipeline步骤
match:
解析阶段
selector:
只有job = go_vmp_server 才会执行
stages
一些执行阶段: regex/labels/timestamp/multiline 等等
其中 multiline 用于多行日志的解析
firstline 指首行开头的正则表达式
更多推荐
已为社区贡献3条内容
所有评论(0)