标签: promtail

为什么我的 Loki 日志保留不起作用?

即使指定“retention_period: 12h”,“12h”旧日志也不会删除,因此我面临存储问题,因为日志不会删除。请帮我配置

loki:
  enabled: true
  isDefault: true
  table_manager:
    retention_deletes_enabled: true
    retention_period: 12h
Run Code Online (Sandbox Code Playgroud)

purge retention grafana-loki promtail

9
推荐指数
2
解决办法
2万
查看次数

Grafana 没有看到 loki(docker-compose 设置)

我正在尝试使用相同的 docker compose 将我的应用程序登录到 grafana/loki/promtail 中,连接到 loki 时出现以下错误:

本地主机:3100 -> 404 页面未找到

当我尝试将其挂接到grafana时:

URL [http://loki:3100 ]-> Loki:错误网关。502错误的网关

我发现你必须在 grafana 中输入容器的名称才能检测到它,但我得到了同样的错误。

promtail 和 loki 容器在其日志中均未显示任何错误。

version: "3.7"

services:   
my-service-to-log:
    image: example:latest
    ports:
      - "8080:8080"
      - "8443:8443"
 loki:
    image: grafana/loki:2.4.1
    ports:
      - "3100:3100"
    volumes:
      - "C:/path/loki-config.yaml:/etc/loki/local-config.yaml"
    command: -config.file=/etc/loki/local-config.yaml

   promtail:
    image: grafana/promtail:2.4.1
    volumes:
      - "C:/path/promtail-config.yaml:/etc/promtail/config.yml"
      - /var/log:/var/log
    command: -config.file=/etc/promtail/config.yml

   grafana:
    image: grafana/grafana:latest
    ports:
      - "3000:3000"
Run Code Online (Sandbox Code Playgroud)

我的 loki-config.yaml

auth_enabled: false

server:
  http_listen_port: 3100
  grpc_listen_port: 9096

common:
  path_prefix: /tmp/loki
  storage:
    filesystem:
      chunks_directory: /tmp/loki/chunks …
Run Code Online (Sandbox Code Playgroud)

docker grafana docker-compose grafana-loki promtail

7
推荐指数
1
解决办法
4895
查看次数

Promtail:Loki 服务器返回 HTTP 状态 429 请求过多

我在 Docker 中运行 Loki 进行测试,最近从 Promtail 和 Loki 容器中收到以下错误:

level=warn ts=2022-02-18T09:41:39.186511145Z caller=client.go:349 component=client host=loki:3100 msg="error sending batch, will retry" status=429 error="server returned HTTP status 429 Too Many Requests (429): Maximum active stream limit exceeded, reduce the number of active streams (reduce labels or reduce label values), or contact your Loki administrator to see if the limit can be increased"
Run Code Online (Sandbox Code Playgroud)

我尝试在 Loki 配置中增加限制设置 (ingestion_rate_mb和)。ingestion_burst_size_mb

我设置了两个 Promtail 作业 - 一个作业从本地目录(当前为 8TB 并且不断增加)提取 MS Exchange 日志,另一个作业从 syslog-ng 获取假脱机日志。

我读到减少标签有帮助。但我只使用两个标签。

配置 …

docker docker-compose grafana-loki promtail

7
推荐指数
0
解决办法
7138
查看次数

如何在 Grafana-Loki 中过滤日志?

我使用的是最新版本:

  • 普罗米修斯
  • prometheus-cpp 库
  • 格拉法纳
  • 洛基
  • 普罗姆泰尔

在 Windows 10 中。

所以我只是启动这些应用程序的bin文件。我在 Grafana 面板中获取了logfile.log 。

带日志的 Grafana 面板

日志文件中有标记为 [INFO] 的行。
还可能有一个[ERROR]标记。我希望能够过滤面板中的行。例如,如何在面板中只显示标有[ERROR]的行?

logging prometheus grafana-loki promtail

7
推荐指数
2
解决办法
2万
查看次数

Promtail 多行不合并堆栈跟踪

Promtail、Grafana、Loki 版本是 2.4.1。运行的是 Kubernetes。

我正在关注文档

  • 日志中的异常与正则表达式匹配。(ZeroWidthSpace 位于日志行的开头)
  • 多行阶段已设置,请参阅随附的配置(promtail.yaml)

我期望错误堆栈跟踪将出现在 grafana/loki 中的单个条目中,但每一行都是一个单独的条目。我是否缺少一些配置?

# cat /etc/promtail/promtail.yaml 
server:
  log_level: info
  http_listen_port: 3101

client:
  url: http://***-loki:3100/loki/api/v1/push
  

positions:
  filename: /run/promtail/positions.yaml

scrape_configs:
  # See also https://github.com/grafana/loki/blob/master/production/ksonnet/promtail/scrape_config.libsonnet for reference
  - job_name: kubernetes-pods
    pipeline_stages:
      - multiline:
          firstline: ^\x{200B}\[
          max_lines: 128
          max_wait_time: 3s
    kubernetes_sd_configs:
      - role: pod
    relabel_configs:
      - source_labels:
          - __meta_kubernetes_pod_controller_name
        regex: ([0-9a-z-.]+?)(-[0-9a-f]{8,10})?
        action: replace
        target_label: __tmp_controller_name
      - source_labels:
          - __meta_kubernetes_pod_label_app_kubernetes_io_name
          - __meta_kubernetes_pod_label_app
          - __tmp_controller_name
          - __meta_kubernetes_pod_name
        regex: ^;*([^;]+)(;.*)?$
        action: replace
        target_label: app
      - source_labels:
          - …
Run Code Online (Sandbox Code Playgroud)

logging grafana kubernetes grafana-loki promtail

3
推荐指数
1
解决办法
6972
查看次数

删除 Loki 中日志的一部分

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

我还使用Nginx Helm Chart设置了 Nginx 。

Promtail 正在将日志很好地摄取到 Loki 中,但我想自定义日志的外观。具体来说,我想删除日志的一部分,因为它在尝试使用logfmtor jsonError: 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
Run Code Online (Sandbox Code Playgroud)

我想删除它所说的部分,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
Run Code Online (Sandbox Code Playgroud)

我发现在摄取方面可能是 Promtail 的问题,但是是否也可以在 Loki 中进行 LogQL 查询来替换该字符串?如何设置 Promtail 配置来实现所需的行为?

nginx grafana grafana-loki promtail

3
推荐指数
1
解决办法
5489
查看次数

Promtail:“发送批次时出错,将重试”status=500

启动 promtail 客户端时,出现错误: component=client host=loki:3100 msg="发送批处理时出错,将重试" status=500 error="服务器返回 HTTP 状态 500 内部服务器错误 (500): rpc 错误: code = ResourceExhausted desc = grpc:收到的消息大于最大值(6780207 与 4194304)”

promtail 配置

server:
  http_listen_port: 9080
  grpc_listen_port: 0

positions:
  filename: /tmp/positions.yaml

clients:
  - url: 'http://loki:3100/loki/api/v1/push'


scrape_configs:
  - job_name: server-log
    pipeline_stages:
    static_configs:
      - targets:
          - localhost
        labels:
          job:  server-log
          __path__: /opt/log/*.log
          __path_exclude__: /opt/log/jck_*,*.log

Run Code Online (Sandbox Code Playgroud)

我尝试开始更改服务器上的限制,并使用参数运行 promtail:

/usr/local/bin/promtail-linux-amd64 -config.file=/etc/config-promtail.yml -server.grpc-max-recv-msg-size-bytes 16777216 -server.grpc-max-concurrent-streams 0 -server.grpc-max-send-msg-size-bytes 16777216 -limit.readline-rate-drop -client.batch-size-bytes 2048576

但根据我发现的情况来看,这是一个 grpc 协议错误,或者更确切地说,是传输消息的大小错误,其中最大为 4 mb

grafana-loki promtail

3
推荐指数
1
解决办法
3559
查看次数

使用 Loki 和 Promtail 解密 Grafana 中的 Docker 容器名称

我的任务是为大约 70 个容器配置 Docker 日志监控。将所有日志合并到一个面板中并不理想,尤其是在压力测试和监控 Docker 应用程序期间。我希望能够在面板中选择 Docker 容器应用程序并查看相应的日志。我已经实现了这一点,但问题是容器名称是加密的,我需要解密它们。

我的问题是:如何使用 Loki 数据源和 Promtail 解密容器名称?

此外,我注意到 Prometheus 数据源显示解密的容器名称,但 Loki 数据源则不显示。这是我对两者的配置:

另外,我像普通应用程序一样运行 Loki 和 Promtail,并配置了 systemd 守护进程。洛基:

auth_enabled: false

server:
  http_listen_port: 3100
  grpc_listen_port: 9096


ingester:
  lifecycler:
    address: 127.0.0.1
    ring:
      kvstore:
        store: inmemory
      replication_factor: 1
    final_sleep: 0s
  chunk_idle_period: 5m
  chunk_retain_period: 30s

schema_config:
  configs:
  - from: 2021-03-08
    store: boltdb
    object_store: filesystem
    schema: v11
    index:
      prefix: index_
      period: 24h

storage_config:
  boltdb:
    directory: /tmp/loki/index
Run Code Online (Sandbox Code Playgroud)

宣传尾声:

server:
  http_listen_port: 9080
  grpc_listen_port: 0

positions:
  filename: /tmp/positions.yaml

clients:
  - url: …
Run Code Online (Sandbox Code Playgroud)

monitoring docker grafana grafana-loki promtail

3
推荐指数
1
解决办法
1456
查看次数