Loki 保留期 s3 + 发电机

Loki retention period s3 + dynamo

我对 grafana-loki 中的保留机制有疑问 我需要存储一年的日志并能够查询它们 使用官方 Loki 图表在 k8s 中进行设置

下面是我的配置

  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 中会创建新的table,旧的会立即被删除吗?

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

另外一个方面是如何处理s3中chunk的retention?

请指教...

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

number_of_tables_to_keep = floor(retention_period / table_period) + 1

你的情况:

number_of_tables_to_keep = 8760 / 8760 + 1 = 2

请参阅 Loki 文档 here