Aller au contenu

TP-Link Omada

Un contrôleur TP-Link Omada via son OpenAPI : points d’accès, commutateurs et passerelles qui ont perdu le contrôleur, appareils en attente d’adoption, appareils dont le processeur ou la mémoire est saturé, mises à jour du firmware proposées par le contrôleur, et nombre de clients par site.

DumbMonit utilise une application OpenAPI créée dans le contrôleur en mode Client avec le rôle Observateur (Viewer). Ses identifiant et secret s’échangent contre un jeton d’accès valable deux heures (grant_type=client_credentials) ; le jeton est gardé jusqu’à un peu avant son expiration, puis redemandé de la même façon. Il est envoyé comme Authorization: AccessToken=…, jamais dans l’URL.

L’identifiant du contrôleur (Omada ID) est celui affiché sous Open API. Laissé vide, il est lu sur /api/info, que le contrôleur publie sans authentification.

Chaque minute, DumbMonit liste les sites (/openapi/v1/{omadacId}/sites), puis lit pour chacun les appareils (…/sites/{siteId}/devices, requis) et le nombre de clients (…/clients, optionnel : un rôle plus restreint peut le refuser).

La découverte réseau reconnaît un contrôleur par /api/info sur les ports 8043 et 443 et propose de l’ajouter.

Du serveur DumbMonit (ou de son agent relais) vers l’équipement :

PortProtocoleUsage
8043TCPHTTPS et OpenAPI du contrôleur (contrôleur logiciel, par défaut)
443TCPSeulement pour les contrôleurs matériels (OC200, OC300) et installations derrière un proxy inverse

Le port 443 n’est utile que si le contrôleur écoute là plutôt que sur 8043.

Toutes les métriques sont préfixées dumbmonit_omada_.

MétriqueÉtiquettesSignification
controller_infoversion, api_version, omadac_idValeur 1.
sitesSites lus.
devicesstatusonline, offline (déconnecté, battement de cœur manquant ou isolé) et pending (en attente d’adoption).
device_online, device_offline, device_pendingdevice, mac, model, device_type, site1 ou 0, par appareil.
device_infoidem, plus firmware, ipValeur 1.
device_cpu_usage_percent, device_memory_used_percentidemSeulement tant que l’appareil est en ligne : un appareil hors ligne rapporte des zéros.
device_uptime_seconds, device_clientsidemSeulement tant que l’appareil est en ligne.
device_upgrade_availableidem1 quand le contrôleur propose une mise à jour du firmware.
site_clientssiteClients du site.
clientsLeur somme.

Au plus 200 appareils sont nommés par passage ; les comptes par état restent exacts.

Les règles intégrées qui s’appliquent :

  • Appareil Omada hors ligne : déconnecté depuis dix minutes (Avis).
  • Processeur d’un appareil Omada élevé : au-dessus de 90 % pendant quinze minutes (Avis).
  • Mémoire d’un appareil Omada élevée : au-dessus de 90 % pendant quinze minutes (Avis).
  • Mise à jour du firmware Omada : le contrôleur propose une mise à jour (Info, rappelée chaque semaine).

Le panneau Wi-Fi et commutation dit en une phrase ce qui ne va pas, montre les appareils en ligne, les sites et les clients, puis liste les appareils qui demandent un coup d’œil : déconnectés, en attente d’adoption, saturés ou avec une mise à jour du firmware.

Créer un client OpenAPI en lecture seule pour DumbMonit

Section intitulée « Créer un client OpenAPI en lecture seule pour DumbMonit »
  1. Dans le contrôleur Omada, ouvrez Global View → Settings → Platform Integration → Open API et cliquez sur Add New App.

  2. Nommez l’application comme suit, choisissez le mode d’accès Client et donnez-lui le rôle Viewer sur les sites à lire.

    dumbmonit
  3. Cliquez sur Apply : le contrôleur affiche l’Omada ID, le Client ID et le Client Secret. Copiez-les : le secret n’est affiché qu’une fois.

  4. Dans DumbMonit, saisissez l’adresse du contrôleur (omada.lan) et le port (8043, ou 443 pour un contrôleur matériel), puis collez le Client ID et le Client secret.

  • Rôle Viewer sur les sites — Lit les sites, appareils et nombres de clients, ne modifie rien
  • Les noms de menus ci-dessus suivent le contrôleur 5.14 ; les versions plus anciennes placent aussi Open API sous Settings → Platform Integration.
  • Les alertes du contrôleur ne sont pas lues par cette version.
IdentifiantChamps
Client OpenAPILe Client ID (champ nom d’utilisateur) et le Client Secret (champ mot de passe) de l’application.

Adresse : le nom d’hôte ou l’IP du contrôleur, host:port, ou une URL. Options :

  • Port (8043) : le port HTTPS du contrôleur.
  • Identifiant du contrôleur : l’Omada ID ; vide pour le lire sur le contrôleur.
  • Site : le nom ou l’identifiant du seul site à lire ; vide pour tous.
  • Accepter un certificat non vérifiable : le propre certificat du contrôleur est autosigné.
  • Délai par requête (15 s).

« Omada refused the OpenAPI client » : le Client ID ou le secret est incorrect, l’application a été supprimée, elle n’est pas en mode Client, ou l’identifiant du contrôleur n’est pas celui de ce contrôleur.

« … did not answer like an Omada controller » : mauvaise adresse ou mauvais port (8043 pour le contrôleur logiciel, 443 pour un contrôleur matériel).

« Omada refused … (error …): … permission » : donnez à l’application le rôle Viewer sur les sites à lire.

« The Omada controller has no site … » : l’option Site ne correspond à aucun nom ni identifiant.