loki, prometheus监控 & grafana仪表
概览:
镜像下载
1 2 3 4 5 6 7 8
| docker pull grafana/loki:2.4.2 docker pull grafana/promtail:2.4.2 docker pull grafana/grafana:8.2.6
docker pull prom/node-exporter:latest docker pull prom/prometheus:v2.35.0
|
官方文档
grafane
grafana loki
prometheus
启用loki
若需要全局使用loki推送docker日志,需要下载docker loki插件
1
| docker plugin install grafana/loki-docker-driver:latest --alias loki --grant-all-permissions
|
loki可以全局启用,也可以对特定容器启用。
全局启用
1 2 3 4 5 6 7 8
| [root@primary ~]# cat /etc/docker/daemon.json { "log-driver": "loki", "log-opts": { "loki-url": "http://localhost:3100/loki/api/v1/push", "loki-batch-size": "400" } }
|
特定使用
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| version: "3.9"
services: nginx: image: nginx:1.21.6-alpine networks: - ingress ports: - "80:80" - "443:443" configs: - source: nginx target: /etc/nginx/nginx.conf volumes: - ./conf.d:/etc/nginx/conf.d logging: driver: loki options: loki-url: "http://localhost:3100/loki/api/v1/push" loki-batch-size: "400" loki-retries: 3
|
swarm配置
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 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
| version: "3.9"
services: grafana: image: grafana/grafana:8.2.6 user: root ports: - "3000:3000" volumes: - /data/grafana:/var/lib/grafana configs: - source: grafana target: /etc/grafana/grafana.ini
loki: image: grafana/loki:2.5.0 user: root ports: - "3100:3100" command: -config.file=/etc/loki/local-config.yaml volumes: - /data/loki:/loki configs: - source: loki target: /etc/loki/local-config.yaml
promtail: image: grafana/promtail:2.5.0 user: root volumes: - /var/run/docker.sock:/var/run/docker.sock command: -config.file=/etc/promtail/config.yml configs: - source: promtail target: /etc/promtail/config.yml prometheus: image: prom/prometheus:v2.34.0 command: --config.file=/etc/prometheus/prometheus.yml --web.route-prefix=/ --web.external-url=https://<domain>/prometheus user: root ports: - "9090:9090" volumes: - /data/prometheus:/prometheus configs: - source: prometheus target: /etc/prometheus/prometheus.yml
node-exporter: image: prom/node-exporter:latest command: - '--path.procfs=/host/proc' - '--path.rootfs=/rootfs' - '--path.sysfs=/host/sys' - '--collector.filesystem.mount-points-exclude=^/(sys|proc|dev|host|etc)($$|/)' volumes: - /proc:/host/proc - /sys:/host/sys - /:/rootfs - /etc/localtime:/etc/localtime
configs: loki: file: ./loki/local-config.yaml promtail: file: ./promtail/docker-config.yaml prometheus: file: ./prometheus/prometheus.yml grafana: file: ./grafana/grafana.ini
|
Hi there, I’m Mardan(ka1i).