Installation - VPS Monitoring
Guide d'installation de la stack de monitoring sur le VPS Contabo.
Prérequis
- VPS avec Docker et Docker Compose installés
- Nom de domaine configuré (DNS A records)
- Ports 80 et 443 ouverts
Configuration DNS
Créez ces enregistrements DNS pointant vers l'IP du VPS :
| Type | Nom | Valeur |
|---|---|---|
| A | grafana.monitoring.lyroh.com |
IP_VPS |
| A | loki.monitoring.lyroh.com |
IP_VPS |
| A | docs.monitoring.lyroh.com |
IP_VPS |
Installation
1. Cloner le repository
2. Configurer les variables d'environnement
Remplissez les valeurs :
# Domain
DOMAIN=monitoring.lyroh.com
# Let's Encrypt
ACME_EMAIL=admin@lyroh.com
# Grafana
GRAFANA_ADMIN_USER=admin
GRAFANA_ADMIN_PASSWORD=VotreMotDePasseSecurise123!
# Loki Basic Auth (pour les agents Alloy)
# Générer avec: htpasswd -nB loki-push
LOKI_PUSH_USER=loki-push
LOKI_PUSH_PASSWORD=VotreMotDePasseLoki456!
3. Générer le hash du mot de passe Loki
# Installer htpasswd si nécessaire
apt-get install apache2-utils
# Générer le hash
htpasswd -nB loki-push
# Entrez le mot de passe, copiez le résultat
4. Mettre à jour la configuration Traefik
Éditez traefik/dynamic/middlewares.yml et remplacez le hash :
Attention
Doublez les $ dans le fichier YAML ($$ au lieu de $)
5. Démarrer la stack
6. Vérifier le déploiement
# Vérifier les containers
docker-compose ps
# Vérifier les logs
docker-compose logs -f
# Tester Loki
curl -s http://localhost:3100/ready
# Doit retourner: ready
# Tester Grafana
curl -s http://localhost:3000/api/health
# Doit retourner: {"commit":"...","database":"ok",...}
Accès
Une fois déployé, accédez à :
| Service | URL |
|---|---|
| Grafana | https://grafana.monitoring.lyroh.com |
| Documentation | https://docs.monitoring.lyroh.com |
| Loki (API) | https://loki.monitoring.lyroh.com |
Structure des fichiers
/opt/monitoring/
├── docker-compose.yml
├── .env
├── config/
│ └── loki-config.yml
├── traefik/
│ └── dynamic/
│ └── middlewares.yml
├── grafana/
│ └── provisioning/
│ ├── datasources/
│ │ └── loki.yml
│ └── dashboards/
│ ├── default.yml
│ └── json/
│ └── logs-overview.json
└── docs/
├── mkdocs.yml
└── docs/
└── ...
Commandes utiles
# Démarrer
docker-compose up -d
# Arrêter
docker-compose down
# Redémarrer un service
docker-compose restart loki
# Voir les logs
docker-compose logs -f grafana
docker-compose logs -f loki
# Mise à jour des images
docker-compose pull
docker-compose up -d
Troubleshooting
Certificats SSL non générés
# Vérifier les logs Traefik
docker-compose logs traefik
# Vérifier que les ports 80/443 sont ouverts
ss -tlnp | grep -E '80|443'
Loki ne démarre pas
# Vérifier les permissions du volume
docker-compose exec loki ls -la /loki
# Vérifier la config
docker-compose exec loki cat /etc/loki/config.yml