背景
做online Service埋点设计,塞了很多节点,采用了base64压缩,希望能监控当前消息的大小,防止超过threshold后无法正常发送。
kafka基本架构
producer metrics
其中有两个参数用来表征在kafka的producer的client里,发送的record的size。这些metrics可以通过JMX的MBeans里的configurable properties获得。需要主动导入Prometheus才可以进行深入分析。
record-size-avg The average record size
record-size-max The maximum record size
那么如何将JMX的一些metrics导入Prometheus呢?
这里有一篇文章讲述如何导出的例子,改文章里的例子单独摘在下方:
附上JMX导入Prometheus的示例:
java agent
producer configs
可以看到默认的时间窗口是30ms,但是metrics的计算至少需要两个samples。所以窗口可以理解为60s。