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
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.
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.
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.
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.
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