1

我对 grafana-loki 中的保留机制有疑问,我需要存储一年的日志并能够查询它们 Setup is in k8s with the official Loki chart

下面是我的配置

  auth_enabled: false
  ingester:
    chunk_idle_period: 5m
    chunk_block_size: 262144
    chunk_retain_period: 1m
    # max_transfer_retries: 0
    lifecycler:
      ring:
        kvstore:
          store: inmemory
        replication_factor: 1
  limits_config:
    enforce_metric_name: false
    reject_old_samples: true
    reject_old_samples_max_age: 168h
  schema_config:
    configs:
      - from: 2020-05-15
        store: aws
        object_store: s3
        schema: v11
        index:
          prefix: loki_index_prod_
          period: 8760h
          tags:
            env: prod-loki
  server:
    http_listen_port: 3100
  storage_config:
    aws:
      s3: s3://us-east-1/loki-prod-t
      s3forcepathstyle: true
      dynamodb:
        dynamodb_url: dynamodb://us-east-1
  table_manager:
    index_tables_provisioning:
      inactive_read_throughput: 5
      inactive_write_throughput: 5
      provisioned_write_throughput: 10
      provisioned_read_throughput: 10
    chunk_tables_provisioning:
      inactive_read_throughput: 5
      inactive_write_throughput: 5
      provisioned_write_throughput: 10
      provisioned_read_throughput: 10
    retention_deletes_enabled: true
    retention_period: 8760h
    creation_grace_period: 24h

现在保留配置为一年,但是当保留期限退出时,dynamodb 中的新表将被创建,旧表将立即删除?

在这种情况下,我会丢失上一年的所有日志并从头开始?

另一个方面是如何处理s3中chunk的保留?

请指教 ...

4

1 回答 1

0

不,您不会丢失上一年的所有日志并从头开始。表管理器使用以下公式保持最后一个表处于活动状态:

number_of_tables_to_keep = floor(retention_period / table_period) + 1

在你的情况下:

number_of_tables_to_keep = 8760 / 8760 + 1 = 2

请参阅此处的 Loki 文档。

于 2021-04-13T14:38:41.800 回答