Introduzione alle metriche client Kafka

Uomo d'affari che usa il laptop al bar in uno spazio di coworking

Autore

Uche Nwankwo

Product Manager

Event Streams on IBM Cloud

Apache Kafka si presenta come una piattaforma di memorizzare eventi open source e di elaborazione di flussi ampiamente riconosciuta. Si è evoluto diventando lo standard de facto per il data streaming, poiché oltre l'80% delle aziende Fortune 500 lo utilizza. Tutti i principali provider di cloud forniscono servizi di data streaming gestiti per soddisfare questa crescente domanda.

Un vantaggio chiave della scelta dei servizi gestiti di Kafka è la delega di responsabilità per i broker e le metriche operative, che consente agli utenti di concentrarsi esclusivamente sulle metriche specifiche delle applicazioni. In questo articolo, il Product Manager Uche Nwankwo fornisce indicazioni su una serie di metriche di produttori e consumatori che i clienti dovrebbero monitorare per ottenere prestazioni ottimali.

Con Kafka, il monitoraggio in genere coinvolge varie metriche correlate ad argomenti, partizioni, broker e gruppi di consumatori. Le metriche standard di Kafka includono informazioni su throughput, latenza, replica e utilizzo del disco. Consulta la documentazione di Kafka e gli strumenti di monitoraggio pertinenti per comprendere le metriche specifiche disponibili per la tua versione di Kafka e come interpretarle in modo efficace.

Design 3D di palline che rotolano su una pista

Le ultime notizie e insight sull'AI


Scopri notizie e insight selezionati da esperti in materia di AI, cloud e molto altro nella newsletter settimanale Think. 

Perché è importante monitorare i clienti di Kafka?

Monitorare i tuoi IBM® Event Streams per IBM® Cloud è fondamentale per garantire la funzionalità ottimale e lo stato di salute della tua pipeline dati. Monitorare i tuoi client Kafka aiuta a identificare i primi segnali di fallimento delle applicazioni, come un alto utilizzo delle risorse, consumatori in ritardo e colli di bottiglia. L'identificazione precoce di questi segnali d'allarme consente di rispondere in modo proattivo ai potenziali problemi, riducendo al minimo il tempo di inattività e prevenendo qualsiasi interruzione delle operazioni.

I client Kafka (producer e consumer) hanno un proprio insieme di metriche per monitorare le loro prestazioni e lo stato di salute. Inoltre, il servizio Event Streams supporta un ricco set di metriche prodotte dal server. Per maggiori informazioni, consulta Monitoraggio delle metriche di Event Streams utilizzando IBM® Cloud Monitoring.

IBM Kafka

Che cos'è Kafka?

Whitney Lee di IBM Cloud spiega come Apache Kafka, una piattaforma di streaming open source, consente agli sviluppatori di creare applicazioni che utilizzano i flussi di eventi per creare applicazioni ad alte prestazioni.

Metriche client da monitorare

Metriche dei produttori

 
 
Tasso di errore di registrazioneQuesta metrica misura il numero medio per secondo di record inviati che hanno causato errori. Un tasso di errori di registrazione elevato (o in aumento) potrebbe indicare una perdita di dati o un'elaborazione dei dati non conforme alle aspettative. Tutti questi effetti potrebbero compromettere l'integrità dei dati che stai elaborando e memorizzando in Kafka. Monitorare questa metrica aiuta a garantire che i dati inviati dai producer siano registrati in modo accurato e affidabile nei tuoi Kafka.
 
Request-latency-avgQuesta è la latenza media per ogni richiesta di produzione in ms. Un aumento della latenza influisce sulle prestazioni e potrebbe indicare un problema. Misurare le metriche di latenza media richiesta aiuta a identificare i colli di bottiglia all'interno della sua istanza. Per molte applicazioni, una bassa latenza è fondamentale per garantire un'esperienza utente di alta qualità e un picco di request-latency-avg potrebbe indicare che stai raggiungendo i limiti della tua istanza in provisioning. Puoi risolvere il problema modificando le impostazioni del produttore, ad esempio suddividendo in batch o ridimensionando il piano per ottimizzare le prestazioni.
 
Byte-rateIl numero medio di byte inviati al secondo per un argomento è una misura della tua produttività. Se trasmetti dati regolarmente, un calo di throughput può indicare un'anomalia nella tua istanza Kafka. Il piano Event Streams Enterprise parte da 150 MB al secondo, suddivisi uno a uno tra ingresso e uscita, ed è importante sapere quanto ne consuma per una pianificazione efficace della capacità. Non superare i due terzi del throughput massimo, per tenere conto del possibile impatto di azioni operative, come aggiornamenti interni o modalità di guasto (ad esempio, la perdita di una zona di disponibilità).
 

Metriche dei consumer
 

Fetch-rate
fetch-size-avg
Il numero di richieste di recupero al secondo (fetch-rate) e il numero medio di byte recuperati per richiesta (fetch-size-avg) sono indicatori chiave delle prestazioni dei tuoi consumatori Kafka. Un tasso di recupero elevato potrebbe segnalare un'inefficienza, soprattutto su un numero ridotto di messaggi, in quanto significa che i dati ricevuti ogni volta sono insufficienti (forse assenti). fetch-rate e il fetch-size-avg sono influenzati da tre impostazioni: fetch.min.bytes, fetch.max.bytes e fetch.max.wait.ms. Regola queste impostazioni per ottenere la latenza complessiva desiderata, minimizzando al contempo il numero di richieste di fetch e potenzialmente il carico sulla CPU del broker. Monitorare e ottimizzare entrambe le metriche garantisce che tu stia elaborando i dati in modo efficiente per i workload attuali e futuri.
 
Commit-latency-avgQuesta metrica misura il tempo medio tra l'invio di un record di commit e la ricezione della risposta di commit. Simile alla request-latency-avg come metrica, una commit-latency-avg stabile significa che i commit degli offset vengono eseguiti in modo tempestivo. Una latenza elevata potrebbe indicare problemi all'interno del consumatore che gli impediscono di impegnare rapidamente gli offset, il che ha un impatto diretto sull'affidabilità del trattamento dei dati. Potrebbe portare a un'elaborazione duplicata dei messaggi se un consumatore deve riavviare e rielaborare i messaggi a partire da un offset precedentemente non impegnato. Una latenza di commit elevata significa anche dedicare più tempo alle operazioni amministrative che all'elaborazione effettiva dei messaggi. Questo problema potrebbe portare a arretrati di messaggi in attesa di essere elaborati, specialmente in ambienti ad alto volume.
 
Bytes-consumed-rateSi tratta di una metrica consumer-fetch che misura il numero medio di byte consumati al secondo. Come nel caso di byte-rate come metrica producer, dovrebbe essere un metrico stabile e atteso. Un cambiamento improvviso nell'andamento previsto del tasso di consumo di byte potrebbe rappresentare un problema con le sue applicazioni. Un tasso basso potrebbe essere un segnale di efficienza nel fetch dei dati o di overprovisioning delle risorse. Un tasso più elevato potrebbe sovraccaricare le funzionalità dei consumatori e quindi richiedere il ridimensionamento, creando più consumer per bilanciare il carico o modificando le configurazioni dei consumer, come le dimensioni dei fetch.
 
Rebalance-rate-per-hourNumero di ribilanciamenti di gruppo a per ora. Il ribilanciamento avviene ogni volta che c'è un nuovo consumer o quando uno lascia il gruppo e causa un ritardo nell'elaborazione. Questo accade perché le partizioni vengono riassegnate, rendendo i consumer di Kafka meno efficienti se ci sono molti ribilanciamenti all'ora. Un tasso di ribilanciamento orario più elevato può essere causato da configurazioni errate che portano a comportamenti instabili dei consumer. Questo atto di riequilibrio può causare un aumento della latenza e potrebbe causare il crash delle applicazioni. Assicurati che i tuoi gruppi di consumer siano stabili monitorando un tasso di ribilanciamento orario basso e stabile.

Le metriche devono coprire una vasta gamma di applicazioni e casi d'uso. Event Streams su IBM Cloud fornisce un ricco insieme di metriche documentate qui e forniranno ulteriori insight utili a seconda del dominio della tua applicazione. Fasi successive. Scopri di più su Event Streams for IBM Cloud. 

Per il futuro:

Ora hai la conoscenza dei client di Kafka da monitorare. Ti invitiamo a mettere in pratica questi punti e provare l'offerta completamente gestita di Kafka su IBM Cloud. Per qualsiasi problema di configurazione, consulta la Guida introduttiva e le FAQ.

 
Soluzioni correlate
IBM Event Streams

IBM Event Streams è un software per lo streaming di eventi basato sull'open source Apache Kafka. È disponibile come servizio totalmente gestito su IBM Cloud o in self-hosting.

Esplora Event Streams
Software e soluzioni di integrazione

Sblocca il potenziale aziendale con le soluzioni di integrazione di IBM, collegando applicazioni e sistemi per accedere rapidamente e in modo sicuro ai dati d'importanza critica.

Esplora le soluzioni di integrazione
Servizi di consulenza cloud

Sblocca nuove funzionalità e promuovi l'agilità aziendale con i servizi di consulenza cloud di IBM.

Esplora i servizi di consulenza cloud
Prossimi passi

IBM Event Streams è un software per lo streaming di eventi basato sull'open source Apache Kafka. È disponibile come servizio totalmente gestito su IBM Cloud o in self-hosting.

  1. Esplora Event Streams
  2. Ottieni maggiori informazioni