Les services docker-compose sont paramétrés pour communiquer avec le service loki mais aucun log n'est intégré dans la base Loki, elle reste vide.
Visionner les journaux système à la recherche des traces produites par le daemon docker et loki:
sudo journalctl -u docker.service | grep loki
Ci-dessous un extrait retourné:
août 23 08:54:48 phobos dockerd[2378]: time="2021-08-23T08:54:48Z" level=info msg="level=error ts=2021-08-23T08:54:48.248210233Z caller=client.go:355 container_id=5815df036ed5d2a480b3058587a7643757da8c32bc043844f6ec5db621236517 component=client host=loki:3100 msg=\"final error sending batch\" status=-1 error=\"Post \\\"http://loki:3100/loki/api/v1/push\\\": dial tcp: lookup loki on 91.224.149.254:53: no such host\"" plugin=d8c20ad5025304cb7b7b1768e1439d004a9ce704159b4acba37ec4636192572c
Le message indique une erreur de communication avec l’hôte de destination. Il faut noter que ce n'est pas directement le service qui communique avec Loki mais le daemon Docker. Pour que la communication puisse se faire on modifie la configuration du service docker-compose loki afin qu'il écoute sur la boucle locale uniquement ainsi seules les applications locales y auront accès
version: "3.3" loki: image: grafana/loki:2.3.0 restart: unless-stopped ports: - "127.0.0.1:3100:3100/tcp" command: -config.file=/mnt/loki-config.yaml ...
Relancer le service docker-compose loki et vérifier que le mapping du port est correct:
docker-compose ps Name Command State Ports -------------------------------------------------------------------------------------------------- monitoring_cadvisor_1 /usr/bin/cadvisor -logtostderr Up (healthy) 8080/tcp monitoring_grafana_1 /run.sh Up 3000/tcp monitoring_loki_1 /usr/bin/loki -config.file ... Up 127.0.0.1:3100->3100/tcp
Modifier le fichier /etc/hosts
du serveur exécutant le daemon Docker
127.0.0.1 localhost loki.local loki # The following lines are desirable for IPv6 capable hosts ::1 ip6-localhost ip6-loopback fe00::0 ip6-localnet
Enfin pour chaque service souhaitant transmettre les logs vers loki, spécifier le driver loki:
version: "3.3" ... dokuwiki: image: bitnami/dokuwiki:latest depends_on: - traefik restart: unless-stopped logging: driver: loki options: loki-url: "http://loki.local:3100/loki/api/v1/push" loki-batch-size: "10" loki-retries: "5" ...