最近要做一个日志收集系统,有几种思路,一个是比较流行的ELK,还有一个python脚本自己编写收集,ELK已经有了,python有点麻烦,但是对于容器日志该怎么收集呢,我搜来搜去,感觉这个loki不错,就开始安装这个loki+grafana的系统。
首先了解下loki是啥,可以百度下,总之就是相比于prometheus来说就是简单易用且轻便。loki本身是包含loki服务端,就是用来存储日志,promtail就是用来收集日志发给loki的,相当于filebeat中的agent。
安装方式我知道的大概有这么几种,二进制安装,yum安装、docker安装、helm安装,后期我会按各种方式各写一篇,今天先写二进制的方式,他们之间的区别在后面安装完就知道了。
环境:centos7
grafana:7.1.0.1
loki: 2.1.1
不管安装啥首先得有安装包,还得有安装的地方,一般装在/usr/local/目录下,也可以自己建一个目录,这个人喜好
cd /usr/local
获取loki服务端 客户端promtail两个软件包,版本
wget https://github.com/grafana/loki/releases/download/v2.1.1/loki-linux-amd64.zip
wget https://github.com/grafana/loki/releases/download/v2.1.1/promtail-linux-amd64.zip
解压出来
unzip loki-linux-amd64.zip
unzip promtail-linux-amd64.zip
分别给予执行权限(所有用户)
chmod a+x loki-linux-amd64
chmod a+x promtail-linux-amd64
再下载grafana展示面板
wget https://dl.grafana.com/oss/release/grafana-7.1.0-1.x86_64.rpm
然后yum安装grafana
sudo yum -y install grafana-7.1.0-1.x86_64.rpm
启动grafana服务
systemctl start grafana-server.service
看一下起来没
systemctl status grafana-server.service
然后得干啥,得修改一下loki和promtail的配置文件,不能直接拿来就用,毕竟环境都不一样
配置文件哪里有那?这是个好问题,下载
https://github.com/grafana/loki/tree/master/cmd/loki
loki-local-config.yaml里面需要注意下监听端口,地址,还有你想保存多久的日志,这里没法放代码,不行私信我给你
好了配置好loki-local-config.yaml,再修改promtail配置文件
https://github.com/grafana/loki/blob/master/cmd/promtail
promtail-local-config.yaml这个配置很关键,你去哪里收集日志,地址_path_: 一定要配置正确,才能收集到日志。好了,这里修改有问题的也可以私信留言
分别启动loki和promtail:
./loki-linux-amd64 -config.file=./loki-local-config.yaml
./promtail-linux-amd64 -config.file=./promtail-local-config.yaml
这样启动意思就是按照配置的启动,但是你要是退出去就停止了,怎么让他后台启动呢
nohup ./loki-linux-amd64 -config.file=./loki-local-config.yaml &
nohup ./promtail-linux-amd64 -config.file=promtail-local-config.yaml &
启动后,打开浏览器输入grafan的地址,一般是ip:3000.进入后找
齿轮状哪里添加data source添加loki,
这里写的loki的地址,然后save&test,就是保存并测试,有绿色对钩意思就是对了。在去看界面,就有日志了,这里就算大功告成了,简单吧!