最近遇到一个需求,就是业务方需要自定义metric,并且metric中不能有metricgroup。比如:flink_taskmanager_job_task_operater_numCount{groupName=“1”,appName=47.387434398493,…}。
刚开始,本人理解错了,以为就是简单的增加自定义metric,我就想,flink本身就支持啊,就将如下代码发了过去:
override def map(value: SensorReading): SensorReading = {
getRuntimeContext.getMetricGroup
.addGroup("groupName",value.id)
.addGroup("appName",value.temperature.toString)
.addGroup("aaa")
.counter("numCount")
.inc
value
}
在prometheus(http://localhost:9090/metrics)的metrics中出现了
flink_taskmanager_job_task_operater_groupName_appName_aaa_numCount{groupName="1",appName=47.387434398493,...}。
但是这不能满足业务方的要求,他们想要的效果是:
flink_taskmanager_job_task_operater_numCount{groupName="1",appName=47.387434398493,...}。
那该怎么办呢?更多内容请查看公众号:BeBetter4Me