如果用于测试或开发环境,则可以使用Docker或Docker Compose安装Loki和Promtail。对于生产,建议使用Tanka或Helm安装。
参考:https://grafana.com/docs/loki/latest/installation/docker/
mkdir -p /data/loki && cd /data/loki
wget https://raw.githubusercontent.com/grafana/loki/v1.5.0/cmd/loki/loki-local-config.yaml -O loki-config.yaml
wget https://raw.githubusercontent.com/grafana/loki/v1.5.0/cmd/promtail/promtail-docker-config.yaml -O promtail-config.yaml
docker run -d --name loki \
--restart always \
-v /data/loki:/mnt/config \
-p 3100:3100 \
grafana/loki:1.5.0 \
-config.file=/mnt/config/loki-config.yaml
docker run -d --name promtail \
--restart always \
-v /data/loki:/mnt/config \
-v /var/log:/var/log \
grafana/promtail:1.5.0 \
-config.file=/mnt/config/promtail-config.yaml
其中loki-config.yaml和promtail-config.yaml为运行Loki和Promtail的配置文件。
查看metrics数据
http://192.168.93.9:3100/metrics
查看loki运行状态为ready
http://192.168.93.9:3100/ready
从v1.5.0版本开始,image被配置为默认以用户loki的身份使用UID 10001和GID 10001运行。您可以使用其他用户,特别是在使用绑定安装时,可以通过docker run使用命令–user=UID指定UID 并使用适合您需要的数字UID来使用。
docker run -d --name=grafana \
--restart always \
-p 3000:3000 \
-v grafana-storage:/var/lib/grafana \
grafana/grafana
访问grafana,默认用户密码为admin/admin。
选择左侧设置—>Data Sources—>Add data source,搜索Loki配置HTTP URL为http://192.168.93.9:3100。
完成后选择左侧设置—>Preferences,修改底部默认时区为Asia/Shanghai。
https://github.com/grafana/loki/blob/master/docs/sources/clients/docker-driver/_index.md
主机安装插件
docker plugin install grafana/loki-docker-driver:latest --alias loki --grant-all-permissions
docker plugin ls
docker配置使用插件,修改/etc/docker/daemon.json并重启docker
{
"debug" : true,
"log-driver": "loki",
"log-opts": {
"loki-url": "http://192.168.93.9/loki/api/v1/push",
"loki-batch-size": "400"
}
}
下载docker-compose文件
wget https://raw.githubusercontent.com/grafana/loki/v1.5.0/production/docker-compose.yaml -O docker-compose.yaml
修改docker-compose文件
version: "3"
services:
loki:
image: grafana/loki:1.5.0
restart: always
ports:
- "3100:3100"
command: -config.file=/etc/loki/local-config.yaml
volumes:
- loki-config:/etc/loki
networks:
- loki
promtail:
image: grafana/promtail:1.5.0
restart: always
volumes:
- /var/log:/var/log
- promtail-config:/etc/promtail
command: -config.file=/etc/promtail/docker-config.yaml
networks:
- loki
grafana:
image: grafana/grafana
restart: always
ports:
- "3000:3000"
depends_on:
- loki
- promtail
volumes:
- grafana-storage:/var/lib/grafana
networks:
- loki
networks:
loki:
volumes:
loki-config:
promtail-config:
grafana-storage:
启动容器
docker-compose up -d
查看运行状态
# docker-compose ps
Name Command State Ports
---------------------------------------------------------------------------------
loki_grafana_1 /run.sh Up 0.0.0.0:3000->3000/tcp
loki_loki_1 /usr/bin/loki -config.file ... Up 0.0.0.0:3100->3100/tcp
loki_promtail_1 /usr/bin/promtail -config. ... Up