在kafka connect中,应该使用哪个jmx度量来监视连接器的状态?

von4xj4u  于 2021-06-06  发布在  Kafka
关注(0)|答案(3)|浏览(657)

我使用以下jmx度量来实现kafka connect。

nnvyjq4y

nnvyjq4y1#

连接器状态在kafka下可用。connect:type=connector-metrics. 使用jmxterm,您可能会注意到属性被描述为double而不是string:

$>info

# mbean = kafka.connect:connector=dev-kafka-connect-mssql,type=connector-metrics

# class name = org.apache.kafka.common.metrics.JmxReporter$KafkaMbean

# attributes

  %0   - connector-class (double, r)
  %1   - connector-type (double, r)
  %2   - connector-version (double, r)
  %3   - status (double, r)

$>get status

# mbean = kafka.connect:connector=dev-kafka-connect-mssql,type=connector-metrics:

status = running;

这导致来自我的监视代理的警告日志:

2018-05-23 14:35:53,966 | WARN | JMXAttribute | Unable to get metrics from kafka.connect:type=connector-metrics,connector=dev-kafka-connect-rabbitmq-orders - status
java.lang.NumberFormatException: For input string: "running"
        at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:2043)
        at sun.misc.FloatingDecimal.parseDouble(FloatingDecimal.java:110)
        at java.lang.Double.parseDouble(Double.java:538)
        at org.datadog.jmxfetch.JMXAttribute.castToDouble(JMXAttribute.java:270)
        at org.datadog.jmxfetch.JMXSimpleAttribute.getMetrics(JMXSimpleAttribute.java:32)
        at org.datadog.jmxfetch.JMXAttribute.getMetricsCount(JMXAttribute.java:226)
        at org.datadog.jmxfetch.Instance.getMatchingAttributes(Instance.java:332)
        at org.datadog.jmxfetch.Instance.init(Instance.java:193)
        at org.datadog.jmxfetch.App.instantiate(App.java:604)
        at org.datadog.jmxfetch.App.init(App.java:658)
        at org.datadog.jmxfetch.App.main(App.java:140)

每个监控系统可能有不同的修复,但我怀疑原因可能是相同的?

pn9klfpd

pn9klfpd2#

我仍然没有足够的代表发表评论,但我可以回答。。。
在详细阐述mickael的答案时,要小心:当前任务度量在任务处于失败状态时会消失,而不是显示为失败状态。在这里可以找到吉拉,在这里可以找到公关

nwnhqdif

nwnhqdif3#

看看kafka文档中的connect monitoring部分,它列出了kafka connect的所有特定指标。
例如,每个连接器都有总体指标: kafka.connect:type=connector-metrics,connector="{connector}" 包含连接器状态(运行、失败等) kafka.connect:type=connector-task-metrics,connector="{connector}",task="{task}" 其中包含单个任务的状态
如果您想要的不仅仅是状态,那么对于接收任务和源任务还有其他度量:
kafka.connect:type=connector-task-metrics,connector="{connector}",task="{task}" kafka.connect:type=sink-task-metrics,connector="{connector}",task="{task}"

相关问题