Loki 选项控制日志写入 S3 存储的频率?

问题描述 投票:0回答:1

我一直在阅读 Loki 文档,了解哪些选项控制日志写入 S3 存储的频率。

我从 Loki 配置文件开始,如下所示。

auth_enabled: false

server:
  http_listen_port: 3100
  grpc_listen_port: 9095
  log_level: info

common:
  path_prefix: /tmp/loki
  storage:
    s3:
      endpoint: X.X.X.X:30008
      insecure: true
      bucketnames: my-bucket-name
      access_key_id: XXXXXXX
      secret_access_key: XXXXXXX
      s3forcepathstyle: true

schema_config:
  configs:
  - from: 2020-08-01
    store: boltdb-shipper
    object_store: s3
    schema: v11
    index:
      prefix: index_
      period: 24h

在一段时间过去后,我看到

fake/11316bdf153415ec:18d248d36be:18d2492d645:348666c5
已写入S3存储。 例如,

$ mc ls --recursive myminio/my-loki-bucket
[2024-01-21 06:52:12 EST] 1.4KiB STANDARD fake/11316bdf153415ec:18d248d36be:18d2492d645:348666c5
[2024-01-21 06:52:11 EST] 2.5KiB STANDARD fake/3fa58a19fcb4b23a:18d248d36be:18d2492d646:53cf855c
[2024-01-21 06:52:11 EST] 1.5KiB STANDARD fake/439ea18af3ada610:18d248d36be:18d2492d645:3463302d
[2024-01-21 06:52:12 EST] 1.9KiB STANDARD fake/92b5be2511cd48ac:18d248d36be:18d2492d645:8eb74106
[2024-01-21 06:52:11 EST] 2.4KiB STANDARD fake/b9675d064b0a6f66:18d248d36be:18d2492d646:c73cb1da
[2024-01-21 06:52:11 EST] 2.5KiB STANDARD fake/c6d436cdc54ed457:18d248d36be:18d2492d646:b103cffd
[2024-01-21 06:52:11 EST] 1.4KiB STANDARD fake/db4bf7dd2fd629f1:18d248d36be:18d2492d645:78d6476e
[2024-01-21 10:05:19 EST]   135B STANDARD index/delete_requests/delete_requests.gz
[2024-01-21 07:08:07 EST] 1.5KiB STANDARD index/index_19742/compactor-1705838887.gz
[2024-01-20 08:39:21 EST]   198B STANDARD loki_cluster_seed.json

出于测试目的,我想知道如何尽快将这些日志写入S3存储。

有人可以告诉我要使用的 Loki 选项吗?

我尝试通过向配置文件添加几个选项来进行实验,如下所示:

compactor:
  working_directory: /tmp/compactor
  apply_retention_interval: 1m
  compaction_interval: 1m
  retention_enabled: true
  retention_delete_delay: 2h
  retention_delete_worker_count: 150
limits_config:
  retention_period: 24h
  ingestion_rate_mb: 20
  ingestion_burst_size_mb: 30
  per_stream_rate_limit: "1MB"
  per_stream_rate_limit_burst: "2MB"

ingester:
  lifecycler:
    ring:
      kvstore:
        store: memberlist
      replication_factor: 1
  max_chunk_age: 30s
  chunk_idle_period: 30s
  chunk_target_size: 64000
  chunk_retain_period: 60s
  chunk_encoding: gzip
  chunk_block_size: 2048
  flush_op_timeout: 10s
  concurrent_flushes: 8

我将大量数据附加到我的

/var/log/test.log
,这些数据正在被
promtail
抓取,希望达到某个限制,迫使日志写入我的 minio
S3
存储,但 15 分钟后,
mc ls --recursive myminio/my-loki-bucket
不显示任何写入的日志。

我期待

mc ls --recursive myminio/my-loki-bucket
显示新的日志文件。

grafana-loki
1个回答
0
投票

对我来说,它可以将以下内容添加到配置

yaml
文件中:

ingester:
  lifecycler:
    ring:
      kvstore:
        store: inmemory
      replication_factor: 1
  chunk_idle_period: 10s
  chunk_retain_period: 20s
  max_chunk_age: 30s
  • chunk_idle_period
    :如果块空闲(没有新的日志条目)10秒,它们将被刷新到S3存储。
  • chunk_retain_period
    :块将在内存中保留 20 秒,然后才有资格被刷新。
  • max_chunk_age
    :如果块超过 30 秒,无论活动如何,都将被刷新。
© www.soinside.com 2019 - 2024. All rights reserved.