# 准备服务器,1台或多台都行,这里以2台为例。
192.168.1.1 | grafana服务器,监控应用服务器docker容器日志 |
192.168.1.2 | 应用服务器 |
# 在grafana服务器(192.168.1.1)安装grafana
vi docker-compose.yml
version: "3"
#networks:
# loki:
services:
loki:
image: grafana/loki
restart: always
environment:
- TZ=Asia/Shanghai
- LANG=zh_CN.UTF-8
ports:
- 3100:3100
#networks:
# - loki
promtail:
image: grafana/promtail
restart: always
environment:
- TZ=Asia/Shanghai
- LANG=zh_CN.UTF-8
#networks:
# - loki
grafana:
image: grafana/grafana
restart: always
environment:
- TZ=Asia/Shanghai
- LANG=zh_CN.UTF-8
ports:
- 3000:3000
#networks:
# - loki
启动docker-compose up -d
打开grafana,http://192.168.1.1:3100
配置Data sources
如果loki与grafana安装在同一台机器上,输入http://loki:3100,否则输入http://ip地址:3100
# 在应用服务器(192.168.1.2)安装loki的docker plugin
docker plugin install grafana/loki-docker-driver:latest --alias loki --grant-all-permissions
docker plugin disable loki --force docker plugin upgrade loki grafana/loki-docker-driver:latest --grant-all-permissions docker plugin enable loki systemctl restart docker
# 全局收集配置,收集docker容器日志(应用服务器192.168.1.2)
vi /etc/docker/daemon.json
{
"log-driver": "loki",
"log-opts": {
"loki-url": "http://xxx.xxx.xxx.xxx:3100/loki/api/v1/push",
"max-size": "50m",
"max-file": "10"
},
"registry-mirrors":["http://hub-mirror.c.163.com"]
}
loki-url修改为grafana服务器地址,192.168.1.1。
重启docker。
sudo systemctl restart docker
接下来新创建的容器,就能在grafana上查看日志了。如果没有container_name,需要重启docker,重新创建容器。