生产环境部署清单
介绍
在生产环境中部署Grafana Loki时,需要综合考虑性能、可靠性和安全性。本清单将指导您完成关键配置步骤,帮助您避免常见陷阱。无论您是单节点部署还是分布式集群,这些实践都能确保日志系统的稳定性。
适用版本
本文基于Loki 2.8+版本,部分建议可能不适用于旧版本。
1. 硬件资源配置
计算资源
- 最低配置(测试环境):
2 CPU核心 / 4GB内存 / 50GB存储
- 生产推荐:
8+ CPU核心 / 32GB+内存 / 500GB+ SSD存储(每节点)
存储选择
注意
避免使用网络附加存储(NAS),本地SSD能显著提升索引性能
2. 部署架构选择
单节点模式(适合中小规模)
# docker-compose.yml 示例
services:
loki:
image: grafana/loki:2.8.0
command: -config.file=/etc/loki/local-config.yaml
微服务模式(大规模部署)
关键组件配置建议:
- Ingester:启用WAL(Write-Ahead Log)
ingester:
wal:
enabled: true
dir: /loki/wal
3. 安全配置
基础安全措施
-
启用TLS加密:
server:
http_listen_port: 3100
grpc_listen_port: 9095
http_tls_config:
cert_file: /path/to/cert.pem
key_file: /path/to/key.pem -
身份验证配置(推荐JWT):
auth_enabled: true
重要
永远不要在生产环境使用disable_validation: true
4. 数据保留策略
分层保留配置示例
compactor:
working_directory: /loki/compactor
retention_enabled: true
retention_delete_delay: 2h
retention_delete_worker_count: 10
storage_config:
gcs:
bucket_name: loki-storage
retention_period: 720h # 30天
最佳实践
- 热数据:保留7天(本地SSD)
- 温数据:保留30天(对象存储)
- 冷数据:归档处理
5. 监控与告警
必须监控的指标
- 日志摄入速率:
rate(loki_distributor_bytes_received_total[1m])
- 查询延迟:
histogram_quantile(0.99, sum(rate(loki_query_frontend_duration_seconds_bucket[1m])) by (le))
Prometheus告警规则示例:
- alert: HighIngestionErrors
expr: rate(loki_ingester_samples_failures_total[1m]) > 0
for: 5m