Grafana Loki 是什么
Loki是由Grafana Labs开源的一个水平可扩展、高可用性,多租户的日志聚合系统的日志聚合系统。它的设计初衷是为了解决在大规模分布式系统中,处理海量日志的问题。Loki采用了分布式的架构,并且与Prometheus、Grafana密切集成,可以快速地处理大规模的日志数据。该项目受 Prometheus 启发,官网地址:grafana.com/oss/loki/
- Promtail是代理,负责收集日志并将其发送给 Loki 。
- Loki 是主服务器,负责存储日志和处理查询。
- Grafana则 用于 UI 展示。
为什么使用 Grafana Loki?
环境部署
1.创建文件夹
mkdir evaluate-loki
cd evaluate-loki
2.下载安装文件
wget https://raw.githubusercontent.com/grafana/loki/main/examples/getting-started/loki-config.yaml -O loki-config.yaml
wget https://raw.githubusercontent.com/grafana/loki/main/examples/getting-started/promtail-local-config.yaml -O promtail-local-config.yaml
wget https://raw.githubusercontent.com/grafana/loki/main/examples/getting-started/docker-compose.yaml -O docker-compose.yaml
3.在evaluate-loki目录,使用docker-compose启动服务
docker-compose up -d
可以看到相关组件已启动
4.访问http://localhost:3101/ready
进行验证,如果返回ready
则成功
使用 Grafana 进行查询验证
访问http://localhost:3000 访问 Grafana来查询和观察 Loki 集群的日志数据,Grafana 已经默认把 Loki 配置为数据源。
访问expore,输入以下指令,查询容器evaluate-loki-flog-1的日期数据,这里用的语法是LogQL
语法
{container="evaluate-loki-flog-1"}
查询所有Get 请求日志数据
{container="evaluate-loki-flog-1"} |= "GET"
查询接口/engage/content/seize
的请求数据
{container="evaluate-loki_flog_1"} |= `/engage/content/seize`
更多示例请查看
grafana.com/docs/loki/l…