Outils pour utilisateurs

Outils du site


sysadmin:docker:docker_driver_loki_troubleshooting

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
sysadmin:docker:docker_driver_loki_troubleshooting [2021/08/23 10:23] – créée yoannsysadmin:docker:docker_driver_loki_troubleshooting [2021/08/24 08:57] (Version actuelle) yoann
Ligne 1: Ligne 1:
-{{tag>software sysadmin docker loki log todo}}+{{tag>software sysadmin docker loki log troubleshooting}}
  
  
-====== Docker: Troubleshooting ======+====== Docker: Aucune journalisation produite par le driver loki ====== 
 + 
 +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:
  
 <code> <code>
 sudo journalctl -u docker.service | grep loki sudo journalctl -u docker.service | grep loki
 </code> </code>
 +
 +Ci-dessous un extrait retourné:
 +<file>
 +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
 +</file>
 +
 +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
 +
 +
 +<file YAML>
 +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
 +    ...
 +</file>
 +
 +Relancer le service docker-compose loki et vérifier que le mapping du port est correct:
 +
 +<code bash>
 +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
 +</code>
 +
 +
 +Modifier le fichier ''/etc/hosts'' du serveur exécutant le daemon Docker
 +<file>
 +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
 +</file>
 +
 +Enfin pour chaque service souhaitant transmettre les logs vers loki, spécifier le driver loki:
 +
 +<file YAML>
 +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"
 +    ...
 +</file>
 +
  
 ===== Références ===== ===== Références =====
  
   * https://stackoverflow.com/questions/65994928/docker-containers-not-logging-to-loki-using-loki-log-driver   * https://stackoverflow.com/questions/65994928/docker-containers-not-logging-to-loki-using-loki-log-driver
 +  * https://github.com/grafana/loki/issues/1368
sysadmin/docker/docker_driver_loki_troubleshooting.1629714203.txt.gz · Dernière modification : 2021/08/23 10:23 de yoann