1

我已经安装了 Grafana、Loki、Promtail 和 Prometheus 与grafana/loki-stack.

我还用Nginx helm chart设置了Nginx 。

Promtail 正在将日志很好地摄取到 Loki,但我想自定义日志的外观。具体来说,我想删除日志的一部分,因为它在尝试使用logfmtor json(Error: LogfmtParserErrError: JsonParserErr分别) 解析它时会产生错误。

日志如下所示:

2022-02-21T13:41:53.155640208Z stdout F timestamp=2022-02-21T13:41:53+00:00 http_request_method=POST http_response_status_code=200 http_response_time=0.001 http_version=HTTP/2.0 http_request_body_bytes=0 http_request_bytes=63

我想删除它所说的部分,stdout F以便日志如下所示:

2022-02-21T13:41:53.155640208Z timestamp=2022-02-21T13:41:53+00:00 http_request_method=POST http_response_status_code=200 http_response_time=0.001 http_version=HTTP/2.0 http_request_body_bytes=0 http_request_bytes=63

我已经发现在摄取方面它可能与 Promtail 相关,但是否也可以在 Loki 中进行 LogQL 查询来替换该字符串?以及如何为想要的行为设置 Promtail 配置?

4

1 回答 1

1

Promtail 应配置为将字符串替换为replacestage

这是一个示例配置,用于删除stdout F来自命名空间ingress的所有日志的部分日志。

promtail:
  enabled: true
  pipelineStages:
  - docker: {}
  - match:
      selector: '{namespace="ingress"}'
      stages:
      - replace:
          expression: "(stdout F)"
          replace: ""

具体来说,此示例适用于grafana/loki-stack图表。

于 2022-02-21T17:57:38.503 回答