Synthetic Transactions | Kafka Documentation

Synthetic transaction monitoring is used by Instaclustr to provide a direct measure of the correct functioning of the system as seen by a client application. This is also used to measure SLA achievement. The synthetic transaction metrics highlight if a producer or consumer is unable to use a specific topic with a replication factor of 3. Rather than measuring if a specific broker is unavailable, its purpose is to measure if read/writes are unavailable given the redundancy measures that Kafka provides. Additionally, recording the latency of both producer and consumer synthetic transactions will determine the quality-of-service of the broker.

Synthetic Transaction Metrics

The Synthetic Transactions metric group contains metrics used by Instaclustr to monitor the cluster’s availability. These metrics are calculated on an automatically created instaclustr-sla topic. Instaclustr automatically monitors these metrics for you to ensure the performance of your cluster. The metrics available are:

  • Producer Latency
  • Producer Messages Processed
  • Producer Errors
  • Consumer Average Latency (End-to-End)
  • Consumer Records Processed

Producer Latency

The Producer Latency metric displays the average and maximum time taken in milliseconds for a message to be sent to each broker that is also successfully replicated to the specified number of minimum in-sync replicas. Increases in producer latency may be caused by increased load on the system causing delays in processing the produce requests, such as disk IO contention from other topics.
Graph displaying the Average Producer Latency for this Apache Kafka cluster

Graph displaying the maximum producer latency for this Apache Kafka cluster

Producer Messages Processed

The Producer Messages Processed metric displays the number of messages successfully produced in each interval to the synthetic transactions topic on each broker. Every 20 seconds, 30 messages are sent to each broker, so this number should be 30 unless producer errors occur.

Expected value: 30
Graph displaying the number of producer messages processed for this Apache Kafka cluster

Producer Errors

The Producer Errors metric displays the number of errors that occurred in each interval when attempting to produce a message to the synthetic transactions topic on each broker. The two main causes for producer errors are:

  • More nodes than the minimum number of in-sync replicas are unresponsive.
  • The instaclustr-sla topic has been deleted.

Expected value: 0

Graph displaying the number of producer errors for this Apache Kafka cluster

Consumer Average Latency (End-to-End)

The Consumer Average Latency (End-to-End) metric displays the average and maximum amount of time in milliseconds between a message being sent by the producer and it being received by the consumer. Increases in the consumer end-to-end latency can be caused by latency at any point from when the message is being produced to when the message is being consumed. For example, latency may be caused by increased load on the system, creating delays in producing requests, or delays in consuming requests.

Graph displaying the average end-to-end latency for the Kafka consumers on this Apache Kafka clusterGraph displaying the maximum average end to end latency for the Kafka consumers on this Apache Kafka cluster

Consumer Records Processed

The Consumer Records Processed metric displays the number of records successfully consumed in each interval from the synthetic transactions topic on each broker. Every 20 seconds, 30 messages are sent to each broker. If this metric drops below 30 and no producer errors are occurring, then messages are being missed by the consumer.

Expected value: 30

Graph displaying the number of consumer records processed on this Apache Kafka cluster

By Instaclustr Support
Need Support?
Experiencing difficulties on the website or console?
Already have an account?
Need help with your cluster?
Contact Support
Why sign up?
To experience the ease of creating and managing clusters via the Instaclustr Console
Spin up a cluster in minutes