1、安装插件
这里镜像的标签不要用latest,这个标签是两年前的镜像,且安装时最好把/etc/docker/daemon.json中设置的镜像源删除,不然会导致拉取不到镜像
[root@localhost ~]# docker plugin install grafana/loki-docker-driver:main --alias loki --grant-all-permissions
main: Pulling from grafana/loki-docker-driver
Digest: sha256:ff2fe930cc1a8ae1431123517d8ae5716444cf2b86b712c6fcdb37baf894db9d
e1222e361726: Complete
Installed plugin grafana/loki-docker-driver:main
安装完成之后可以查看是否安装成功
[root@localhost sim]# docker plugin ls
ID NAME DESCRIPTION ENABLED
cb840c504f21 loki:main Loki Logging Driver true
插件的其他操作:
停用
docker plugin disable loki --force
升级
docker plugin upgrade loki grafana/loki-docker-driver:latest --grant-all-permissions
启用
docker plugin enable loki
重启docker
systemctl restart docker
卸载
docker plugin disable loki --force
docker plugin rm loki
2、运行loki+grafana+promtail
下载docker-compose文件
wget https://raw.githubusercontent.com/grafana/loki/v2.8.0/production/docker-compose.yaml -O docker-compose.yaml
启动服务
docker-compose -f docker-compose.yaml up
3、配置容器日志写入loki
#docker直接部署时,可以通过–log-driver来指定为loki
docker run --rm --name=grafana --log-driver=loki --log-opt loki-url=“http://YOUR_IP:3100/loki/api/v1/push” --log-opt max-size=50m --log-opt max-file=10 grafana/grafana
–log-driver=loki 指定日志驱动器为loki
–log-opt loki-url 则指定了loki的url
–log-opt max-size 日志最大大小
–log-opt max-file 日志文件最大数量
#docker-compose启动容器时,通过/etc/docker/daemon.json文件对所有容器收集日志
{
“debug” : true,
“log-driver”: “loki”,
“log-opts”: {
“loki-url”: “http://IP:3100/loki/api/v1/push”,
“loki-batch-size”: “400”,
“loki-retries”: 5,
“max-size”: “50m”,
“max-file”: “10”
}
}
也可以单独在某个docker-compose文件中对该组容器日志进行收集
logging:
driver: loki
options:
loki-url: “http://YOUR_IP:3100/loki/api/v1/push”
max-size: “50m”
max-file: “10”
4、重新启动docker,再将容器全部重启,否则loki无法收集到日志。
docker-compose down
docker-compose up -d