5 分钟体验下一代轻量级日志分析系统Loki

发布时间:2023年12月24日

公众号「架构成长指南」,专注于生产实践、云原生、分布式系统、大数据技术分享

Grafana Loki 是什么

Loki是由Grafana Labs开源的一个水平可扩展、高可用性,多租户的日志聚合系统的日志聚合系统。它的设计初衷是为了解决在大规模分布式系统中,处理海量日志的问题。Loki采用了分布式的架构,并且与Prometheus、Grafana密切集成,可以快速地处理大规模的日志数据。该项目受 Prometheus 启发,官网地址:https://grafana.com/oss/loki/

  • Promtail是代理,负责收集日志并将其发送给 Loki 。
  • Loki 是主服务器,负责存储日志和处理查询。
  • Grafana则 用于 UI 展示。

为什么使用 Grafana Loki?

  1. 入门非常简单:可以使用各种客户端从任何来源发送任何格式的日志
  2. 没有采集日志格式要求:提供了更大的灵活性以及在查询时格式化的选项
  3. 轻量级:相比ELK,Loki更加轻量级,因为它不需要一个单独的Elasticsearch集群来存储和索引日志数据。
  4. 高度可扩展性:Loki可以通过添加更多的Loki实例来实现水平扩展,这使得它更容易处理大量的日志数据。
  5. 与 Prometheus、Grafana 和 K8s 原生集成:可以在单个用户界面中无缝切换查询指标、日志等数据
  6. 根据日志生成告警:可以从日志行构建指标并生成告警

环境部署

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`

更多示例请查看

https://grafana.com/docs/loki/latest/query/query_examples/

文章来源:https://blog.csdn.net/dweizhao/article/details/135185850
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。