Metrische gegevens voor MQTT-broker
MQTT Broker biedt een set metrische waarneembaarheidsgegevens die u kunt gebruiken om de status van uw oplossing te bewaken en analyseren. In dit artikel worden de beschikbare metrische gegevens voor de MQTT-broker beschreven.
Zie Diagnostische instellingen voor MQTT Broker configureren om opties voor deze metrische gegevens te configureren.
MQTT Connect-gebruikerseigenschap metriccategory
Wanneer een client verbinding maakt met de broker, kan deze een gebruikerseigenschap opnemen die wordt aangeroepen metriccategory
in het verbindingspakket. De broker tagt vervolgens alle sessiegestuurde metrische gegevens (zoals publiceren en abonneren) als metriccategory
category
.
Als de zelfcontroletest bijvoorbeeld verbinding maakt met metriccategory=broker_selftest
, tagt de broker alle metrische gegevens van deze sessies met category=broker_selftest
.
Deze functie helpt dashboards om verkeersbronnen weer te geven zonder de problemen met hoge kardinaliteit van het taggen van metrische gegevens met onderwerpen.
Sessies zonder een metriccategory
zijn gelabeld als category=uncategorized
.
Metrische gegevens voor berichten
Alle metrische gegevens bevatten de hostname
tag om de pod te identificeren die de metrische gegevens heeft gegenereerd. De tags die worden vermeld in de afzonderlijke beschrijvingen van metrische gegevens, worden toegevoegd aan deze tag.
Metrisch | Beschrijving | Tags |
---|---|---|
aio_broker_publishes_received | In de front-end geeft deze metrische waarde aan hoeveel binnenkomende publicatiepakketten van clients worden ontvangen. Voor de back-end geeft deze metrische waarde aan hoeveel interne berichten worden verzonden vanaf de front-endknooppunten. | category |
aio_broker_publishes_sent | In de front-end geeft deze metrische waarde aan hoeveel uitgaande publicatiepakketten naar clients worden verzonden. Als meerdere clients zijn geabonneerd op hetzelfde onderwerp, telt deze metrische gegevens elk verzonden bericht, zelfs als ze dezelfde nettolading hebben. Deze telling telt geen ack-pakketten. Voor de back-end geeft deze metrische waarde aan hoeveel interne berichten naar de front-endknooppunten worden verzonden. | category |
aio_broker_payload_bytes_received | De som van de nettoladingen van alle ontvangen publicaties. Deze som bevat niet de grootte van de eigenschappen of het publiceren van pakketten zelf. | category |
aio_broker_payload_bytes_sent | De som van de nettoladingen van alle verzonden publicaties. Deze som bevat niet de grootte van de eigenschappen of het publiceren van pakketten zelf. | category |
aio_broker_authentication_successes | Met deze metrische waarde wordt het aantal geslaagde verificatieaanvragen geteld. | category |
aio_broker_authentication_failures | Met deze metrische waarde wordt het aantal mislukte verificatieaanvragen geteld. Voor een foutloze verificatieserver, aio_broker_authentication_successes + aio_broker_authentication_failures = aio_broker_publishes_received = publishes_sent |
category |
aio_broker_authentication_deny | Met deze metrische waarde wordt het aantal geweigerde verificatieaanvragen geteld. | category |
aio_broker_authorization_allow | Met deze metrische waarde worden autorisatieaanvragen met succes geteld. Deze metrische waarde moet altijd kleiner zijn dan of gelijk zijn aan aio_broker_authentication_successes . |
category |
aio_broker_authorization_deny | Deze metrische waarde telt geweigerde autorisatieaanvragen. Deze metrische waarde moet altijd kleiner zijn dan of gelijk zijn aan aio_broker_authentication_successes . |
category |
aio_broker_qos0_messages_dropped | Met deze metrische waarde wordt om welke reden dan ook het aantal verwijderde QoS0-berichten geteld. De categorie direction is incoming of outgoing . |
category , direction |
aio_broker_backpressure_packets_rejected | Met deze metrische waarde wordt het aantal geweigerde pakketten geteld vanwege een backpressie. Een pakket wordt geweigerd als het systeem 97% capaciteit heeft. | |
aio_broker_store_retained_messages | Met deze metrische waarde wordt geteld hoeveel bewaarde berichten op de broker worden opgeslagen. | |
aio_broker_store_retained_bytes | Met deze metrische waarde wordt geteld hoeveel bytes worden opgeslagen via bewaarde berichten op de broker. | |
aio_broker_store_will_messages | Met deze metrische waarde wordt geteld hoeveel berichten worden opgeslagen op de broker. | |
aio_broker_store_will_bytes | Met deze metrische waarde wordt geteld hoeveel bytes worden opgeslagen via berichten op de broker. | |
aio_broker_number_of_routes | Telt het aantal routes. | |
aio_broker_connect_route_replication_correctness | Beschrijft of een verbindingsaanvraag van een selftestclient correct wordt gerepliceerd langs een specifieke route. | |
aio_broker_connect_latency_route_ms | Beschrijft het tijdsinterval tussen een zelftestclient die een CONNECT-pakket verzendt en een CONNACK-pakket ontvangt. Deze metrische waarde wordt per route gegenereerd. De metrische waarde wordt alleen gegenereerd als er verbinding wordt gemaakt. | |
aio_broker_connect_latency_last_value_ms | Een geschatte p99 van connect_latency_route_ms . |
|
aio_broker_connect_latency_mu_ms | De gemiddelde waarde van connect_latency_route_ms . |
|
aio_broker_connect_latency_sigma_ms | De standaarddeviatie van connect_latency_route_ms . |
|
aio_broker_subscribe_route_replication_correctness | Beschrijft of een aanvraag voor abonneren van een selftestclient correct wordt gerepliceerd langs een specifieke route. | |
aio_broker_subscribe_latency_route_ms | Beschrijft het tijdsinterval tussen een zelftestclient die een SUBSCRIBE-pakket verzendt en een SUBACK-pakket ontvangt. Deze metrische waarde wordt per route gegenereerd. De metrische waarde wordt alleen gegenereerd als een SUBSCRIBE is geslaagd. | |
aio_broker_subscribe_latency_last_value_ms | Een geschatte p99 van subscribe_latency_route_ms . |
|
aio_broker_subscribe_latency_mu_ms | De gemiddelde waarde van subscribe_latency_route_ms . |
|
aio_broker_subscribe_latency_sigma_ms | De standaarddeviatie van subscribe_latency_route_ms . |
|
aio_broker_unsubscribe_route_replication_correctness | Beschrijft of een afmeldingsaanvraag van een selftestclient correct wordt gerepliceerd langs een specifieke route. | |
aio_broker_unsubscribe_latency_route_ms | Beschrijft het tijdsinterval tussen een zelftestclient die een AFMELD-pakket verzendt en een UNSUBACK-pakket ontvangt. Deze metrische waarde wordt per route gegenereerd. De metrische waarde wordt alleen gegenereerd als een AFMELDING is geslaagd. | |
aio_broker_unsubscribe_latency_last_value_ms | Een geschatte p99 van unsubscribe_latency_route_ms . |
|
aio_broker_unsubscribe_latency_mu_ms | De gemiddelde waarde van unsubscribe_latency_route_ms . |
|
aio_broker_unsubscribe_latency_sigma_ms | De standaarddeviatie van subscribe_latency_route_ms . |
|
aio_broker_publish_route_replication_correctness | Beschrijft of een afmeldingsaanvraag van een selftestclient correct wordt gerepliceerd langs een specifieke route. | |
aio_broker_publish_latency_route_ms | Beschrijft het tijdsinterval tussen een selftestclient die een PUBLISH-pakket verzendt en een PUBACK-pakket ontvangt. Deze metrische waarde wordt per route gegenereerd. De metrische waarde wordt alleen gegenereerd als een PUBLISH is geslaagd. | |
aio_broker_publish_latency_last_value_ms | Een geschatte p99 van publish_latency_route_ms . |
|
aio_broker_publish_latency_mu_ms | De gemiddelde waarde van publish_latency_route_ms . |
|
aio_broker_publish_latency_sigma_ms | De standaarddeviatie van publish_latency_route_ms . |
|
aio_broker_payload_check_latency_last_value_ms | Een geschatte p99-latentiecontrole van de laatste waarde. | |
aio_broker_payload_check_latency_mu_ms | De gemiddelde waarde van de latentiecontrole. | |
aio_broker_payload_check_latency_sigma_ms | De standaarddeviatie van de latentie van de nettolading. | |
aio_broker_payload_check_total_messages_lost | Het aantal nettoladingen van het totale bericht dat verloren is gegaan. | |
aio_broker_payload_check_total_messages_received | Het aantal ontvangen berichten. | |
aio_broker_payload_check_total_messages_sent | Het aantal verzonden berichten. | |
aio_broker_ping_correctness | Beschrijft of de ping van de selftestclient correct werkt. | |
aio_broker_ping_latency_last_value_ms | Een geschatte p99-pingbewerking van de laatste waarde. | |
aio_broker_ping_latency_mu_ms | De gemiddelde waarde van pingcontrole. | |
aio_broker_ping_latency_route_ms | De pinglatentie in milliseconden voor een specifieke route. | |
aio_broker_ping_latency_sigma_ms | De standaarddeviatie van de latentie van de pingbewerking. | |
aio_broker_publishes_processed_count | Beschrijft het verwerkte aantal gepubliceerde berichten. | |
aio_broker_publishes_received_per_second | Telt het aantal gepubliceerde berichten dat per seconde is ontvangen. | |
aio_broker_publishes_sent_per_second | Telt het aantal verzonden berichten dat per seconde is ontvangen. |
Metrische gegevens over de status van brokeroperator
Met deze set metrische gegevens wordt de kardinaliteitsstatus van de broker bijgehouden. Elke gewenste metriek wordt gekoppeld aan een gerapporteerde metriek om de huidige status weer te geven. Deze metrische gegevens geven het aantal gezonde pods aan vanuit het perspectief van de broker, wat kan verschillen van de rapporten van Kubernetes.
Als een back-endknooppunt bijvoorbeeld opnieuw wordt opgestart maar geen verbinding maakt met de keten, kan er sprake zijn van een discrepantie in statusrapporten. Kubernetes kan de pod als in orde rapporteren, terwijl de broker deze als offline rapporteert omdat deze niet goed werkt.
Gewenste metrische waarde | Gerapporteerde metrische gegevens |
---|---|
aio_broker_backend_replicas | aio_broker_backend_replicas_current |
aio_broker_backend_vertical_chain | aio_broker_backend_vertical_chain_current |
aio_broker_frontend_replicas | aio_broker_frontend_replicas_current |
Notitie
backend_vertical_chain_current
rapporteert het aantal knooppunten in de minst gezonde keten. Als de verwachte ketenlengte bijvoorbeeld 4 is en drie ketens vier gezonde knooppunten hebben terwijl één keten slechts 2 gezonde knooppunten heeft, backend_vertical_chain_current
zou 2 rapporteren.
Metrische gegevens over verbinding en abonnement
Deze metrische gegevens bieden waarneembaarheid voor de verbindingen en abonnementen op de broker.
Metrisch | Beschrijving | Tags |
---|---|---|
aio_broker_total_sessions | In de front-end en broker met één knooppunt geeft deze metrische waarde aan hoeveel clientsessies er zijn. Dit aantal omvat geen niet-verbonden permanente sessies, omdat een client mogelijk opnieuw verbinding maakt met een ander front-endknooppunt. Voor de back-end vertegenwoordigt deze metrische waarde de verbindingen met de andere knooppunten in de keten. In de operator geeft deze metrische waarde aan hoeveel front- en back-endknooppunten zijn verbonden. Voor de verificatieserver geeft deze metrische waarde aan hoeveel front-endwerkers zijn verbonden (1 per front-end per thread). | mqtt_version : [v3/v5] Alleen tags voor back-endknooppunten: is_tail : [true/false] chain_id : [n] |
aio_broker_store_total_sessions | Deze metrische waarde geeft aan hoeveel sessies zich in de back-endketen bevinden. Back-endknooppunten in dezelfde keten moeten hetzelfde aantal sessies rapporteren en de som van elke keten moet gelijk zijn aan de som van de total_sessions van de front-end. | is_persistent : [true/false] is_tail : [true/false] chain_id : [n] |
aio_broker_connected_sessions | Hetzelfde als aio_broker_total_sessions , behalve alleen sessies die een actieve verbinding hebben. |
|
aio_broker_store_connected_sessions | Hetzelfde als aio_broker_store_total_sessions , behalve alleen sessies die een actieve verbinding hebben. Als is_persistent dit onwaar is, moet dit aantal gelijk zijn aan het totale aantal sessies. |
|
aio_broker_total_subscriptions | In de front-end geeft deze metrische waarde aan hoeveel abonnementen de momenteel verbonden sessies hebben. Dit aantal omvat geen niet-verbonden permanente sessies, omdat een client mogelijk opnieuw verbinding maakt met een ander front-endknooppunt. Op de operator vertegenwoordigt deze metrische waarde de front-end- en back-endknooppunten. Voor de verificatieserver geeft deze metrische waarde aan hoeveel front-endwerkers zijn verbonden (1 per front-end per thread). | |
aio_broker_store_total_subscriptions | Deze metrische waarde geeft aan hoeveel abonnementen zich in de back-endketen bevinden. Back-endknooppunten in dezelfde keten moeten hetzelfde aantal abonnementen rapporteren. Dit aantal komt niet noodzakelijkerwijs overeen met de front-end's total_subscriptions , omdat deze metrische waarde ook verbroken permanente sessies bijhoudt. |
Metrische gegevens voor statusopslag
Met deze set metrische gegevens wordt de algehele status van het statusarchief bijgehouden.
Metrisch | Beschrijving | Tags |
---|---|---|
aio_broker_state_store_deletions | Met deze metrische waarde wordt het aantal ontvangen verwijderingssleutelaanvragen geteld, inclusief geslaagde verwijderingen en fouten. | |
aio_broker_state_store_insertions | Met deze metrische waarde wordt het aantal ontvangen aanvragen voor het invoegen van nieuwe sleutels geteld, inclusief geslaagde invoegingen en fouten. | |
aio_broker_state_store_keynotify_requests | Met deze metrische waarde wordt het aantal aanvragen geteld om sleutelwijzigingen (KEYNOTIFY) te controleren, inclusief geslaagde wijzigingen en fouten. | |
aio_broker_state_store_modifications | Met deze metrische waarde wordt het aantal ontvangen wijzigingssleutelaanvragen geteld, inclusief geslaagde wijzigingen en fouten. | |
aio_broker_state_store_notifications_sent | Met deze metrische waarde wordt het aantal meldingsberichten geteld dat door het statusarchief wordt verzonden wanneer een sleutelwaarde wordt gewijzigd en een client wordt geregistreerd via KEYNOTIFY. | |
aio_broker_state_store_retrievals | Met deze metrische waarde wordt het aantal ontvangen aanvragen voor sleutelwaarden geteld, inclusief geslaagde ophaal- en fouten. |
Metrische gegevens voor berichtbuffer met schijfsteun
Deze metrische gegevens bieden waarneembaarheid voor de berichtbuffer met schijfsteun.
Metrisch | Beschrijving | Tags |
---|---|---|
aio_broker_buffer_pool_used_percent | Rapporteert het percentage gebruikte buffer voor één front-end- of back-endbuffergroep. | name |
aio_broker_disk_transfers_completed | Rapporteert het aantal schijfoverdrachten dat is voltooid op een bepaalde back-endpod. Houdt het totale aantal publiceren bij dat is overgedragen van een buffergroep naar schijf. | |
aio_broker_disk_transfers_failed | Rapporteert het aantal schijfoverdrachten dat is mislukt op een bepaalde back-endpod. |
Notitie
Alleen bepaalde back-endbuffergroepen, met name de dynamische buffergroepen met de naam 'lezer', gebruiken de functie voor berichtbuffer met schijfsteun. Deze pools slaan berichtenwachtrijen voor abonnees op en dragen elementen over naar schijf wanneer het gebruik hoger is dan 75%.
Metrische gegevens over herstel van fouten
Metrisch | Beschrijving |
---|---|
aio_broker_store_transfer_batch_receiver_message_count | Met deze metrische gegevens wordt het aantal berichten gerapporteerd dat door de ontvanger van de winkeloverdracht is ontvangen. Dit aantal moet gelijk zijn aan het aantal berichten dat wordt verzonden door de afzender van de winkeloverdracht. |
aio_broker_store_transfer_batch_sender_transfer_bytes | Met deze metrische gegevens wordt het aantal bytes gerapporteerd dat is verzonden door de afzender van de winkeloverdracht. |
aio_broker_store_transfer_batch_sender_message_count | Met deze metrische gegevens wordt het aantal berichten gerapporteerd dat wordt verzonden door de afzender van de winkeloverdracht. |
aio_broker_store_transfer_ack_event_receiver_message_count | Met deze metrische gegevens wordt het aantal ack-gebeurtenisberichten gerapporteerd dat is ontvangen door de ontvanger van de winkeloverdracht. Dit aantal moet gelijk zijn aan het aantal ack-gebeurtenisberichten dat wordt verzonden door de afzender van de winkeloverdracht. |
aio_broker_store_transfer_ack_event_sender_message_count | Met deze metrische gegevens wordt het aantal ack-gebeurtenisberichten gerapporteerd dat wordt verzonden door de afzender van de winkeloverdracht. |
aio_broker_store_transfer_ack_event_sender_transfer_bytes | Met deze metrische gegevens wordt het aantal bytes gerapporteerd dat is verzonden door de afzender van de winkeloverdracht voor ack-gebeurtenissen. |
aio_broker_store_transfer_patch_tracker_receiver_message_count | Met deze metrische gegevens wordt het aantal patchtrackerberichten gerapporteerd dat is ontvangen door de ontvanger van de winkeloverdracht. Dit aantal moet gelijk zijn aan het aantal patchtrackerberichten dat wordt verzonden door de afzender van de winkeloverdracht. |
aio_broker_store_transfer_patch_tracker_sender_message_count | Met deze metrische gegevens wordt het aantal patchtrackerberichten gerapporteerd dat is verzonden door de afzender van de winkeloverdracht. |
Metrische gegevens voor ontwikkelaars
Deze metrische gegevens zijn handig voor foutopsporing voor ontwikkelaars.
Metrisch | Beschrijving |
---|---|
aio_broker_patch_tracker_held_patches | Met deze metrische gegevens wordt gerapporteerd hoeveel patches momenteel in een knooppunt in een keten worden bewaard. |
aio_broker_ack_handler_pending_transactions | Deze metrische gegevens melden hoeveel transacties momenteel in behandeling zijn in de ack-handler. |
aio_broker_client_connected | Met deze metrische gegevens wordt gerapporteerd hoeveel clients zijn verbonden. |
aio_broker_client_disconnected | Deze metrische gegevens melden hoeveel clients niet zijn verbonden. |
aio_broker_client_removed | Met deze metrische gegevens wordt gerapporteerd hoeveel clients worden verwijderd. |
Gerelateerde inhoud
- Configureer diagnostische instellingen voor MQTT-broker.
- Waarneembaarheid configureren