promtail - 事件路由器事件的 Promtail 正则表达式问题
问题描述
我在 k8s 中使用 eventrouter,并使用 Promtail 将日志收集到 Loki。日志格式如下:
I0803 11:37:11.317223 1 glogsink.go:42] {"verb":"ADDED","event":{"metadata":{"name":"my-release-postgresql-0.1697c8da8d306360","namespace":"default","uid":"5aa6e94b-047e-4e81-86b6-0d276bc73fea","resourceVersion":"4599","creationTimestamp":"2021-08-03T11:37:11Z","managedFields":[{"manager":"kubelet","operation":"Update","apiVersion":"v1","time":"2021-08-03T11:37:11Z"}]},"involvedObject":{"kind":"Pod","namespace":"default","name":"my-release-postgresql-0","uid":"6874d790-2da8-438b-a315-591616052d72","apiVersion":"v1","resourceVersion":"4592","fieldPath":"spec.containers{my-release-postgresql}"},"reason":"Created","message":"Created container my-release-postgresql","source":{"component":"kubelet","host":"minikube"},"firstTimestamp":"2021-08-03T11:37:11Z","lastTimestamp":"2021-08-03T11:37:11Z","count":1,"type":"Normal","eventTime":null,"reportingComponent":"","reportingInstance":""}}
我正在尝试使用正则表达式获取 Json 部分,然后解析为 json。现在我的yaml是:
pipelineStages:
- match:
selector: '{name="eventrouter"}'
stages:
- regex:
expression: ^.*] (?P<data>{.*),"(?P<data2>firstTimestamp.*)}}$
但是没有名为“数据”的新字段有人可以帮忙吗?
解决方案
推荐阅读
- php - Magento 2 如何将自定义属性添加到发票电子邮件和发票 PDF
- docker - 为特定的 ubuntu 版本安装特定版本的 apt 包
- apache-spark - 如何在 spark-submit 命令中引用 .so 文件
- rust - Impl Send 用于 Bindgen 生成的指针类型
- html - Django 图像放置
- c# - 如果 1 列包含相同的数据,则 SQL 追加其他列
- html - 我想将css添加到活动按钮..如何以角度添加活动类
- spring - 与 Spring Boot 等效的 Arquillian Persistence
- asp.net-core - ASP.NET Core 2.1 身份:基于角色的授权 -> 拒绝访问
- html - 滚动禁用内容调整大小