Sdílet prostřednictvím


Metriky pro zprostředkovatele MQTT

Zprostředkovatel MQTT poskytuje sadu metrik pozorovatelnosti, které můžete použít k monitorování a analýze stavu vašeho řešení. Tento článek popisuje dostupné metriky pro zprostředkovatele MQTT.

Informace o konfiguraci možností pro tyto metriky najdete v tématu Konfigurace nastavení diagnostiky zprostředkovatele MQTT.

Vlastnost uživatele MQTT Connect metriccategory

Když se klient připojí ke zprostředkovateli, může obsahovat vlastnost uživatele volanou metriccategory v paketu pro připojení. Zprostředkovatel pak označí všechny metriky řízené relacemi (například publikování a přihlášení k odběru) tímto způsobem metriccategory category.

Pokud se například sonda samokontroly připojí metriccategory=broker_selftestk , zprostředkovatele označí všechny metriky z těchto relací pomocí category=broker_selftest.

Tato funkce pomáhá řídicím panelům zobrazovat zdroje provozu bez problémů s vysokou kardinalitou při označování metrik témat.

Relace bez značky metriccategory category=uncategorized.

Metriky zasílání zpráv

Všechny metriky zahrnují hostname značku, která identifikuje pod, který metriky vygeneroval. Značky uvedené v popisech jednotlivých metrik se přidají k této značce.

Metrický Popis Značky
aio_broker_publishes_received Na front-endu tato metrika představuje, kolik příchozích paketů publikování se přijímá od klientů. U back-endu tato metrika představuje, kolik interních zpráv se odesílá z front-endových uzlů. category
aio_broker_publishes_sent Na front-endu tato metrika představuje, kolik odchozích paketů publikování se odesílá klientům. Pokud se ke stejnému tématu přihlašuje více klientů, počítá tato metrika každou odeslanou zprávu, i když mají stejnou datovou část. Tento počet nepočítá pakety ack. U back-endu tato metrika představuje, kolik interních zpráv se odesílá do front-endových uzlů. category
aio_broker_payload_bytes_received Součet datových částí všech přijatých publikování. Tento součet nezahrnuje velikost vlastností ani samotné publikování paketů. category
aio_broker_payload_bytes_sent Součetdatovýchchchchch Tento součet nezahrnuje velikost vlastností ani samotné publikování paketů. category
aio_broker_authentication_successes Tato metrika spočítá počet úspěšných žádostí o ověření. category
aio_broker_authentication_failures Tato metrika počítá počet neúspěšných žádostí o ověření. Pro bez chybový ověřovací server aio_broker_authentication_successes + aio_broker_authentication_failures = aio_broker_publishes_received = publishes_sent category
aio_broker_authentication_deny Tato metrika počítá počet zamítnutých žádostí o ověření. category
aio_broker_authorization_allow Tato metrika počítá žádosti o úspěšnou autorizaci. Tato metrika by měla být vždy menší než nebo rovna aio_broker_authentication_successes. category
aio_broker_authorization_deny Tato metrika počítá odepřené žádosti o autorizaci. Tato metrika by měla být vždy menší než nebo rovna aio_broker_authentication_successes. category
aio_broker_qos0_messages_dropped Tato metrika počítá počet vyřazených zpráv QoS0 z jakéhokoli důvodu. direction Kategorie je buď incoming nebo outgoing. category, direction
aio_broker_backpressure_packets_rejected Tato metrika počítá počet odmítnutých paketů kvůli zpětnému tlaku. Paket se odmítne, pokud je systém v kapacitě 97 %.
aio_broker_store_retained_messages Tato metrika počítá, kolik uchovávaných zpráv je uloženo ve zprostředkovateli.
aio_broker_store_retained_bytes Tato metrika počítá, kolik bajtů se ukládá prostřednictvím uchovávaných zpráv ve zprostředkovateli.
aio_broker_store_will_messages Tato metrika počítá, kolik zpráv bude uloženo ve zprostředkovateli.
aio_broker_store_will_bytes Tato metrika počítá, kolik bajtů se ukládá prostřednictvím zpráv zprostředkovatele.
aio_broker_number_of_routes Spočítá počet tras.
aio_broker_connect_route_replication_correctness Popisuje, jestli se požadavek na připojení z klienta samoobslužného testování správně replikuje na konkrétní trase.
aio_broker_connect_latency_route_ms Popisuje časový interval mezi klientem samoobslužného testování, který odesílá paket CONNECT a přijímá paket CONNACK. Tato metrika se generuje pro každou trasu. Metrika se vygeneruje pouze v případě, že je připojení úspěšné.
aio_broker_connect_latency_last_value_ms Odhadovaný počet p99 z connect_latency_route_ms.
aio_broker_connect_latency_mu_ms Střední hodnota connect_latency_route_ms.
aio_broker_connect_latency_sigma_ms Směrodatná odchylka connect_latency_route_ms.
aio_broker_subscribe_route_replication_correctness Popisuje, jestli se žádost o přihlášení k odběru z klienta samoobslužného testování správně replikuje na konkrétní trase.
aio_broker_subscribe_latency_route_ms Popisuje časový interval mezi klientem samoobslužného testování, který odesílá paket SUBSCRIBE a přijímá paket SUBACK. Tato metrika se generuje pro každou trasu. Metrika se vygeneruje jenom v případě, že je přihlášení k odběru úspěšné.
aio_broker_subscribe_latency_last_value_ms Odhadovaný počet p99 z subscribe_latency_route_ms.
aio_broker_subscribe_latency_mu_ms Střední hodnota subscribe_latency_route_ms.
aio_broker_subscribe_latency_sigma_ms Směrodatná odchylka subscribe_latency_route_ms.
aio_broker_unsubscribe_route_replication_correctness Popisuje, jestli se po konkrétní trase správně replikuje žádost o odhlášení odběru od odběru klienta samoobslužného testování.
aio_broker_unsubscribe_latency_route_ms Popisuje časový interval mezi samotestovacím klientem, který odesílá paket UNSUBSCRIBE a přijímá paket UNSUBACK. Tato metrika se generuje pro každou trasu. Metrika se vygeneruje jenom v případě, že odběr odběru proběhl úspěšně.
aio_broker_unsubscribe_latency_last_value_ms Odhadovaný počet p99 z unsubscribe_latency_route_ms.
aio_broker_unsubscribe_latency_mu_ms Střední hodnota unsubscribe_latency_route_ms.
aio_broker_unsubscribe_latency_sigma_ms Směrodatná odchylka subscribe_latency_route_ms.
aio_broker_publish_route_replication_correctness Popisuje, jestli se po konkrétní trase správně replikuje žádost o odhlášení odběru od odběru klienta samoobslužného testování.
aio_broker_publish_latency_route_ms Popisuje časový interval mezi klientem samoobslužného testování, který odesílá paket PUBLISH a přijímá paket PUBACK. Tato metrika se generuje pro každou trasu. Metrika se vygeneruje jenom v případě, že publikování proběhlo úspěšně.
aio_broker_publish_latency_last_value_ms Odhadovaný počet p99 z publish_latency_route_ms.
aio_broker_publish_latency_mu_ms Střední hodnota publish_latency_route_ms.
aio_broker_publish_latency_sigma_ms Směrodatná odchylka publish_latency_route_ms.
aio_broker_payload_check_latency_last_value_ms Odhadovaná kontrola latence poslední hodnoty p99
aio_broker_payload_check_latency_mu_ms Střední hodnota kontroly latence.
aio_broker_payload_check_latency_sigma_ms Směrodatná odchylka latence datové části.
aio_broker_payload_check_total_messages_lost Počet ztracených zpráv datové části
aio_broker_payload_check_total_messages_received Počet přijatých zpráv.
aio_broker_payload_check_total_messages_sent Počet odeslaných zpráv.
aio_broker_ping_correctness Popisuje, jestli příkaz ping z klienta samoobslužného testování funguje správně.
aio_broker_ping_latency_last_value_ms Odhadovaná operace ping s poslední hodnotou p99.
aio_broker_ping_latency_mu_ms Střední hodnota kontroly ping.
aio_broker_ping_latency_route_ms Latence příkazu ping v milisekundách pro konkrétní trasu.
aio_broker_ping_latency_sigma_ms Směrodatná odchylka latence operace ping.
aio_broker_publishes_processed_count Popisuje zpracovaný počet publikovaných zpráv.
aio_broker_publishes_received_per_second Spočítá počet přijatých publikovaných zpráv za sekundu.
aio_broker_publishes_sent_per_second Spočítá počet přijatých zpráv za sekundu.

Metriky stavu operátora zprostředkovatele

Tato sada metrik sleduje stav kardinality zprostředkovatele. Každá požadovaná metrika se spáruje s hlášenou metrikou, aby se zobrazil aktuální stav. Tyto metriky označují počet podů, které jsou v pořádku, z pohledu zprostředkovatele, které se můžou lišit od sestav Kubernetes.

Pokud se například back-endový uzel restartuje, ale znovu se nepřipojí ke svému řetězu, může dojít k nesrovnalostem v sestavách stavu. Kubernetes může pod hlásit jako v pořádku, zatímco zprostředkovatel ho hlásí jako nefunkční, protože nefunguje správně.

Požadovaná metrika Hlášená metrika
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

Poznámka:

backend_vertical_chain_current hlásí počet uzlů, které jsou v pořádku, v nejméně zdravém řetězci. Pokud je například očekávaná délka řetězce 4 a tři řetězy mají 4 uzly v pořádku, zatímco jeden řetězec má pouze 2 uzly v pořádku, backend_vertical_chain_current hlásí 2.

Metriky připojení a předplatného

Tyto metriky poskytují pozorovatelnost připojení a předplatných na zprostředkovateli.

Metrický Popis Značky
aio_broker_total_sessions Na front-endu a zprostředkovateli s jedním uzlem tato metrika představuje, kolik relací klientů existuje. Tento počet nezahrnuje odpojené trvalé relace, protože se klient může znovu připojit k jinému front-endovému uzlu. U back-endu tato metrika představuje jeho připojení k ostatním uzlům ve svém řetězu. U operátoru tato metrika představuje, kolik front-endových a back-endových uzlů je připojených. Pro ověřovací server představuje tato metrika, kolik front-endových pracovních procesů je připojených (1 na front-end na vlákno). mqtt_version: [v3/v5]
Značky pouze back-endového uzlu:
is_tail: [true/false]
chain_id: [n]
aio_broker_store_total_sessions Tato metrika představuje, kolik relací je v back-endovém řetězci. Back-endové uzly ve stejném řetězci by měly hlásit stejný počet relací a součet každého řetězce by měl odpovídat součtu total_sessions front-endu. is_persistent: [true/false]
is_tail: [true/false]
chain_id: [n]
aio_broker_connected_sessions Stejné jako aio_broker_total_sessionsrelace s výjimkou pouze relací, které mají aktivní připojení.
aio_broker_store_connected_sessions Stejné jako aio_broker_store_total_sessionsrelace s výjimkou pouze relací, které mají aktivní připojení. Pokud is_persistent je false, měl by se tento počet shodovat s celkovými relacemi.
aio_broker_total_subscriptions Na front-endu tato metrika představuje, kolik předplatných aktuálně připojených relací má. Tento počet nezahrnuje odpojené trvalé relace, protože se klient může znovu připojit k jinému front-endovému uzlu. V operátoru tato metrika představuje front-endové a back-endové uzly. Pro ověřovací server představuje tato metrika, kolik front-endových pracovních procesů je připojených (1 na front-end na vlákno).
aio_broker_store_total_subscriptions Tato metrika představuje, kolik předplatných je v back-endovém řetězci. Back-endové uzly ve stejném řetězci by měly hlásit stejný počet odběrů. Tento počet nemusí nutně odpovídat front-endu total_subscriptions, protože tato metrika sleduje také odpojené trvalé relace.

Metriky úložiště stavů

Tato sada metrik sleduje celkový stav úložiště stavů.

Metrický Popis Značky
aio_broker_state_store_deletions Tato metrika spočítá počet přijatých žádostí o klíč odstranění, včetně úspěšných odstranění i chyb.
aio_broker_state_store_insertions Tato metrika spočítá počet přijatých žádostí o vložení nového klíče, včetně úspěšných vložení i chyb.
aio_broker_state_store_keynotify_requests Tato metrika počítá počet žádostí o monitorování přijatých změn klíčů (KEYNOTIFY), včetně úspěšných úprav i chyb.
aio_broker_state_store_modifications Tato metrika spočítá počet přijatých změn požadavků na klíč, včetně úspěšných úprav i chyb.
aio_broker_state_store_notifications_sent Tato metrika spočítá počet oznámení zpráv, které úložiště stavů odešle, když se změní hodnota klíče a klient je registrován prostřednictvím keyNOTIFY.
aio_broker_state_store_retrievals Tato metrika spočítá počet přijatých požadavků na načtení hodnoty klíče, včetně úspěšných načtení i chyb.

Metriky vyrovnávací paměti zpráv založené na disku

Tyto metriky poskytují pozorovatelnost vyrovnávací paměti zpráv založené na disku.

Metrický Popis Značky
aio_broker_buffer_pool_used_percent Hlásí procento použité vyrovnávací paměti pro jeden front-endový nebo back-endový fond vyrovnávací paměti. name
aio_broker_disk_transfers_completed Zaznamenává počet přenosů disků dokončených na daném back-endovém podu. Sleduje celkový počet publikování přenesených z fondu vyrovnávací paměti na disk.
aio_broker_disk_transfers_failed Hlásí počet přenosů disků, které selhaly na daném back-endovém podu.

Poznámka:

Pouze některé fondy back-endových vyrovnávacích pamětí, konkrétně dynamické fondy s názvem čtenář, používají funkci vyrovnávací paměti zpráv založené na disku. Tyto fondy ukládají fronty zpráv odběratele a přenesou prvky na disk, pokud využití překročí 75 %.

Metriky obnovení selhání

Metrický Popis
aio_broker_store_transfer_batch_receiver_message_count Tato metrika hlásí počet zpráv přijatých příjemcem přenosu úložiště. Tento počet by se měl rovnat počtu zpráv odeslaných odesílatelem přenosu z obchodu.
aio_broker_store_transfer_batch_sender_transfer_bytes Tato metrika hlásí počet bajtů odeslaných odesílatelem přenosu úložiště.
aio_broker_store_transfer_batch_sender_message_count Tato metrika hlásí počet zpráv odeslaných odesílatelem přenosu z obchodu.
aio_broker_store_transfer_ack_event_receiver_message_count Tato metrika hlásí počet zpráv událostí ack přijatých příjemcem přenosu úložiště. Tento počet by se měl rovnat počtu zpráv událostí ack odesílaných odesílatelem přenosu úložiště.
aio_broker_store_transfer_ack_event_sender_message_count Tato metrika hlásí počet zpráv událostí ack odesílaných odesílatelem přenosu úložiště.
aio_broker_store_transfer_ack_event_sender_transfer_bytes Tato metrika hlásí počet bajtů odeslaných odesílatelem přenosu úložiště pro události ack.
aio_broker_store_transfer_patch_tracker_receiver_message_count Tato metrika hlásí počet zpráv sledování oprav přijatých příjemcem přenosu úložiště. Tento počet by se měl rovnat počtu zpráv sledování oprav odeslaných odesílatelem přenosu úložiště.
aio_broker_store_transfer_patch_tracker_sender_message_count Tato metrika hlásí počet zpráv sledování oprav odeslaných odesílatelem přenosu úložiště.

Metriky pro vývojáře

Tyto metriky jsou užitečné pro ladění vývojářů.

Metrický Popis
aio_broker_patch_tracker_held_patches Tato metrika hlásí, kolik oprav se aktuálně nachází v uzlu v řetězu.
aio_broker_ack_handler_pending_transactions Tato metrika hlásí, kolik transakcí aktuálně čeká v obslužné rutině ack.
aio_broker_client_connected Tato metrika hlásí, kolik klientů je připojených.
aio_broker_client_disconnected Tato metrika hlásí, kolik klientů je odpojeno.
aio_broker_client_removed Tato metrika hlásí, kolik klientů se odebere.