Loki 保留期 s3 + dynamo
Posted
技术标签:
【中文标题】Loki 保留期 s3 + dynamo【英文标题】:Loki retention period s3 + dynamo 【发布时间】:2021-07-08 10:49:34 【问题描述】:我对 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 中的新表将被创建,旧表将立即删除?
在这种情况下,我会丢失上一年的所有日志并从头开始?
另外一个方面是s3中chunk的保留如何处理?
请指教...
【问题讨论】:
【参考方案1】:不,您不会丢失上一年的所有日志并从头开始。表管理器使用以下公式保持最后一个表处于活动状态:
number_of_tables_to_keep = floor(retention_period / table_period) + 1
在你的情况下:
number_of_tables_to_keep = 8760 / 8760 + 1 = 2
请参阅 Loki 文档 here。
【讨论】:
s3 块有什么用? 它们是在 Amazon S3 服务 (en.wikipedia.org/wiki/Amazon_S3) 上创建的 Loki 块 (grafana.com/docs/loki/latest/operations/storage)。 是的,我知道什么是块以及它们在 Loki 中的作用,但没有任何关于保留块的文档 抱歉,我读的是“what is”而不是“what with”。我认为它的工作方式相同,但我不确定。以上是关于Loki 保留期 s3 + dynamo的主要内容,如果未能解决你的问题,请参考以下文章
图解下一代轻量级日志系统 Grafana Loki 工作架构