Kafka Connect警报选项?

时间:2017-08-10 20:19:10

标签: apache-kafka apache-kafka-connect

对于Kafka Connect Connector或Connector任务失败或遇到错误的情况,是否有任何警报选项?

我们已经运行Kafka Connect,它运行良好,但我们有错误需要手动跟踪和发现。通常,在人类注意到问题之前,它已处于错误状态一个星期。

5 个答案:

答案 0 :(得分:2)

在Randall所说的基础上,这个shell脚本使用Confluent CLI来显示所有连接器和任务的状态。您可以将其作为警报的基础:

a = imread('circlesBrightDark.png');
bw = a < 100;
s = regionprops('table',bw,'BoundingBox','ConvexHull')

答案 1 :(得分:2)

(我仍然无法发表评论,以回应黏土的回答...)

注意:JMX指标中的任务/连接器状态存在错误(发布时:2020年5月11日)

1)任务失败时,其状态指标就会消失。这是一个已知问题,正在修复中。 Jira can be found herePR can be found here

2)不要使用连接器指标来监视任务的状态。连接器可以显示为运行良好,但是任务可以处于失败状态,您需要监视直接执行任务。这在Confluent的Connector monitoring tips中有所提及:

In most cases, connector and task states will match, though they may be different for short periods of time when changes are occurring or if tasks have failed. For example, when a connector is first started, there may be a noticeable delay before the connector and its tasks have all transitioned to the RUNNING state. States will also diverge when tasks fail since Connect does not automatically restart failed tasks.

答案 2 :(得分:1)

我知道这是一个非常老的问题,所以当我们遇到一个类似的问题时,因为我们大量使用Kafka Connect,并且很难单独监视每个连接器,尤其是当您要管理超过150个以上的设备时连接器。

因此,我们已经编写了一个基于Kotlin的小型应用程序,该应用程序接受一个config.json,您可以在其中指定集群配置,如果指定了smtp config,它将根据指定的递归间隔继续轮询集群,并且将发送基于邮件的警报。

如果适合您的用例,请使用并在遇到任何问题时提出问题。

回购链接如下: https://github.com/gunjdesai/kafka-connect-monit

该映像也被推送到Docker Hub上,您可以使用以下命令直接运行该映像。

docker run -d -v <location-of-your-config-file.json>:/home/code/config.json gunjdesai/kafka-connect-monit

希望这可能对您有帮助

答案 3 :(得分:0)

自从撰写/回答了这篇文章以来,Kafka Connect开始提供自己的官方指标。 Apache Kafka Connect以旧版JMX格式提供指标。

如果您使用Confluent Kafka Connect Helm Charts(https://github.com/confluentinc/cp-helm-charts/tree/master/charts/cp-kafka-connect),它们将包含Prometheus指标导出器。

我从Confluent Helm Chart Prometheus图表监视cp_kafka_connect_connect_connector_metrics{status="running"}并发出警报,但是有很多变化。

通常,对于任何自动监视+警报设置,通常首选使用Kafka Connect官方指标。写此帖子并回答时,此选项无法使用。

仅供参考,Kafka仍然没有公开滞后指标,因此您仍然需要第三方选项来监视和提醒滞后。

答案 4 :(得分:0)

我知道现在有点晚了,但这可能会完成人们在这里建议的内容,改进 KC 集群监控的一种方法是使用此 Kafka Connect REST 扩展: https://github.com/LoObp4ck/kafka-connect-healthchecks

然后让您的监控定期作业检查此端点,以确保所有连接器任务都运行良好。 我们在生产中使用它,它可以完成工作

jar 也可以在 maven central 中使用,如下所示:

<dependency>
  <groupId>net.loobpack.kafka-connect-healthchecks</groupId>
  <artifactId>kafka-connect-healthcheck-extension</artifactId>
  <version>1.0.0</version>
</dependency>