Console : l'écran Appareils
Lire les appareils MQTT et les nœuds Sparkplug B dans la console, régler ses cinq règles intégrées et ce que voit un lecteur.
GuideExploitationDepuis la version 1.7.0
Sur cette page
Guide d'exploitation : configurer, déployer et observer la passerelle. Ce que fait la fonctionnalité côté produit : guide produit ; l'appeler : guide développeur.
L'écran Appareils (/devices, après Agents) montre l'écouteur MQTT des appareils et
les nœuds Sparkplug B : connexions, refus, quotas, nœuds en ligne et hors ligne de toutes
les répliques. Il apparaît dès que la passerelle déclare listeners.mqtt ; rien à activer dans la console.
Étapes
Lire l'écran
| Partie | Ce qu'elle montre | Qui |
|---|---|---|
| Synthèse (fenêtre choisie) | Appareils connectés (hors anonymes), part MQTT 5, PUBLISH admis par seconde, latence ajoutée p95, refus par cause, connexions par mode d'identité, quotas et contre-pression par tenant (lien vers Consommation pour le quota du jour), écarts de séquence cumulés |
Tous ; un lecteur, son tenant |
| Nœuds Sparkplug (sans fenêtre, filtre « En ligne », « Hors ligne ») | Les tables de toutes les répliques fusionnées : un nœud repris par une autre réplique est rattaché, jamais hors ligne ; les nœuds d'une réplique qui ne répond plus restent listés une heure, marqués « Réplique muette » ; applications hôtes et leur STATE |
Tous ; un lecteur, son tenant |
Panneau d'un nœud (/devices/<groupe>/<nœud>) |
État, appareils, entrée de chaque réplique (la bascule), écarts, commandes admises et refusées - jamais une valeur | Tous ; réglages de bascule et courtier aux admins |
| Limites de l'écouteur MQTT | Bornes en vigueur, refus par borne (8 bornes), fermetures normales par cause (8 causes), redirections et reprises, occupation de max_connections de la réplique la plus chargée, capacité de la table des nœuds et nœuds non gardés |
Admins, sans filtre de tenant |
| Bornes du tenant et des appareils | max_connections_per_tenant, max_connection_rate_per_tenant, listeners.mqtt.tenant, listeners.mqtt.device |
Admins ; un lecteur, sauf si l'exploitant les masque |
| Bandeaux | Tempête de reconnexions (refus par débit >= 10/min), quotas atteints, courtier injoignable, nœuds rattachés | Selon la donnée |
Les comptes de nœuds et les rattachements viennent des tables des répliques : ils restent lus quand les métriques ne répondent pas.
Régler les cinq règles intégrées
Dans les valeurs du chart de la console, alerts.builtins (Alerter depuis la console) :
| Règle | Défaut | Réglables |
|---|---|---|
device-connections-refused |
Plus de 5 % des CONNECT refusés sur 5 min, dès 20, for 5 min ; le dénominateur compte les refus par borne ; sujet : mqtt |
threshold, minRequests, for, excludeCauses (les 8 causes authentication, not_authorized, binding, wildcard, payload_invalid, quota, packet_too_large, upstream_unavailable et les 8 bornes max_connections, max_unauthenticated_connections, max_connections_per_ip, max_connection_rate_per_ip, max_connections_per_tenant, max_connection_rate_per_tenant, connect_rate_per_identity, max_sessions_per_identity), enabled |
sparkplug-node-offline |
Au moins 1 nœud hors ligne dans la table fusionnée, for 2 min ; un nœud rattaché n'est pas hors ligne ; valeur : le nombre de nœuds et de tenants, jamais un nom |
threshold (un nombre), for, enabled |
mqtt-listener-saturation |
La réplique la plus chargée au-delà de 90 % de max_connections, for 5 min ; sujets : les répliques |
threshold, for, enabled |
device-throttled |
Désactivée ; activée : plus de 1 % des appareils retenus par la contre-pression, for 10 min |
enabled, threshold, for |
sparkplug-sequence-gaps |
Désactivée ; activée : au moins 10 écarts seq ou bdSeq sur 5 min ; valeur : le nombre de tenants |
enabled, threshold (un nombre), for |
values.yaml
# valeurs du chart de la console
alerts:
builtins:
- { name: device-connections-refused, excludeCauses: [authentication, upstream_unavailable] }
- { name: sparkplug-node-offline, threshold: 3, for: 5m } # un nombre de nœuds, pas une part
- { name: sparkplug-sequence-gaps, enabled: true, threshold: 50 }Masquer les bornes aux lecteurs
values.yaml
# valeurs du chart de la console
devices:
readerBounds: hide # show par défaut ; FLEXWAY_CONSOLE_DEVICES_READER_BOUNDSLes bornes de l'écouteur et les refus d'avant toute identité restent aux admins quel que soit ce réglage.
Vérifier
- L'écran Appareils liste les nœuds de chaque réplique ; arrêter une réplique qui draine : ses nœuds passent « rattachés » sur une autre, jamais hors ligne.
- Diagnostic -> Alertes : les cinq règles,
device-throttledetsparkplug-sequence-gaps« Désactivées » sauf réglage ; le seuil réglé à la place du défaut. GET /api/alerts:tuning.threshold_kindvautcountpour les deux règles Sparkplug,ratiopour les autres.
À savoir
| Sujet | Ce qu'il faut savoir |
|---|---|
| Fusion | Par tenant et nœud : l'entrée à la naissance la plus récente l'emporte, bdSeq en départage ; un nœud vu seulement par ses commandes n'est pas listé |
| Réplique muette | La console garde la dernière table de chaque réplique une heure : ses nœuds restent listés, marqués, sauf en ligne ailleurs |
| Réplique perdue | Aucune trace de bascule : le nœud réapparaît en ligne sur une autre réplique ; sparkplug-node-offline attend 2 min |
| Lecture | La console interroge GET /sparkplug/nodes de chaque réplique toutes les 15 s (32 Mio au plus par réplique) |
| Noms | Les noms de nœuds et d'appareils ne sont jamais dans une métrique : aucune courbe par nœud, des compteurs cumulés |
| Pas montré | Octets MQTT par seconde (aucune métrique), traces par nœud |
| Seuils des bandeaux | Tempête : refus par débit >= 10/min ; quotas : un refus de quota ou de max_connections_per_tenant ; courtier : un upstream_unavailable ; rattachement : un nœud rattaché |
| Admin filtré sur un tenant | Voit l'écouteur et les refus aux bornes du tenant, pas les limites de l'écouteur |
Disponible depuis 1.7.0.