Apache Kafka stands as a well known open supply occasion retailer and stream processing platform. It has developed into the de facto commonplace for knowledge streaming, as over 80% of Fortune 500 corporations use it. All main cloud suppliers present managed knowledge streaming companies to satisfy this rising demand.
One key benefit of choosing managed Kafka companies is the delegation of accountability for dealer and operational metrics, permitting customers to focus solely on metrics particular to functions. On this article, Product Supervisor Uche Nwankwo supplies steerage on a set of producer and shopper metrics that clients ought to monitor for optimum efficiency.
With Kafka, monitoring usually entails varied metrics which are associated to subjects, partitions, brokers and shopper teams. Commonplace Kafka metrics embrace info on throughput, latency, replication and disk utilization. Confer with the Kafka documentation and related monitoring instruments to know the precise metrics accessible to your model of Kafka and find out how to interpret them successfully.
Why is it vital to observe Kafka purchasers?
Monitoring your IBM® Occasion Streams for IBM Cloud® occasion is essential to make sure optimum performance and total well being of your knowledge pipeline. Monitoring your Kafka purchasers helps to determine early indicators of utility failure, reminiscent of excessive useful resource utilization and lagging shoppers and bottlenecks. Figuring out these warning indicators early permits proactive response to potential points that decrease downtime and stop any disruption to enterprise operations.
Kafka purchasers (producers and shoppers) have their very own set of metrics to observe their efficiency and well being. As well as, the Occasion Streams service helps a wealthy set of metrics produced by the server. For extra info, see Monitoring Occasion Streams metrics through the use of IBM Cloud Monitoring.
Consumer metrics to observe
Producer metrics
MetricDescriptionRecord-error-rateThis metric measures the typical per-second variety of information despatched that resulted in errors. A excessive (or a rise in) record-error-rate would possibly point out a loss in knowledge or knowledge not being processed as anticipated. All these results would possibly compromise the integrity of the info you might be processing and storing in Kafka. Monitoring this metric helps to make sure that knowledge being despatched by producers is precisely and reliably recorded in your Kafka subjects.Request-latency-avgThis is the typical latency for every produce request in ms. A rise in latency impacts efficiency and would possibly sign a problem. Measuring the request-latency-avg metric may also help to determine bottlenecks inside your occasion. For a lot of functions, low latency is essential to make sure a high-quality consumer expertise and a spike in request-latency-avg would possibly point out that you’re reaching the boundaries of your provisioned occasion. You possibly can repair the difficulty by altering your producer settings, for instance, by batching or scaling your plan to optimize efficiency.Byte-rateThe common variety of bytes despatched per second for a subject is a measure of your throughput. In case you stream knowledge frequently, a drop in throughput can point out an anomaly in your Kafka occasion. The Occasion Streams Enterprise plan begins from 150MB-per-second cut up one-to-one between ingress and egress, and it is very important know the way a lot of that you’re consuming for efficient capability planning. Don’t go above two-thirds of the utmost throughput, to account for the potential influence of operational actions, reminiscent of inside updates or failure modes (for instance, the lack of an availability zone).
Scroll to view full desk
Desk 1. Producer metrics
Client metrics
MetricDescriptionFetch-ratefetch-size-avgThe variety of fetch requests per second (fetch-rate) and the typical variety of bytes fetched per request (fetch-size-avg) are key indicators for a way properly your Kafka shoppers are performing. A excessive fetch-rate would possibly sign inefficiency, particularly over a small variety of messages, because it means inadequate (presumably no) knowledge is being acquired every time. The fetch-rate and fetch-size-avg are affected by three settings: fetch.min.bytes, fetch.max.bytes and fetch.max.wait.ms. Tune these settings to realize the specified total latency, whereas minimizing the variety of fetch requests and doubtlessly the load on the dealer CPU. Monitoring and optimizing each metrics ensures that you’re processing knowledge effectively for present and future workloads.Commit-latency-avgThis metric measures the typical time between a dedicated document being despatched and the commit response being acquired. Just like the request-latency-avg as a producer metric, a steady commit-latency-avg signifies that your offset commits occur in a well timed method. A high-commit latency would possibly point out issues throughout the shopper that stop it from committing offsets rapidly, which instantly impacts the reliability of knowledge processing. It would result in duplicate processing of messages if a shopper should restart and reprocess messages from a beforehand uncommitted offset. A high-commit latency additionally means spending extra time in administrative operations than precise message processing. This challenge would possibly result in backlogs of messages ready to be processed, particularly in high-volume environments.Bytes-consumed-rateThis is a consumer-fetch metric that measures the typical variety of bytes consumed per second. Just like the byte-rate as a producer metric, this needs to be a steady and anticipated metric. A sudden change within the anticipated development of the bytes-consumed-rate would possibly symbolize a problem along with your functions. A low charge is perhaps a sign of effectivity in knowledge fetches or over-provisioned assets. The next charge would possibly overwhelm the shoppers’ processing functionality and thus require scaling, creating extra shoppers to steadiness out the load or altering shopper configurations, reminiscent of fetch sizes.Rebalance-rate-per-hourThe variety of group rebalances participated per hour. Rebalancing happens each time there’s a new shopper or when a shopper leaves the group and causes a delay in processing. This occurs as a result of partitions are reassigned making Kafka shoppers much less environment friendly if there are numerous rebalances per hour. The next rebalance charge per hour could be attributable to misconfigurations resulting in unstable shopper habits. This rebalancing act could cause a rise in latency and would possibly lead to functions crashing. Make sure that your shopper teams are steady by monitoring a low and steady rebalance-rate-per-hour.
Scroll to view full desk
Desk 2. Client metrics
The metrics ought to cowl all kinds of functions and use instances. Occasion Streams on IBM Cloud present a wealthy set of metrics which are documented right here and can present additional helpful insights relying on the area of your utility. Take the following step. Study extra about Occasion Streams for IBM Cloud.
What’s subsequent?
You’ve now received the data on important Kafka purchasers to observe. You’re invited to place these factors into apply and check out the totally managed Kafka providing on IBM Cloud. For any challenges in arrange, see the Getting Began Information and FAQs.
Study extra about Kafka and its use instances
Provision an occasion of Occasion Streams on IBM Cloud