Aller au contenu principal
Uptime Kuma

Uptime Kuma

Surveillez tous vos services, sites web et serveurs depuis Jeedom grace a Uptime Kuma. Statut temps reel, webhooks, panel de synthese.

Jeedom 4.4+betaos 11+php 7.4/8.xpython

🔎 Plugin Uptime Kuma pour Jeedom

Le plugin Uptime Kuma connecte Uptime Kuma a Jeedom. Il remonte en temps reel l'etat de tous vos moniteurs (sites web, API, serveurs, ports TCP, DNS, ping...) et vous permet d'exploiter ces informations dans vos scenarios.


💡 Pourquoi utiliser ce plugin ?

Supervision centralisee dans Jeedom

Plus besoin de jongler entre l'interface Uptime Kuma et Jeedom. Tous les moniteurs/sondes que vous souhaitez sont visibles directement dans le dashboard, avec des widgets dedies et un panel de synthese.

Notifications temps reel via webhooks

En complement du polling periodique, le plugin installe des webhooks dans Uptime Kuma pour recevoir instantanement les changements d'etat. Un service tombe ? Jeedom le sait immediatement.

Multi-sources

Vous avez plusieurs instances Uptime Kuma (production, labo, clients) ? Le plugin les gere toutes. Chaque instance est une Source, chaque check un Moniteur.

Exploitable dans les scenarios

Chaque moniteur expose des commandes info (statut, ping, message) directement utilisables dans les scenarios Jeedom pour declencher des alertes, des actions correctives ou des logs.


📊 En resume

FonctionnaliteDescription
MonitoringStatut UP/DOWN/PENDING/MAINTENANCE de chaque moniteur
Temps de reponsePing en millisecondes (historise)
WebhooksNotifications instantanees depuis Uptime Kuma
Multi-sourcesPlusieurs instances Uptime Kuma
PanelVue globale filtrable avec synthese
ScenariosCommandes info exploitables dans les scenarios
WidgetsTemplates dedies pour sources et moniteurs

⚙️ Prerequis

  • Jeedom 4.4 minimum
  • Debian 11 a 13
  • Une instance Uptime Kuma accessible depuis Jeedom (HTTP ou HTTPS)
  • Un compte Uptime Kuma avec acces API (identifiant / mot de passe)

📥 Installation

1️⃣ Installer le plugin

Plugins > Gestion des plugins > Market > Uptime Kuma > Installer stable

Activer le plugin apres installation.

2️⃣ Installer les dependances

Les dependances s'installent automatiquement a l'activation. Elles comprennent :

  • Un environnement virtuel Python (venv)
  • La librairie uptime-kuma-api2 pour communiquer avec l'API d'Uptime Kuma

Verifier le statut OK dans la page de configuration du plugin.

3️⃣ Configurer et demarrer le demon

Dans la page Configuration du plugin :

ParametreDescriptionDefaut
Port socket internePort de communication entre Jeedom et le demon55210
Frequence de pollingIntervalle en secondes entre chaque interrogation d'Uptime Kuma60

Demarrer le demon et verifier le statut OK.

info

Le demon interroge periodiquement toutes les sources configurees. Les webhooks completent ce mecanisme pour les notifications instantanees.


🔌 Ajouter une source Uptime Kuma

Une Source represente une instance Uptime Kuma.

Creer l'equipement source

  1. Aller dans Plugins > Monitoring > Uptime Kuma
  2. Cliquer Ajouter
  3. Nommer la source (ex: "Uptime Kuma Prod")
  4. Dans l'onglet Equipement, remplir :
ChampDescription
URLAdresse de l'instance Uptime Kuma (ex: https://status.mondomaine.fr)
IdentifiantNom d'utilisateur Uptime Kuma (optionnel)
Mot de passeMot de passe (chiffre en base, jamais affiche)
  1. Cliquer Tester la connexion pour valider

  2. Sauvegarder l'equipement

Synchroniser les moniteurs

Apres avoir sauvegarde la source :

  1. Cliquer Decouvrir les moniteurs pour voir la liste des moniteurs disponibles
  2. Selectionner ceux que vous souhaitez creer dans Jeedom

Selection moniteur

  1. Valider pour creer les equipements correspondants
info

La synchronisation cree les moniteurs manquants et met a jour les existants (nom, type, hostname, tags). Elle ne supprime jamais un moniteur — les moniteurs disparus d'Uptime Kuma sont marques comme orphelins et desactives.


📡 Commandes

Commandes d'une Source

CommandeTypeDescription
connectioninfo binaire1 = connecte a Uptime Kuma, 0 = deconnecte
monitor_countinfo numeriqueNombre total de moniteurs
monitors_upinfo numeriqueMoniteurs en etat UP
monitors_downinfo numeriqueMoniteurs en etat DOWN
monitors_pendinginfo numeriqueMoniteurs en etat PENDING
monitors_maintenanceinfo numeriqueMoniteurs en MAINTENANCE
monitors_unavailableinfo numeriqueMoniteurs UNAVAILABLE (Jeedom ne peut joindre Uptime Kuma)
last_syncinfo stringDate/heure de la derniere synchronisation

Commandes d'un Moniteur

Commandes info

CommandeTypeDescription
statusbinaire1 = UP, 0 = DOWN
status_codenumeriqueCode brut : 0=DOWN, 1=UP, 2=PENDING, 3=MAINTENANCE, 4=UNAVAILABLE
status_textstringLibelle lisible du statut
pingnumeriqueTemps de reponse en ms (historise)
messagestringDernier message de statut
last_checkstringDate/heure du dernier check

Commandes action

CommandeDescription
refreshForce un rafraichissement immediat via le demon
toggle_webhookActive ou desactive le webhook pour ce moniteur

🎨 Widgets

Widget Moniteur

Le widget moniteur affiche :

  • Indicateur de statut colore (vert = UP, rouge = DOWN, orange = PENDING, bleu = MAINTENANCE, gris = UNAVAILABLE)
  • Message du dernier check (tronque avec tooltip)
  • Ping en millisecondes
  • Dernier check (date/heure)
  • Type de moniteur (HTTP, Ping, TCP, DNS...)
  • Webhook avec bouton toggle pour activer/desactiver

Widget moniteur UP

Widget moniteur DOWN

Widget Source

Le widget source affiche :

  • Etat de connexion (icone prise coloree)
  • Nombre total de moniteurs (chiffre prominent)
  • Repartition par statut : UP, DOWN, MAINTENANCE, PENDING, UNAVAILABLE avec pastilles colorees
  • Derniere synchronisation (date/heure)

Widget source


🎛️ Panel de synthese

Le panel offre une vue globale de tous les moniteurs, toutes sources confondues.

Panel vue globale

Cartes de synthese

En haut du panel, des cartes colorees affichent les compteurs globaux :

CarteCouleurContenu
TotalNombre total de moniteurs
UPVertMoniteurs en ligne
DOWNRougeMoniteurs en panne
PENDINGOrangeMoniteurs en attente
MAINTENANCEBleuMoniteurs en maintenance
UNAVAILABLEGrisMoniteurs injoignables
ConnexionSources connectees / total

Section Problemes

Sous les cartes, une section affiche tous les moniteurs non UP avec leur statut et leurs details. Cette section disparait si tout est UP.

Filtres

Le panel propose plusieurs criteres de filtrage combinables :

FiltreDescription
Boutons de statutALL, DOWN, N/A, PENDING, MAINT., UP
SourceFiltrer par instance Uptime Kuma
TagFiltrer par tag de moniteur
RechercheRecherche en temps reel sur le nom du moniteur

Tableau des moniteurs

Chaque moniteur est affiche sur une ligne avec :

  • Nom et lien vers l'equipement Jeedom
  • Type de moniteur
  • Tags (badges colores)
  • Ping
  • Dernier check
  • Statut webhook (badge vert = Jeedom, orange = autre, rouge = aucun)

🔔 Webhooks

Les webhooks permettent a Uptime Kuma de notifier Jeedom instantanement lors d'un changement d'etat, sans attendre le prochain cycle de polling.

Fonctionnement

  1. Le plugin cree une notification webhook dans Uptime Kuma pointant vers Jeedom
  2. La notification est attachee au moniteur concerne
  3. Quand le statut du moniteur change, Uptime Kuma envoie un POST a Jeedom
  4. Jeedom met a jour les commandes du moniteur en temps reel

Activer / desactiver un webhook

  • Depuis le widget moniteur : cliquer le bouton toggle webhook
  • Depuis le panel : le badge webhook indique l'etat actuel
astuce

Les webhooks necessitent que Jeedom soit accessible depuis l'instance Uptime Kuma (reseau local ou URL publique). Verifiez la connectivite si les webhooks ne fonctionnent pas.

Securite des webhooks

Chaque source dispose d'un token webhook dedie genere automatiquement. Ce token est independant de la cle API Jeedom et authentifie les requetes entrantes pour empecher les appels non autorises.


💡 Exemples de scenarios

Alerte quand un service tombe

Declencheur : #[Monitoring][Mon Site Web][status]# == 0
→ Notification "Mon Site Web est DOWN !"
→ Envoyer un SMS

Alerte si ping eleve

SI #[Monitoring][API Production][ping]# > 2000
Alors → log "API Production : latence elevee (#[Monitoring][API Production][ping]# ms)"
Alors → Notification "API lente"

Resume quotidien

Programmation : tous les jours a 8h
→ Message "Moniteurs DOWN : #[Monitoring][Source Prod][monitors_down]# / #[Monitoring][Source Prod][monitor_count]#"

Relancer un service automatiquement

Declencheur : #[Monitoring][Docker Portainer][status]# == 0
→ Commande SSH : "docker restart portainer"
→ Pause 30s
→ SI #[Monitoring][Docker Portainer][status]# == 0
→ Notification "Portainer n'a pas redemarre — intervention manuelle"

📱 Panel mobile

Le plugin dispose d'un panel mobile accessible depuis l'application Jeedom. L'activer si besoin dans la configuration generale du plugin.

Panel mobile


📋 Logs

LogDescription
uptimekumaLog principal (polling, webhooks, synchronisation)
uptimekuma_updateInstallation des dependances

Activer le mode Debug pour voir les echanges detailles avec l'API Uptime Kuma et le demon.


🆘 Support

En cas de probleme, utilisez le bouton Support Forum sur la page principale du plugin. Il genere automatiquement un post pre-rempli pour le forum Community Jeedom avec les informations de votre configuration (nombre de sources, moniteurs, parametres du demon).


🛠️ Depannage

Demon ne demarre pas

  • Verifier les dependances (statut OK)
  • Verifier que le port socket n'est pas deja utilise :
ss -tlnp | grep 55210
  • Consulter le log uptimekuma en mode Debug

Source deconnectee

  • Verifier l'URL de l'instance Uptime Kuma
  • Tester la connexion depuis la page de l'equipement source
  • Verifier que l'instance est accessible depuis Jeedom :
curl -s -o /dev/null -w "%{http_code}" https://votre-uptime-kuma.fr

Webhooks ne fonctionnent pas

  • Verifier que Jeedom est accessible depuis l'instance Uptime Kuma
  • Verifier le token webhook dans les logs
  • L'URL de callback utilise l'adresse interne de Jeedom — si Uptime Kuma est sur un autre reseau, configurer l'URL externe de Jeedom dans la configuration generale

Moniteurs orphelins

Si un moniteur est supprime dans Uptime Kuma, il sera marque orphelin a la prochaine synchronisation et desactive. Vous pouvez le supprimer manuellement dans Jeedom ou le reactiver si le moniteur est recree dans Uptime Kuma.

Dependances en erreur

# Verifier le venv
ls -la /var/www/html/plugins/uptimekuma/resources/venv/

# Reinstaller manuellement
cd /var/www/html/plugins/uptimekuma/resources
python3 -m venv venv
./venv/bin/pip install -r requirements.txt