一、 Loki介绍
1、 Loki是一个水平可扩展、高可用性、轻量易用、多租户的日志聚合系统,它的设计非常经济高效且易于操作,因为它不会为日志内容编制索引,而是为每一个日志流编制一组标签,项目是受Prometheus启发,专门为Prometheus和k8s用户做了相关优化。
2、 Loki的架构非常简单,主要由以下三部分组成: ①,Loki:主服务器,负责存储日志和处理查询,类似于es,使用了和Prometheus相同的服务发现机制,将标签添加到日志流中而不是构建全文索引。因此,从promtail接收到的日志和应用的metrics指标就具有相同的标签集。它不仅提供了更好的日志和指标之间的上下文切换,还避免了对日志进行全文索引。
②,promtail:采集端,负责采集日志发送给Loki,类似于filebeat,该工具主要包括发现采集目标以及给日志流添加上label标签,然后发送给Loki。promtail的服务发现是基于Prometheus的服务发现机制实现的。
③,grafana(大家都已很熟悉了):负责采集日志的展示,支持非常丰富的数据源。在Loki技术栈中grafana主要用来展示来自Prometheus和Loki等数据源的时间序列数据,还允许进行查询、可视化、告警等操作,可以在页面查询指定标签pod的日志。
二,安装helm
注:Loki提供了helm的安装方式,可以直接下载包进行安装,所以先进行helm的安装(master节点安装)
1,下载helm安装包
图片
2、 解压安装包,并将helm的可执行命令移动到/usr/bin/目录下(安装简单)
图片
3、 设置helm的自动补全
图片
4、 验证是否安装成功
三,部署Loki
1、 添加helm源(仓库)
2、下载helm的charts 注:也可以直接安装,因需要修改一些配置,可以选择先下载到本地
2、 解压
4、修改主配置文件(资源文件),启用grafana
图片
5、安装部署应用并查看资源
先创建一个名为loki的命名空间
图片
此时grafana的service类型为clusterip,需要修改类型为nodeport,以供外网访问
图片
6、 通过edit修改grafana的service类型
四、 访问
1、 先获取登录密码
2、 登录,任一节点ip+端口 用户为admin,密码为命令行获取到的密码
图片
默认已经添加了Loki数据源
图片
3、 导入模板
可以到官网下载
grafana模板官网:https://grafana.com/grafana/dashboards/?search=linux
导入下载的模板,并选择Loki数据源
图片
日志展示
图片
图片