Loki部署AWS ECS Fargate报yaml解析错误,容器反复重启该如何排查?
问题根因
你遇到的报错是因为Loki版本和配置结构不匹配:
你当前使用的Loki版本低于2.4.0,该版本范围内compactor是storage_config的子配置项,不能作为顶级配置项单独放置,所以解析配置时会抛出field compactor not found in type storage.Config的错误。
解决方法
二选一即可:
方案1(兼容性最优,无需改镜像版本)
将你配置里独立的顶级compactor代码块,移动到storage_config下作为子字段,修改后的storage_config部分如下:
storage_config: aws: s3: s3://XXXXX:YYYY@eu-west-1/logs-loki-test boltdb_shipper: active_index_directory: /loki/boltdb-shipper-active cache_location: /loki/boltdb-shipper-cache cache_ttl: 24h shared_store: s3 # 把compactor配置移到此处 compactor: working_directory: /loki/boltdb-shipper-compactor shared_store: aws
修改完成后删除原来的顶级compactor配置块即可。
方案2
将你的Loki容器镜像版本升级到2.4.0及以上版本,该版本开始支持compactor作为顶级配置项使用,原有配置无需调整即可生效。
额外校验建议
修改完配置后可以提前在本地运行命令loki --config.verify-config --config.file=./loki-config.yaml校验配置合法性,避免部署到ECS后才发现配置错误。
内容的提问来源于stack exchange,提问作者Ashish Karpe
相关产品推荐
相关产品推荐

