Delen via


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.