23 avril 2026Grzegorz Mruk11 min de lecture

Grafana accès à distance - surveiller smart home et serveurs depuis n'importe où

Comment exposer Grafana depuis chez soi en toute sécurité ? Tunnel SSH inverse à la place de Grafana Cloud - contrôle total, pas de 49$/mois, pas de métriques expédiées vers les USA. Pour bricoleurs et installateurs avec clients.

GrafanaMonitoringAccès à distanceInfluxDBPrometheusAuto-hébergement
Grafana accès à distance - surveiller smart home et serveurs depuis n'importe où

Vendredi, 21h37. Tu rentres du boulot, encore dans la voiture devant l'immeuble, et Telegram fait bzz. Alerte Grafana : serveur à la cave 78°C, ventilateur PWM 100%, level 7. Dans trois heures ton client à Saint-Denis appelle parce que son HA est mort à 18h00 et rien n'est revenu. Tu pourrais ouvrir le dashboard maintenant, voir si c'est sérieux - peut-être le SSD lâche, peut-être juste le ventilo bourré de poussière depuis le dernier nettoyage - ou hausser les épaules et aller dormir. Tu ne peux raisonnablement faire ni l'un ni l'autre. Parce que Grafana est derrière un routeur sur une IP publique que tu n'as pas, et monter WireGuard à 21h30 depuis le portable de ta femme n'est pas un plan.

Tu vas te coucher avec le ventre noué. Le matin le CPU était à 99% pendant six heures, le client a écrit trois fois, le roulement du ventilo est foutu. Le monitoring sans accès à distance, c'est du théâtre. Les dashboards font joli sur la TV du salon, mais au premier incident tu sais exactement ce qui rentre dans une notification push. Donc rien.

Pourquoi Grafana est particulier - 3 cas d'usage typiques#

Grafana a ce truc : tout le monde dit l'utiliser, mais en réalité seuls 30% l'ouvrent plus d'une fois par mois. Le reste l'a installé, copié quatre dashboards de YouTube, et oublié. Ce n'est pas un reproche, c'est une observation. Parce que Grafana sert trois personnes très différentes, et chacune l'utilise différemment.

Le bricoleur Home Assistant. Moi à la maison. Dashboard avec températures par pièce, conso élec (HA + Shelly EM), statut caméras, temps de fonctionnement de la pompe à chaleur. Tu l'ouvres une fois par semaine, surtout pour montrer à un pote ou prouver à ta femme que tu utilises vraiment ce que tu as acheté. Tunnel SSH = largement suffisant. Personne ne regarde quand tu ne regardes pas.

Le maniaque du self-hosting. Proxmox + 6 LXC, InfluxDB 2.7, node_exporter sur chaque machine, mqtt_exporter, smart_exporter sur le NAS. Tu l'ouvres tous les matins au café, tu vérifies que rien n'a sauté pendant la nuit. Plus alertes Telegram quand disque > 85% ou OOM kill. Là Grafana n'est pas de la déco - c'est la première ligne de diagnostic. Quand un truc casse, tu ouvres les panels avant de SSH.

L'installateur/freelance (B2B). Le cas le plus dur. 30 installations chez clients, chacune avec son Pi 4 / Mini PC, Prometheus local qui scrape les métriques, Grafana centrale dans ton bureau (ou VPS) qui agrège tout. SLA : 99% uptime, 100€/h de pénalité au-dessus. Là Grafana c'est le pain, le beurre et la retraite. Sans accès distant - tu n'existes pas dans ce métier.

Pour les deux premiers le tunnel SSH est de l'overkill qui se rentabilise par le confort. Pour le freelance, tunnel + auto-failover + alertes multi-canaux c'est le minimum, pas le luxe.

4 façons d'accéder à Grafana à distance - classement#

1. Port forwarding 3000 → IP publique#

Verdict : NON. Et ce n'est pas une opinion.

Les credentials par défaut de Grafana sont admin/admin. Tu les changes au premier login - mais Grafana démarre avant que tu te connectes, donc il y a une fenêtre (secondes, minutes) où c'est exposé avec les defaults. Le bot Shodan scanne le port 3000 en continu. Temps moyen entre publication et première tentative de login bot : 2 heures.

En plus : CVE-2023-3128 (auth bypass via Azure AD OAuth - pertinent si t'as activé l'auth proxy, et beaucoup ne lisent pas les changelogs 9.x → 10.x), CVE-2024-1442 (info disclosure), CVE-2022-31097 (XSS dans les alertes). Grafana est un projet actif, plein de plugins, donc la surface d'attaque est énorme. Exposer le port 3000 publiquement = donner à internet l'accès admin à tes data sources, et de là souvent à la BDD de mots de passe, broker MQTT, API HA.

2. Grafana Cloud#

Verdict : pratique, cher, données qui partent aux USA.

Tier gratuit : 10k séries, 50 GB de logs. Ça paraît bien jusqu'à ce que tu remarques qu'un HA avec 200 capteurs génère 8k séries à lui seul. Avec deux clients tu es en payant. Pro : 49$/mois pour 100k séries - environ 12 installations HA. Freelance avec 30 clients : 150$/mois minimum.

Deuxième problème : Schrems II. Les métriques de température de l'appart de ta cliente à Lille volent vers AWS us-east. Pas chiffrées au repos hors UE. RGPD : zone grise. Pour certains clients (cabinets d'avocats, cliniques) - zone rouge.

3. Cloudflare Tunnel#

Verdict : gratuit, mais mal adapté à Grafana.

Cloudflare Tunnel (cloudflared) tu le montes en 10 minutes. Ça marche. Jusqu'à ce que :

  • Le WAF Cloudflare bloque les endpoints API de Grafana (/api/datasources/proxy/* - faux positif "SQL injection" sur les requêtes Flux/PromQL, deux fois par semaine)
  • Le partage de dashboard via share=true renvoie 502 (long-lived render request > 100s timeout)
  • Le marketplace de plugins ne charge pas (besoin de WebSocket sans interférence proxy)
  • Sur le plan gratuit, body max 100MB - l'export PDF d'un dashboard de 30 panels casse

Pour des sites statiques - parfait. Pour Grafana - frustration hebdomadaire.

4. Tunnel SSH inverse (SmartHomeEntry)#

Verdict : le meilleur choix pour la majorité.

Ta Grafana reste chez toi. Le tunnel n'est que du transport TCP - pas d'inspection, pas de WAF qui bloque les requêtes, pas de timeouts sur le long polling. Le sous-domaine magrafana.smarthomeentry.com mappe sur le port local 3000 via SSH inverse. Prix : forfaitaire, indépendant du nombre de séries. Les métriques ne quittent jamais ton réseau au-delà du tunnel vers ton navigateur.

MéthodeSetupCoût/moisSécuritéPlugins/WS marchentRGPD
Port forward 30005 min0€Tragique (Shodan en 2h)OuiOK (local)
Grafana Cloud30 min49-150$+BonOuiProblème (USA)
Cloudflare Tunnel10 min0€BonPartiellement (WAF)OK
SmartHomeEntry60 secforfaitBon (SSH 127.0.0.1)OuiOK (local)

Si tu lis ça et que t'as Grafana exposée par port forwarding - ferme ce port maintenant, avant de finir l'article. Vérifie /var/log/grafana/grafana.log pour les tentatives de login d'IPs bizarres. Si tu vois "Invalid username or password" toutes les quelques secondes - félicitations, t'es dans un sweep botnet. Change le mot de passe, regarde qui s'est connecté avec succès (colonne USA, Russie, Chine = drapeau rouge), désactive le compte admin par défaut.

Setup Grafana + tunnel SSH en 60 secondes#

Je suppose que Grafana 10.x tourne déjà sur un Raspberry Pi 4 / Mini PC / LXC Proxmox. Sinon - apt install grafana, systemctl enable --now grafana-server, port 3000 en local et reviens ici.

Étape 1. Crée un compte SmartHomeEntry, choisis le sous-domaine magrafana.smarthomeentry.com (ou client-x.smarthomeentry.com si c'est une install chez client).

Étape 2. Récupère la commande d'install depuis le panel, colle-la dans le terminal sur la machine Grafana. L'agent se connecte au relay via SSH inverse, le port local 3000 est mappé sur ton sous-domaine public.

Étape 3. Édite /etc/grafana/grafana.ini (critique - sans ça les liens absolus, embeds iframe et auth callbacks cassent) :

[server]
protocol = http
http_port = 3000
domain = magrafana.smarthomeentry.com
root_url = https://magrafana.smarthomeentry.com
serve_from_sub_path = false

[security]
cookie_secure = true
cookie_samesite = lax
allow_embedding = true

Étape 4. systemctl restart grafana-server

Étape 5. Ouvre https://magrafana.smarthomeentry.com dans le navigateur. Le login Grafana doit apparaître. Fini.

Si tu lances Grafana en docker compose (configuration typique Proxmox ou NAS) :

services:
  grafana:
    image: grafana/grafana:10.4.2
    container_name: grafana
    ports:
      - "127.0.0.1:3000:3000"
    environment:
      - GF_SERVER_ROOT_URL=https://magrafana.smarthomeentry.com
      - GF_SERVER_DOMAIN=magrafana.smarthomeentry.com
      - GF_SECURITY_COOKIE_SECURE=true
      - GF_SECURITY_ALLOW_EMBEDDING=true
      - GF_SECURITY_ADMIN_PASSWORD__FILE=/run/secrets/grafana_admin
    volumes:
      - grafana-data:/var/lib/grafana
    restart: unless-stopped
volumes:
  grafana-data:

Attention : bind sur 127.0.0.1:3000, pas 0.0.0.0. Grafana doit être accessible uniquement via le tunnel, pas depuis ton LAN ni publiquement.

Un Pi 4 avec Grafana + InfluxDB + node_exporter consomme 3,5W idle, ~5W avec dashboards actifs. Coût électrique annuel 2026 (0,25€/kWh) : environ 11€. Grafana Cloud payant : 588$/an minimum. Le calcul est brutal.

Bonnes pratiques : monitoring smart home par tunnel#

Default admin/admin - change MAINTENANT. Pas "tout à l'heure", pas "quand j'aurai un moment". Après le premier systemctl start grafana-server connecte-toi tout de suite et Profile → Change Password. Ou mieux : positionne GF_SECURITY_ADMIN_PASSWORD avant le premier démarrage (variable d'env ou secret file, pas plaintext dans grafana.ini poussé dans git).

2FA via Auth Proxy. Grafana 10+ supporte nativement OAuth (Google, GitHub, Authentik). Monte Authentik dans docker, active [auth.generic_oauth], force MFA au niveau Authentik. Pour le freelance qui sert des clients ce n'est pas négociable - parce que chaque client ne voit que son propre dossier de dashboards.

Clé API au lieu de mot de passe pour les intégrations. HA qui écrit dans une data source Grafana ? Proxmox qui push des métriques ? Crée un Service Account (Grafana 10 a remplacé les anciens API keys), accorde le rôle Editor sur un dossier précis, jamais Admin. Le token généré a un TTL - mets 90 jours et fais tourner.

Provisionne les dashboards en YAML - pas à la main. Crois-moi, quand tu as 30 dashboards construits au clic et que la SD card meurt, le backup ne te consolera pas. Les dashboards atterrissent dans /etc/grafana/provisioning/dashboards/ en JSON, les data sources en YAML. Tout dans Git.

provisioning/dashboards/main.yaml minimal :

apiVersion: 1
providers:
  - name: 'default'
    orgId: 1
    folder: ''
    type: file
    disableDeletion: true
    updateIntervalSeconds: 30
    options:
      path: /var/lib/grafana/dashboards

Tu balances les JSON de dashboards dans /var/lib/grafana/dashboards/, restart, fini. Setup complet reproductible depuis Git en 5 minutes.

Backup /var/lib/grafana/grafana.db quotidien - cron + rsync vers un NAS ou S3-compatible (Backblaze B2, Wasabi). Le fichier dépasse rarement 50 MB, donc rétention 90 jours coûte des centimes. En plus : backup /etc/grafana/grafana.ini et tout le dossier provisioning.

Alerting → Telegram ou email, pas seulement UI. L'UI personne ne la regarde. Un dashboard épinglé en onglet Chrome 3 jours ne t'avertira de rien. Notification channel : bot Telegram (15 minutes de setup, gratuit), deuxième canal email backup (au cas où Telegram tombe). Pour le freelance ajoute un troisième : SMS via Twilio (0,05€/SMS, mais quand un client paye 100€/h SLA - c'est rentable).

FAQ#

QuestionRéponse
Les alertes WebSocket (live tail logs Loki) marchent par le tunnel ?Oui. SSH tunnelle WebSocket de manière transparente.
Le marketplace de plugins fonctionne ?Oui. Les plugins se chargent depuis grafana.com côté serveur, pas via le navigateur.
Embed dashboard en iframe sur une page externe (ex. pour client) ?Oui, mets allow_embedding = true + cookie_samesite = none si cross-domain. N'oublie pas auth.anonymous pour vue publique.
Limites de taille de dashboard / data scraping ?Aucune côté tunnel. La limite c'est ton matériel - un Pi 4 gère 50-80 panels par dashboard fluidement.
Et si j'utilise Prometheus au lieu d'InfluxDB ?Pas de différence. Le tunnel ne sait pas ce que Grafana sert - c'est juste du transport TCP. Prometheus, InfluxDB, Loki, Tempo, Mimir, Postgres data source - tout marche pareil.
Je peux gérer plusieurs Grafanas de différents clients sur un seul compte ?Sur l'agency tier - oui, chaque client = sous-domaine distinct, un seul panel de gestion.
Le render PDF d'un dashboard fonctionne ?Oui, mais nécessite le plugin grafana-image-renderer côté Grafana. Rien d'extra côté tunnel.

Verdict - quand SmartHomeEntry, quand Grafana Cloud#

Honnêtement : pour le bricoleur HA ou le self-hoster Proxmox - le tunnel SSH écrase Grafana Cloud. Tu paies un petit forfait fixe au lieu d'un 49$+ qui scale, les données restent chez toi, RGPD réglé, tous les plugins et WebSocket marchent sans pleurnicher. Setup 60 secondes.

Pour le freelance avec 50 clients et un SLA dur le calcul change. Grafana Cloud te donne du Managed HA, des réplicas, 13 mois de rétention out-of-the-box. Le tunnel SSH exige que ta Grafana centrale tienne, donc soit setup VPS HA (~30$/mois pour une config sérieuse), soit l'agency tier SmartHomeEntry avec multi-tenant. Choisis selon que tu veux opérer de l'infrastructure ou seulement la consommer.

Pour 95% des lecteurs de cet article : commence par le tunnel. Va voir /grafana, monte ça en 60 secondes, vois si ça te convient. Quand tu passeras à 50 clients dans un an - on parlera agency tier.

Voir aussi : Home Assistant accès à distance - guide complet 2026, Installateur smart home : 50 clients sans déplacements, Cloudflare Tunnel - alternative pour l'auto-hébergement, Panel pour installateurs.

GrafanaMonitoringAccès à distanceInfluxDBPrometheusAuto-hébergement
Partager l'article
À propos de l'auteur

Grzegorz Mruk

Fondateur et CEO de SmartHomeEntry. Après des centaines de déploiements d'accès distant pour Home Assistant, Domoticz et NAS, il écrit sur ce qui fonctionne vraiment sur un réseau domestique - sans marketing, du point de vue d'un praticien.

    Grafana accès à distance - surveiller smart home et serveurs depuis n'importe où | SmartHomeEntry