监控Debezium开云体育官方注册网址
监视Debezium连接器的指标开云体育官方注册网址
除了Kafka、Zookeeper和Kafka Connect中内置的对JMX指标的支持外,每个连接器都提供了额外的指标,您可以使用这些指标来监视它们的活动。
在本地安装中启用JMX
使用Zookeeper、Kafka和Kafka Connect,你可以在启动每个服务时通过设置适当的环境变量来启用JMX。
Zookeeper JMX环境变量
Zookeeper内置了对JMX的支持。当使用本地安装运行Zookeeper时,会使用zkServer.sh
脚本识别以下环境变量:
-
JMXPORT
-
启用JMX并指定将用于JMX的端口号。该值用于指定JVM参数
-Dcom.sun.management.jmxremote.port = $ JMXPORT
. -
JMXAUTH
-
JMX客户端连接时是否必须使用密码身份验证。肯定是其中之一
真正的
或假
.默认为假
.该值用于指定JVM参数-Dcom.sun.management.jmxremote.authenticate = $ JMXAUTH
. -
JMXSSL
-
JMX客户端是否使用SSL/TLS连接。肯定是其中之一
真正的
或假
.默认为假
.该值用于指定JVM参数-Dcom.sun.management.jmxremote.ssl = $ JMXSSL
. -
JMXLOG4J
-
是否应该禁用Log4J JMX mbean。肯定是其中之一
真正的
(默认)或假
.默认为真正的
.该值用于指定JVM参数-Dzookeeper.jmx.log4j.disable = $ JMXLOG4J
.
Kafka JMX环境变量
当使用本地安装运行Kafka时kafka-server-start.sh
脚本识别以下环境变量:
-
JMX_PORT
-
启用JMX并指定将用于JMX的端口号。该值用于指定JVM参数
-Dcom.sun.management.jmxremote.port = $ JMX_PORT
. -
KAFKA_JMX_OPTS
-
JMX选项,在启动期间直接传递给JVM。默认选项为:
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.authenticate = false
-Dcom.sun.management.jmxremote.ssl = false
连接JMX环境变量
当使用本地安装运行Kafka时connect-distributed.sh
脚本识别以下环境变量:
-
JMX_PORT
-
启用JMX并指定将用于JMX的端口号。该值用于指定JVM参数
-Dcom.sun.management.jmxremote.port = $ JMX_PORT
. -
KAFKA_JMX_OPTS
-
JMX选项,在启动期间直接传递给JVM。默认选项为:
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.authenticate = false
-Dcom.sun.management.jmxremote.ssl = false
在Docker中启用JMX
如果你在Docker容器中运行Zookeeper、Kafka和Kafka Connect,启用JMX需要几个在本地机器上运行时通常不需要的额外环境变量。这是因为JVM需要主机名,它将通过该主机名向JMX客户机发布自己。因此,Deb开云体育官方注册网址ezium用于Zookeeper、Kafka和Kafka Connect的Docker映像使用了几个环境变量来启用和配置JMX。对于所有图像,大多数环境变量都是相同的,但有一些小的差异。
Docker中的Zookeeper JMX环境变量
的开云体育官方注册网址debezium /管理员
image可以识别以下与jmx相关的环境变量:
-
JMXPORT
(必需) -
将用于JMX的端口号。用于指定以下JVM参数:
-Dcom.sun.management.jmxremote.port = $ JMXPORT
-Dcom.sun.management.jmxremote.rmi.port = $ JMXPORT
-
JMXHOST
(必需) -
Docker主机的IP地址或可解析的主机名,JMX使用它来构造发送给JMX客户端的URL。值为
本地主机
或127.0.0.1
不会起作用。通常情况下,0.0.0.0
可以使用。该值用于指定JVM参数-Djava.rmi.server.hostname = $ JMXHOST
. -
JMXAUTH
-
JMX客户端连接时是否必须使用密码身份验证。肯定是其中之一
真正的
或假
.默认为假
.该值用于指定JVM参数-Dcom.sun.management.jmxremote.authenticate = $ JMXAUTH
. -
JMXSSL
-
JMX客户端是否使用SSL/TLS连接。肯定是其中之一
真正的
或假
.默认为假
.该值用于指定JVM参数-Dcom.sun.management.jmxremote.ssl = $ JMXSSL
. -
JMXLOG4J
-
是否应该禁用Log4J JMX mbean。肯定是其中之一
真正的
或假
.默认为真正的
.该值用于指定JVM参数-Dzookeeper.jmx.log4j.disable = $ JMXLOG4J
.
下面的示例Docker命令使用开云体育官方注册网址debezium /管理员
属性的值JMXPORT
而且JMXHOST
并将Docker主机的端口9010映射到容器的JMX端口:
$ docker run -it——rm——name zookeeper -p 2181:2181 -p 2888:2888 -p 3888:3888 -p 9010:9010 -e JMXPORT=9010 -e JMXHOST=10.0.1.10 de开云体育官方注册网址bezium/zookeeper:最新版本
Kafka JMX环境变量在Docker
的开云体育官方注册网址debezium /卡夫卡
image可以识别以下与jmx相关的环境变量:
-
JMXPORT
(必需) -
将用于JMX的端口号。用于指定以下JVM参数:
-Dcom.sun.management.jmxremote.port = $ JMXPORT
-Dcom.sun.management.jmxremote.rmi.port = $ JMXPORT
-
JMXHOST
(必需) -
Docker主机的IP地址或可解析的主机名,JMX使用它来构造发送给JMX客户端的URL。值为
本地主机
或127.0.0.1
不会起作用。通常情况下,0.0.0.0
可以使用。该值用于指定JVM参数-Djava.rmi.server.hostname = $ JMXHOST
. -
JMXAUTH
-
JMX客户端连接时是否必须使用密码身份验证。肯定是其中之一
真正的
或假
.默认为假
.该值用于指定JVM参数-Dcom.sun.management.jmxremote.authenticate = $ JMXAUTH
. -
JMXSSL
-
JMX客户端是否使用SSL/TLS连接。肯定是其中之一
真正的
或假
.默认为假
.该值用于指定JVM参数-Dcom.sun.management.jmxremote.ssl = $ JMXSSL
.
下面的示例Docker命令使用开云体育官方注册网址debezium /卡夫卡
属性的值JMXPORT
而且HOST_NAME
并将Docker主机的端口9011映射到容器的JMX端口:
$ docker run -it——rm——name kafka -p 9092:9092 -p 9011:9011 -e JMXPORT=9011 -e JMXHOST=10.0.1.10——link zookeeper:zookeeper deb开云体育官方注册网址ezium/kafka:latest .
Kafka连接Docker中的JMX环境变量
的开云体育官方注册网址debezium /连接
image可以识别以下与jmx相关的环境变量:
-
JMXPORT
(必需) -
将用于JMX的端口号。用于指定以下JVM参数:
-Dcom.sun.management.jmxremote.port = $ JMXPORT
-Dcom.sun.management.jmxremote.rmi.port = $ JMXPORT
-
JMXHOST
(必需) -
Docker主机的IP地址或可解析的主机名,JMX使用它来构造发送给JMX客户端的URL。值为
本地主机
或127.0.0.1
不会起作用。通常情况下,0.0.0.0
可以使用。该值用于指定JVM参数-Djava.rmi.server.hostname = $ JMXHOST
. -
JMXAUTH
-
JMX客户端连接时是否必须使用密码身份验证。肯定是其中之一
真正的
或假
.默认为假
.该值用于指定JVM参数-Dcom.sun.management.jmxremote.authenticate = $ JMXAUTH
. -
JMXSSL
-
JMX客户端是否使用SSL/TLS连接。肯定是其中之一
真正的
或假
.默认为假
.该值用于指定JVM参数-Dcom.sun.management.jmxremote.ssl = $ JMXSSL
.
下面的示例Docker命令使用开云体育官方注册网址debezium /连接
属性的值JMXPORT
而且JMXHOST
并将Docker主机的端口9012映射到容器的JMX端口:
$ docker run -it——rm——name connect \ -p 8083:8083 -p 9012:9012 \ -e JMXPORT=9012 -e JMXHOST=10.0.1.10 \ -e GROUP_ID=1 \ -e CONFIG_STORAGE_TOPIC=my_connect_configs \ -e OFFSET_STORAGE_TOPIC=my_connect_offset \ -e STATUS_STORAGE_TOPIC=my_connect_status \——link zookeeper:zookeeper \——link kafka:kafka \——link mysql:mysql \ debezium开云体育官方注册网址/connect:latest
使用普罗米修斯和格拉夫娜
Debezium和Kafka公开的指标可以导出开云体育官方注册网址和显示普罗米修斯而且Grafana.中可以找到用于不同连接器的所需配置和示例仪表板的示例开云体育官方注册网址Debezium示例库.
这些仪表板不是Debezium本身的一部分,而是在尽最大努力的基础开云体育官方注册网址上进行维护。 |