Outils pour utilisateurs

Outils du site


sysadmin:linux:logs:visualisation_des_logs_loki_grafana

Différences

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

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
sysadmin:linux:logs:visualisation_des_logs_loki_grafana [2021/08/22 10:38] yoannsysadmin:linux:logs:visualisation_des_logs_loki_grafana [2021/10/25 14:30] (Version actuelle) yoann
Ligne 14: Ligne 14:
  
 ===== Installation de Loki ===== ===== Installation de Loki =====
 +
 +==== Test de l'image ====
 +
 +L'image docker est disponible sur le Hub à l'URL https://hub.docker.com/r/grafana/loki
 +Télécharger l' image docker:
 +
 +<code bash>
 +docker image pull grafana/loki:2.3.0
 +</code>
 +
 +Création d'un conteneur de test
 +
 +<code bash>
 +docker run -d --name=loki-test -p 127.0.0.1:3100:3100 grafana/loki:2.3.0
 +</code>
 +
 +Vérifier le bon fonctionnement de l'instance via les logs et via les points d'entrée exposés:
 +  * GET /ready
 +  * GET /metrics
 +  * GET /config
 +  * GET /loki/api/v1/status/buildinfo
 +
 +
 +<code bash>
 +docker container logs loki-test --follow
 +</code>
  
 <code bash> <code bash>
Ligne 28: Ligne 54:
  
 <file YAML> <file YAML>
 +version: "3.3"
  
 +networks:
 +  loki-net:
 +    external: true
 +
 +  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
 +    networks:
 +      loki-net:
 +    volumes:
 +      - $PWD/loki/conf/loki-config.yaml:/mnt/loki-config.yaml:ro
 +    labels:
 +      - "traefik.enable=true"
 +      - "traefik.docker.network=traefik-net"
 +      - "traefik.http.routers.loki_http.entryPoints=HTTP"
 +      - "traefik.http.routers.loki_http.rule=Host(`loki.phobos-net.fr`)"
 +      - "traefik.http.routers.loki_http.middlewares=auth"
 +      - "traefik.http.services.loki.loadbalancer.server.port=3100"
 </file> </file>
 +
 +Vérifier le fonctionnement de l'instance:
 +<code bash>
 +http://loki.phobos-net.fr/ready
 +
 +# afficher la configuration
 +http://loki.phobos-net.fr/config
 +
 +# afficher les labels disponibles
 +http://loki.phobos-net.fr/loki/api/v1/labels
 +
 +# pour afficher les valeurs associées au label __name__
 +http://loki.phobos-net.fr/loki/api/v1/label/__name__/values
 +</code>
 +
 +Envoyer manuellement une ligne de log via cURL:
 +<code bash>
 +docker pull curlimages/curl:latest
 +
 +# timetamp en nanosecondes utilisé par la requête
 +TSNS=$(date +%s)000000000
 +
 +docker container run --rm --interactive --name curl_push --network loki-net curlimages/curl:latest  curl -v -H "Content-Type: application/json" -XPOST -s "http://loki:3100/loki/api/v1/push" --data-raw   '{"streams": [{ "stream": { "job": "dockerlogs", "container_name": "curl_push" }, "values": [ [ "'$TSNS'", "Hello Loki again" ] ] }]}'
 +</code>
  
 ===== Driver docker ===== ===== Driver docker =====
Ligne 61: Ligne 133:
  
 <code bash> <code bash>
-docker container run --rm --detach --name lokitest +docker container run --detach --name test_loki 
-  --network traefik-net --network loki-net \ +  --network loki-net \ 
-  --log-driver loki --log-opt "loki-url=http://loki:3100/loki/api/v1/push"+  --log-driver loki --log-opt loki-url="http://loki:3100/loki/api/v1/push" \ 
-  busybox:latest sleep infinity+  --log-opt loki-batch-size=1 \ 
 +  --log-opt loki-external-labels="job=dockerlogs,environment=prod" \ 
 +  busybox:latest echo "Hello Loki from lokitest container"
 </code> </code>
 +
 +===== Activer le tracing via Jaeger =====
 +
 +Syntaxe avec Helm:
 +
 +<code bash>
 +helm upgrade --install loki loki/loki --set "loki.tracing.jaegerAgentHost=YOUR_JAEGER_AGENT_HOST"
 +</code>
 +
 ===== Références ===== ===== Références =====
  
Ligne 73: Ligne 156:
   * https://grafana.com/grafana/dashboards/12433   * https://grafana.com/grafana/dashboards/12433
   * https://blog.ruanbekker.com/blog/2020/08/13/getting-started-on-logging-with-loki-using-docker/   * https://blog.ruanbekker.com/blog/2020/08/13/getting-started-on-logging-with-loki-using-docker/
 +  * https://grafana.com/docs/loki/latest/getting-started/troubleshooting/#enable-tracing-for-loki
sysadmin/linux/logs/visualisation_des_logs_loki_grafana.1629628710.txt.gz · Dernière modification : 2021/08/22 10:38 de yoann