部署loki+promtail+grafana

记录docker-compose快速搭建PLG日志系统,promtail + loki + grafana 部分操作步骤

1.在监控的服务器上安装Loki+Grafana

loki用于存储log,grafana用于展示log。docker-compose.yaml如下。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
version: "3"

networks:
loki:

services:
# 日志存储&解析
loki:
image: grafana/loki:2.4.2
container_name: PLG-loki
#volumes:
# - /usr/app/loki/loki-server/:/etc/loki/
ports:
- "3100:3100"
command: -config.file=/etc/loki/local-config.yaml
networks:
- loki
# 日志可视化
grafana:
image: grafana/grafana:latest
container_name: PLG-grafana
ports:
- "3000:3000"
volumes:
# 挂载配置文件
- /usr/app/loki/loki-server/grafana.ini:/etc/grafana/grafana.ini
networks:
- loki

grafana.ini获取方式:先不挂载这个文件,然后启动容器后进去用docker cp复制这个文件出来。主要修改[server]下的3个配置。如下

1
2
3
4
5
6
7
8
9
# The public facing domain name used to access grafana from a browser
domain = uatapi.tecklesol.com

# The full public facing url you use in browser, used for redirects and emails
# If you use reverse proxy and sub path specify full url (with sub path)
root_url = %(protocol)s://%(domain)s:%(http_port)s/rainbow/lpg

# Serve Grafana from subpath specified in `root_url` setting. By default it is set to `false` for compatibility reasons.
serve_from_sub_path = true

domain:配置自己的域名

root_url:加上自己NGINX的后缀

serve_from_sub_path设置为true

nginx的配置如下

1
2
3
4
5
6
7
8
9
#测试环境 Loki+Promtail+Grafana
server {
listen 59565;
location / {
rewrite ^.+rainbow/lpg/?(.*)$ /$1 break;
proxy_pass http://localhost:3000/;
proxy_set_header Host $host;
}
}

2. 在客户端机,也就是要获取log的机器上配置安装promtail

docker-compose.yaml如下

1
2
3
4
5
6
7
8
9
10
11
12
version: "3"

services:
promtail:
image: grafana/promtail:2.4.2
container_name: PLG-promtail
volumes:
#把本机服务的log目录挂载进来
- /usr/app/standalone_febs/febs-cloud/log:/var/log
- $PWD:/etc/promtail/
# 覆盖新的配置文件
command: -config.file=/etc/promtail/promtail-config.yaml

配置文件promtail-config.yaml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
server:
http_listen_port: 9080
grpc_listen_port: 0

positions:
filename: /tmp/positions.yaml

clients:
# 这里表示把promtail注册到Loki,把log推去Loki中心
- url: http://192.168.94.8:3100/loki/api/v1/push

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

3.在grafana中配置data source

url配置Loki的地址http://192.168.94.8:3100

评论加载中...