Aller au contenu

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

cd /opt
git clone <repository_url> monitoring
cd monitoring

2. Configurer les variables d'environnement

cp .env.example .env
nano .env

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 :

auth-loki:
  basicAuth:
    users:
      - "loki-push:$$2y$$05$$VOTRE_HASH_ICI"

Attention

Doublez les $ dans le fichier YAML ($$ au lieu de $)

5. Démarrer la stack

docker-compose up -d

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

Grafana ne se connecte pas à Loki

# Tester la connexion interne
docker-compose exec grafana wget -qO- http://loki:3100/ready