简介

​ Loki 是 Grafana Labs 团队最新的开源项目,是一个水平可扩展,高可用性,多租户的日志聚合系统。它的设计非常经济高效且易于操作,因为它不会为日志内容编制索引,而是为每个日志流编制一组标签,专门为 Prometheus 和 Kubernetes 用户做了相关优化。该项目受 Prometheus 启发,官方的介绍就是: Like Prometheus,But For Logs.,类似于 Prometheus 的日志系统;

项目地址:https://github.com/grafana/loki/

与其他日志聚合系统相比, Loki 具有下面的一些特性:

  • 不对日志进行全文索引。通过存储压缩非结构化日志和仅索引元数据,Loki 操作起来会更简单,更省成本。
  • 通过使用与 Prometheus 相同的标签记录流对日志进行索引和分组,这使得日志的扩展和操作效率更高,能对接alertmanager;
  • 特别适合储存 Kubernetes Pod 日志; 诸如 Pod 标签之类的元数据会被自动删除和编入索引;
  • 受 Grafana 原生支持,避免kibana和grafana来回切换;

img

  • 组件说明

Promtail :作为采集器,类比filebeat

loki:相当于服务端,类比es

  • loki进程包含四种角色

querier 查询器

inester 日志存储器

query-frontend 前置查询器

distributor 写入分发器

可以通过loki二进制的 -target 参数指定运行角色

1)部署

环境准备:

  • k8s集群
  • helm
# 已经部署了 Kubernetes 集群,并安装配置了 Helm 客户端

# 添加 repo 并更新
helm repo add grafana https://grafana.github.io/helm-charts
helm repo update

# 注意这里后面是 -stack 的是默认打包好在一起的,没stack的是默认只有 loki 的,自定义安装请参考官网给出的命令
helm upgrade --install loki --namespace=loki grafana/loki-stack

# 安装 grafana
helm install loki-grafana --namespace=loki grafana/grafana

# 确保所有的pod为running状态
# 查看grafana登录密码
kubectl get secret --namespace loki loki-grafana -o jsonpath="{.data.admin-password}" | base64 --decode ; echo
hgC9VILMWiG39L5xU6jungBnfV0je7Q1wrzN2qLP

# 将loki-grafana的service改为nodeport类型
kubectl patch svc loki-grafana -n loki -p '{"spec": {"type": "NodePort"}}'

[root@k8s-master-4 ~]# kubectl get svc -n loki
NAME               TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)        AGE
loki-grafana       NodePort    10.106.225.152   <none>        80:31896/TCP   12d
loki1              ClusterIP   10.109.19.211    <none>        3100/TCP       12d
loki1-headless     ClusterIP   None             <none>        3100/TCP       12d
loki1-memberlist   ClusterIP   None             <none>        7946/TCP       12d
[root@k8s-master-4 ~]# kubectl get po -n loki
NAME                            READY   STATUS    RESTARTS   AGE
loki-grafana-57d45f9b45-lcl8l   1/1     Running   2          12d
loki1-0                         1/1     Running   2          12d
loki1-promtail-5wzmp            1/1     Running   2          12d
loki1-promtail-b6k2z            1/1     Running   2          12d
loki1-promtail-g85km            1/1     Running   2          12d

访问

http://192.168.76.4:31896/
用户名密码:
admin/hgC9VILMWiG39L5xU6jungBnfV0je7Q1wrzN2qLP

2)数据源配置

img

3)查看日志

img

根据自己的需求写查询语句,然后点击run query就能看到查询的日志啦

img

更多推荐