Aller au contenu principal

Loki Canary

Overview

Loki Canary, c'est l'outil de monitoring qui pense que faire confiance aveuglément à ton stack de logging Loki, c'est comme laisser ton système de sauvegarde sans le tester. Il génère en continu des logs synthétiques avec timestamps uniques, vérifie qu'ils sont correctement ingérés et récupérables via les APIs Loki. Si ton Loki déconne, Canary te le dit avant que tes utilisateurs s'en aperçoivent.

Loki Canary fonctionne en boucle : il écrit des logs avec patterns spécifiques, attend un délai configurable, puis interroge Loki pour vérifier que ces logs sont retrievables via LogQL. Génère des métriques Prometheus sur la latence d'ingestion, le taux de perte de logs, et la disponibilité globale.

Loki Canary se distingue par son approche end-to-end (test complet du pipeline write→read), ses métriques précises pour alerting, et sa capacité à détecter les problèmes Loki avant qu'ils impactent les applications réelles.


Informations essentielles

PropriétéValeur
Site officielhttps://grafana.com/docs/loki/latest/operations/loki-canary/
Repositoryhttps://github.com/grafana/loki
LicenceAGPL v3
DéveloppeurGrafana Labs
LangageGo
MétriquesPrometheus

Cas d'usage typiques

  • Monitoring de la santé et performance de Loki en production
  • Alerting précoce sur problèmes d'ingestion ou de récupération logs
  • SLI/SLO pour availability et latence du système de logging
  • Testing de nouvelles configurations ou versions Loki
  • Validation du pipeline complet logging (write path + read path)
  • Monitoring multi-région pour Loki distribué

Intégrations et écosystème

  • Loki : test direct des APIs push et query de Loki
  • Prometheus : export de métriques pour monitoring et alerting
  • Grafana : dashboards pour visualiser métriques Canary
  • Alertmanager : alerting sur métriques de failure rate ou latence
  • Kubernetes : déploiement en DaemonSet ou Deployment
  • CI/CD : validation de déploiements Loki avec tests automatiques

Avantages

  • End-to-end testing : teste le pipeline complet write→store→read
  • Métriques précises : latence, loss rate, availability pour alerting
  • Detection précoce : problèmes détectés avant impact utilisateurs
  • Configuration simple : minimal setup, paramètres par défaut intelligents
  • Multi-tenant aware : support des configurations multi-tenant Loki
  • Officiel Grafana : maintenu par l'équipe Loki, integration garantie

Inconvénients et limitations

  • Logs synthétiques : ne teste pas les vrais patterns de logs applicatifs
  • Overhead réseau : génère du trafic constant vers Loki (query + push)
  • Configuration limitée : pas de tests custom ou patterns spécifiques
  • Dépendance Loki : spécifique à Loki, pas générique pour autres log stores
  • False positives : peut alerter sur problèmes réseau temporaires

Alternatives

  • Custom scripts : scripts maison avec génération logs et query tests
  • Prometheus Blackbox : probes HTTP pour endpoints Loki (moins complet)
  • Synthetic monitoring : solutions génériques (Pingdom, etc.) moins spécialisées
  • Log generators : outils génériques de génération logs (pas de validation)
  • Manual testing : tests manuels occasionnels (pas de monitoring continu)

Ressources