Monit与卡夫卡

时间:2016-06-06 07:15:43

标签: monit

当Apache Kafka和Apache Zookeeper进程停止时,我希望在邮件中收到警报,当它停止时,它会自动重启它们。 Apache Kafka和Apache Zookeeper都没有创建任何pid文件,也没有在init脚本下。

Apache Zookeeper和Apache Kafka的我的monit控制文件定义如下

check process zookeeper match "config/zookeeper.properties"
   if not exist then exec "/Users/xxxx/kafka_2.10-0.9.0.1/bin/zookeeper-server-start.sh -c -d config/zookeeper.properties" and alert xxxx@gmail.com with reminder on 500 cycles

check process kafka match "config/server.properties"
  if not exist then exec "/Users/xxxx/kafka_2.10-0.9.0.1/bin/kafka-server-start.sh -c -d config/server.properties" and alert xxxx@gmail.com with reminder on 500 cycles

当我重新加载并启动monit时,它会出现'kafka'进程未运行并且'zookeeper'进程未运行的错误。

请帮助我如何重新启动Kafka和Zookeeper进程并获取邮件提醒

1 个答案:

答案 0 :(得分:1)

首先,它是“匹配”,而不是“匹配”。

其次,你的正则表达式模式不起作用。您可以使用

测试模式

monit procmatch "regex-pattern"

这将告诉您匹配是否有效。

第三,使用“启动程序”,“停止程序”来启动/停止kafka。

以下是我的监控示例:

check process kafka matching "java -Xmx1G.*kafka" start program "/bin/bash -c 'cd /usr/local/xxx/kafka_2.10-0.8.2.1/; bin/kafka-server-start.sh config/server.properties &'" stop program "/bin/bash -c 'cd /usr/local/xxx/kafka_2.10-0.8.2.1/; bin/kafka-server-stop.sh'" alert xxxx@gmail.com with reminder on 500 cycles