loki简介
Grafana Loki 是一组组件,可以组合成一个完整的日志堆栈。
与其他日志系统不同,Loki 的设计理念是只索引日志的元数据:标签(就像 Prometheus 标签一样)。日志数据本身则会被压缩并分块存储在对象存储中,如 S3 或 GCS,甚至可以存储在本地文件系统中。一个小的索引和高度压缩的数据块简化了操作,并大大降低了 Loki 的成本。
准备
- Kubernetes
- Helm
- Kubeapps(Optional)
安装
导入bitnami repo
helm repo add bitnami https://charts.bitnami.com/bitnami
helm repo update
准备chart values
完整的原始值可以通过helm命令查看
helm show values bitnami/grafana-loki
需要修改的地方
global:
storageClass: "${YourStorageClass}"
compactor:
persistence:
size: 20Gi
ingester:
persistence:
size: 20Gi
querier:
persistence:
size: 20Gi
ruler:
persistence:
size: 20Gi
执行安装
helm install ${RELEASE_NAME} bitnami/grafana -f values.yaml
使用
添加 data source
打开 Grafana,找到 Data sources,添加 datasource,选择 loki。
url 填入 http://${RELEASE_NAME}-grafana-loki-gateway
RELEASE_NAME 是 helm 安装名称
打开 explore
Datasource 选择 loki,选择 label app="grafana",就可以看到 grafana 应用输出到console的日志了,loki 默认收集了容器输出到 console 的日志,如果需要收集容器里的文件日志,需要配置其他日志收集方式。
总结
现在我们可以愉快地使用 loki + grafana 查看容器日志了,loki 是一个比较轻量的日志收集方案,配置比较简单,使用起来比较方便,非常适合日常使用。