Avem câțiva producători și mai mulți consumatori conectați prin Kafka - practic, este vorba despre joburi de procesare în loturi care sunt create la cerere, plasate pe Kafka în mai multe cozi, iar procesatorii de loturi le preiau prin Kafka și le procesează unul câte unul.
Vreau să vizualizez și să monitorizez lungimile acestor cozi în Kafka. Lungimile cozii vor servi drept proxy pentru „încărcarea” întregului sistem. Cu cât sunt mai multe joburi în așteptare în cozi, cu atât sistemul este mai „încărcat”.
Kafka nostru este un cluster AWS MSK. Am activat monitorizarea Prometheus JMX și răzuiesc toate valorile la fiecare 10 secunde.
Privind valorile, nu există nimic care să pară imediat evident în ceea ce privește lungimea cozii. Este parametrul expus ca o valoare în mod implicit?
Dacă lungimea cozii nu este expusă în mod implicit, care este o modalitate bună de a colecta acea valoare? Să presupunem că pot scrie un script Python cu orice bibliotecă instalată și că am acces deplin la punctele finale Kafka de pe acesta.
Notă: înțeleg conceptele de bază, dar nu am prea multă experiență practică cu Kafka (am folosit doar RabbitMQ înainte), așa că îmi cer scuze dacă vocabularul meu nu este foarte precis. De exemplu. ceea ce am numit "coadă" se numește aparent "temă".