评测Loki日志工具

目录评测Loki日志工具部署Loki配置grafana总结:优势:劣势:

本文仅对Loki进行简单评测,不涉及原理和细节。

部署Loki

Loki是grafana团队开发一个日志采集工具。推荐使用helm方式安装loki,官方推荐的tanka需要使用aws的s3服务。安装helm后直接运行如下命令即可在loki命名空间中部署最简单的loki套件。

# helm repo add loki https://grafana.github.io/loki/charts
# helm upgrade --install loki loki/loki-stack 

使用如下命令可以查看loki支持的charts

# helm search repo loki
NAME            CHART VERSION   APP VERSION     DESCRIPTION
loki/loki       0.30.1          v1.5.0          Loki: like Prometheus, but for logs.
loki/loki-stack 0.38.1          v1.5.0          Loki: like Prometheus, but for logs.
loki/fluent-bit 0.1.4           v1.5.0          Uses fluent-bit Loki go plugin for gathering lo...
loki/promtail   0.23.2          v1.5.0          Responsible for gathering logs and sending them...

如果使用openshift平台,则需要进行scc授权

# oc adm policy add-scc-to-user privileged -z loki
# oc adm policy add-scc-to-user privileged -z loki-promtail

如果promtail pod因为权限问题无法读取hostpath挂载的目录,直接给promtail daemonset使用的serviceaccount loki-promtail授权privileged权限即可。

如果grafana是集群外部的,需要配置ingress,以访问Loki。openshift直接创建router即可。

配置grafana

参考官方配置文档

部署好Loki之后,在grafana中配置Loki的datasource

评测Loki日志工具-风君雪科技博客

在exporter中就可以通过Loki自动生成的标签查看日志信息。

评测Loki日志工具-风君雪科技博客

目前grafana仅有Logs dashboard支持Loki,如果要使用图表的话只能通过explore,相对不那么方便,且exolore的图表无法保存。另外grafana的Logs dashboard可以支持简单的检索过滤,实现方式参考该文

评测Loki日志工具-风君雪科技博客

总结:

优势:

Loki日志系统相比传统的ELK要轻便很多,其使用了类似Prometheus的方式进行日志的匹配过滤等,日志采集查看的思路很新颖。

劣势:

受制于该工具比较新,很多地方还待完善。如dashboard对Loki的支持力度远远不够,基于Loki日志的告警目前也很不方便

相信在后续的版本解决和完善这些不便之处后,Loki会成为一个非常好用的工具。此外,在官方的explore介绍中可以看到,grafana还对Tracing进行了集成,由此看到,grafana最终的目标可能是实现log,metric和tracing的大统一。