Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| sysadmin:linux:logs:visualisation_des_logs_loki_grafana [2021/08/17 23:45] – yoann | sysadmin:linux:logs:visualisation_des_logs_loki_grafana [2021/10/25 14:30] (Version actuelle) – yoann | ||
|---|---|---|---|
| Ligne 9: | Ligne 9: | ||
| ===== Architecture générale ===== | ===== Architecture générale ===== | ||
| - | * **Promtail** est un agent (ou client) qui s’exécute localement. Il est chargé de scruter les fichiers de logs et de générer l' | + | * **Promtail** est un agent (ou client) qui s’exécute localement. Il est chargé de scruter les fichiers de logs et de les intégrer |
| - | * **Loki** est la base de donnée: Il stocke les logs | + | * **Loki** est la base de donnée: Il stocke les logs. |
| * **Grafana** se connecte à Loki et propose une visualisation des logs. | * **Grafana** se connecte à Loki et propose une visualisation des logs. | ||
| ===== Installation de Loki ===== | ===== Installation de Loki ===== | ||
| + | |||
| + | ==== Test de l' | ||
| + | |||
| + | L' | ||
| + | Télécharger l' image docker: | ||
| + | |||
| + | <code bash> | ||
| + | docker image pull grafana/ | ||
| + | </ | ||
| + | |||
| + | Création d'un conteneur de test | ||
| + | |||
| + | <code bash> | ||
| + | docker run -d --name=loki-test -p 127.0.0.1: | ||
| + | </ | ||
| + | |||
| + | Vérifier le bon fonctionnement de l' | ||
| + | * GET /ready | ||
| + | * GET /metrics | ||
| + | * GET /config | ||
| + | * GET / | ||
| + | |||
| + | |||
| + | <code bash> | ||
| + | docker container logs loki-test --follow | ||
| + | </ | ||
| <code bash> | <code bash> | ||
| Ligne 22: | Ligne 48: | ||
| Création d'un réseau dédié pour Loki, seule l' | Création d'un réseau dédié pour Loki, seule l' | ||
| <code bash> | <code bash> | ||
| - | $ docker network create | + | $ docker network create loki-net |
| </ | </ | ||
| Ligne 28: | Ligne 54: | ||
| <file YAML> | <file YAML> | ||
| + | version: " | ||
| + | |||
| + | networks: | ||
| + | loki-net: | ||
| + | external: true | ||
| + | |||
| + | loki: | ||
| + | image: grafana/ | ||
| + | restart: unless-stopped | ||
| + | ports: | ||
| + | - " | ||
| + | command: -config.file=/ | ||
| + | networks: | ||
| + | loki-net: | ||
| + | volumes: | ||
| + | - $PWD/ | ||
| + | labels: | ||
| + | - " | ||
| + | - " | ||
| + | - " | ||
| + | - " | ||
| + | - " | ||
| + | - " | ||
| </ | </ | ||
| + | |||
| + | Vérifier le fonctionnement de l' | ||
| + | <code bash> | ||
| + | http:// | ||
| + | |||
| + | # afficher la configuration | ||
| + | http:// | ||
| + | |||
| + | # afficher les labels disponibles | ||
| + | http:// | ||
| + | |||
| + | # pour afficher les valeurs associées au label __name__ | ||
| + | http:// | ||
| + | </ | ||
| + | |||
| + | Envoyer manuellement une ligne de log via cURL: | ||
| + | <code bash> | ||
| + | docker pull curlimages/ | ||
| + | |||
| + | # timetamp en nanosecondes utilisé par la requête | ||
| + | TSNS=$(date +%s)000000000 | ||
| + | |||
| + | docker container run --rm --interactive --name curl_push --network loki-net curlimages/ | ||
| + | </ | ||
| + | |||
| ===== Driver docker ===== | ===== Driver docker ===== | ||
| - | Le pilote Loki pour Docker | + | Le pilote Loki pour Docker |
| ==== Installer le pilote ==== | ==== Installer le pilote ==== | ||
| Ligne 58: | Ligne 132: | ||
| + | <code bash> | ||
| + | docker container run --detach --name test_loki \ | ||
| + | --network loki-net \ | ||
| + | --log-driver loki --log-opt loki-url=" | ||
| + | --log-opt loki-batch-size=1 \ | ||
| + | --log-opt loki-external-labels=" | ||
| + | busybox: | ||
| + | </ | ||
| + | |||
| + | ===== Activer le tracing via Jaeger ===== | ||
| + | |||
| + | Syntaxe avec Helm: | ||
| + | |||
| + | <code bash> | ||
| + | helm upgrade --install loki loki/loki --set " | ||
| + | </ | ||
| ===== Références ===== | ===== Références ===== | ||
| Ligne 65: | Ligne 155: | ||
| * https:// | * https:// | ||
| * https:// | * https:// | ||
| + | * https:// | ||
| + | * https:// | ||