日志收集系统还是有很多种可供选择,但是loki是一个开源项目,有水平扩展、高可用性、多租户日志收集聚合系统,特别适合k8s中pod日志的收集。据说灵感来源于prometheus,可以认为是日志版的prometheus,今天就来研究一番。
(1)promtail 主要负责日志的采集、提取、过滤、匹配,批量push到loki,相当于日志收集客户端
(2)loki:就是接收来自于Promtail推送的日志,有很多组成组件,相当于日志收集服务端
(3)grafana 这个大家都比较熟悉了,就是用来日志展示的面板
可以使用二进制部署,之前文章写过,可以看一下。还可以使用安装脚本分别安装loki以及promtail。在k8s环境汇总,可以直接使用helm 部署工具部署。
(1)添加charts库
(2)更新charts库
如果按上面两步,安装的grafana版本比较老,是6的版本,或者直接更新grafana源,安装后版本就比较新应该是8的版本。
(3)下载包并解压,修改values.yaml根据需求改动
helm pull loki/loki –untar
vim values.yaml
(4)安装
helm install loki -f values.yaml . -n loki
helm install promtail loki/promtail --set "loki.serviceName=loki" -n loki
(5)安装grafana,可以yum 或者helm
添加garafana源,直接yum安装即可,yum安装的版本就比较新了,大概是9的版本
[grafana]
name=grafana
baseurl=https://packages.grafana.com/oss/rpm
repo_gpgcheck=1
enabled=1
gpgcheck=1
gpgkey=https://packages.grafana.com/gpg.key
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
(6)用helm安装,需要安装grafana/loki-stack 打开grafana配置,改为nodeport类型,修改一下密码即可
(1)面板展示
如果是通过helm安装的,这边datasource是直接添加好的,下图一个是版本低一点的一个是版本高一点的,操作方式稍有不同
(2)搜索对应日志
选择对应的标签,然后找到对应的pod应用,点击show logs就可以查看对应日志了
(3)设置日志行数,最大不超过5000行
(4)查看查询历史
好了,到这里对于使用grafana查看loki日志,应该有一个大致了解了,快去实践吧,祝学习顺利!
END
作者|希里安