Loki 是受 Prometheus 启发可水平可扩展,高可用的多租户日志聚合系统。它被设计得非常轻量高效且易于操作。它不索引日志的内容,而是为每个日志流设置一组标签。一个小索引和高度压缩的块简化了操作,显著降低了 Loki 的成本。
Loki 的[架构主要由以下 3 个部分组成:
- Loki 是主服务器,负责存储日志和处理查询。
- Promtail 是代理,负责收集日志并将其发送给 Loki 。
- Grafana 用于UI 展示。
helm安装loki
参考:
https://grafana.github.io/loki/charts/
https://grafana.com/docs/loki/latest/installation/helm/
添加helm repo
1 | helm repo add grafana https://grafana.github.io/helm-charts |
安装loki,如果启用持久化需自备可用storageclass
1 | helm upgrade --install loki grafana/loki-stack \ |
查看创建的pods
1 | [root@node1 ~]# kubectl -n loki-stack get pods |
查看service
1 | [root@node1 ~]# kubectl -n loki-stack get svc |
查看持久卷
1 | [root@node1 ~]# kubectl -n loki-stack get pvc |
loki查询日志
获取grafana admin用户密码
1 | kubectl get secret --namespace loki-stack loki-grafana -o jsonpath="{.data.admin-password}" | base64 --decode ; echo |
修改grafana service类型为nodeport
1 | kubectl -n loki-stack patch svc loki-grafana -p '{"spec": {"type": "NodePort"}}' |