Labels & Filtres
Les labels sont essentiels pour organiser et filtrer vos logs dans Grafana.
Labels Standard
| Label | Description | Exemples | Obligatoire |
|---|---|---|---|
app |
Nom de l'application | python-scraper, nestjs-backend, nextjs-app-1 |
Oui |
env |
Environnement | prod, staging, dev |
Oui |
host |
Nom du serveur | app-server-1, worker-01 |
Oui |
container |
Nom du container Docker | api, web, worker |
Auto |
level |
Niveau de log | info, warn, error, debug |
Recommandé |
Configuration des Labels
Via Docker Labels
La méthode recommandée est d'ajouter des labels Docker à vos containers :
# docker-compose.yml de votre application
services:
api:
image: your-app
labels:
- "app=nestjs-backend"
- "service=api"
Via les variables d'environnement Alloy
Via la configuration Alloy
loki.source.docker "docker_logs" {
host = "unix:///var/run/docker.sock"
targets = discovery.relabel.docker_labels.output
labels = {
"env" = "prod",
"host" = "app-server-1",
"team" = "backend",
}
forward_to = [loki.write.loki_remote.receiver]
}
Bonnes Pratiques
DO - À faire
- Utilisez des labels avec une faible cardinalité (peu de valeurs possibles)
- Gardez les noms de labels courts et descriptifs
- Utilisez des conventions de nommage cohérentes
DON'T - À éviter
- Ne jamais utiliser des valeurs uniques (IDs, timestamps, emails)
- Ne pas créer trop de labels (max 15-20 par stream)
user_id=12345 ✗ Mauvais (haute cardinalité)
request_id=abc-123 ✗ Mauvais (unique par requête)
timestamp=2024-01-01 ✗ Mauvais (utiliser le timestamp natif)
Exemples de Requêtes par Label
Filtrer par application
Filtrer par environnement
Combinaison de labels
Tous les logs d'un serveur
Toutes les erreurs en production
Applications multiples
Mapping des Applications Lyroh
| Application | Label app |
Label service (optionnel) |
|---|---|---|
| Python Scraper | python-scraper |
scraper |
| NestJS Backend | nestjs-backend |
api, worker |
| NextJS App 1 | nextjs-app-1 |
web |
| NextJS App 2 | nextjs-app-2 |
web |
| NextJS App 3 | nextjs-app-3 |
web |
| NextJS App 4 | nextjs-app-4 |
web |