cenots7安装Loki+promtail+grafana

loki是主服务器,负责存储日志和处理查询

promtail是代理,负责收集日志并将其发送给 loki 

Grafana用于 UI 展示


1、官方网站上下载对应的loki和promatail版本包

https://github.com/grafana/loki/releases/

这里使用1.6.0版本的,最新版本的可能有点问题

https://github.com/grafana/loki/releases/tag/v1.6.0

打开链接后往下翻,找到对应你操作系统的包

我的操作是cenots7.5

所以下载的是这两个

 

2、下载后上传至服务器上,先解压promatail压缩包

unzip promtail-linux-amd64.zip

先创建下文件夹

mkdir -p /home/loki/tmp

然后去下载官网的promtail-local-config.yaml配置文件
如果下载失败,可以在浏览器上打开,只需去掉下面的前面的wget,即可

wget https://github.com/grafana/loki/blob/v1.6.0/cmd/promtail/promtail-local-config.yaml

 

promtail-local-config.yaml配置文件默认不用修改,我修改了下路径,修改信息如下:

 然后去启动promtail

注意这个启动方式,服务器关机后,服务会丢失

./promtail-linux-amd64 -config.file=promtail-local-config.yaml
(启动后新开一个窗口,因为是直接启动,并没有从后台启动,CTRL+C会停止服务)

也可以写成系统服务

vim /etc/systemd/system/promtail.service

[Unit]
Description=promtail
After=network.target

[Service]
ExecStart=/home/promtail-linux-amd64 \
-config.file=/home/promtail-local-config.yaml &>> /opt/logs/promtail-9080.log
Restart=on-failure

[Install]
WantedBy=multi-user.target

注意promtail-linux-amd64和promtail-local-config.yaml修改成对应的实际存储路径

 

systemctl start promtail

systemctl status promtail

systemctl enable promtail

 访问http://localhost:3100/api/prom/label

3、解压loki,并安装使用

unzip loki-linux-amd64

然后去下载官网的promtail-local-config.yaml配置文件
如果下载失败,可以在浏览器上打开,只需去掉下面的前面的wget,即可

wget https://github.com/grafana/loki/blob/v1.6.0/cmd/loki/loki-local-config.yaml

看下loki-local-config.yaml配置文件默认不用修改,我修改了下路径,修改信息如下:

 然后去启动loki-local-config.yaml

注意这个启动方式,服务器关机后,服务会丢失

./loki-linux-amd64 -config.file=loki-local-config.yaml

 

(启动后新开一个窗口,因为是直接启动,并没有从后台启动,CTRL+C会停止服务)

也可以写成系统服务

vim /etc/systemd/system/loki.service

[Unit]

Description=loki

After=network.target

 

[Service]

ExecStart=/home/loki-linux-amd64     -config.file=/home/loki-local-config.yaml &>> /opt/logs/loki-3100.log

Restart=on-failure

 

[Install]

WantedBy=multi-user.target

注意loki-linux-amd64和loki-local-config.yaml修改成对应的实际存储路径

systemctl start loki

systemctl status loki

 systemctl enable loki

访问下http://localhost:3100/metrics

4、通过docker安装granfana
(安装docker,可以参考这篇博客https://www.cnblogs.com/likecoke/p/13630764.html)

拉取granfana10.0.2版本

docker pull grafana/grafana:10.0.2

启动grafana容器

docker run -d --name=grafana -p 3000:3000 grafana/grafana:10.0.2

5、通过granfana去添加上Loki

访问服务器IP:3000

默认用户和密码都为admin

首次登录会修改密码

登录后,依次点击Home adminostration

然后点击Data sources 去添加新的数据源

 

 

 往下翻,找到Loki,点击

 

 

 然后填写对应的信息

写入名字,Loki的访问地址

 

 

往下翻,找到save&test

 出现这个信息,证明添加成功

 然后去测试下

点击Explore

依次选择

filename

/var/log/maillog

关键词输入

a

然后回车或者点击右上角的 Run query

往下翻,可以看到过滤/var/log/maillog所有带有a字符串的日志

 

 

以下为扩展,因为有公司的需求是监控多个日志文件,例如还需监控nginx的error和access日志,那么怎么实现呢?

只需在promtail-local-config.yaml文件里添加以下配置即可

vim promtail-local-config.yaml

server:
http_listen_port: 9080
grpc_listen_port: 0

positions:
filename: /home/loki/tmp/positions.yaml

clients:
- url: http://localhost:3100/loki/api/v1/push

scrape_configs:
- job_name: system-logs
static_configs:
- targets:
- localhost
labels:
job: var-log
__path__: /var/log/*.log

- job_name: nginx-logs
static_configs:
- targets:
- localhost
labels:
job: nginx-access
__path__: /usr/local/nginx/logs/access.log

- targets:
- localhost
labels:
job: nginx-error
__path__: /usr/local/nginx/logs/error.log

 

然后我们登录到granfana监控页面,和上面的步骤一样

 

 

 

posted @ 2023-07-14 10:27  宝英姐姐  阅读(815)  评论(0编辑  收藏  举报