Kafka专业监控系统Kafka Eagle:支持kerberos认证,并且对接星环TDH集群

 

在线文档:https://ke.smartloli.org/

作者博客:https://www.cnblogs.com/wang3680

源码地址:https://github.com/smartloli/kafka-eagle

  1. 环境要求:

需要的java版本 java1.8以上版本

下载包Kafka Eagle: kafka-eagle-bin-1.4.8.tar.gz

部署到TDH集群管理节点中,我放置的目录为

image

修改目录 conf下面的文件system-config.properties

######################################
# multi zookeeper & kafka cluster list
######################################
kafka.eagle.zk.cluster.alias=cluster1                               #定义集群别名,不要乱改,下面用的这个
cluster1.zk.list=xxxxxx:2181,xxxxxx:2181,xxxxxx:2181  #zk的地址,一般有三个
#cluster2.zk.list=xdn10:2181,xdn11:2181,xdn12:2181

######################################
# broker size online list
######################################
cluster1.kafka.eagle.broker.size=20

######################################
# zk client thread limit
######################################
kafka.zk.limit.size=25

######################################
# kafka eagle webui port
######################################
kafka.eagle.webui.port=8048

######################################
# kafka offset storage
######################################
cluster1.kafka.eagle.offset.storage=zk                          #这里用zk,原因是TDH对应5.2.4,下面说原因

######################################
# kafka metrics, 15 days by default
######################################
kafka.eagle.metrics.charts=true
kafka.eagle.metrics.retain=15


######################################
# kafka sql topic records max
######################################
kafka.eagle.sql.topic.records.max=5000
kafka.eagle.sql.fix.error=true

######################################
# delete kafka topic token
######################################
kafka.eagle.topic.token=keadmin

######################################
# kafka sasl authenticate
######################################
cluster1.kafka.eagle.sasl.enable=true
cluster1.kafka.eagle.sasl.protocol=SASL_PLAINTEXT
cluster1.kafka.eagle.sasl.mechanism=GSSAPI
cluster1.kafka.eagle.sasl.client=/home/kafka-eagle/kafka-eagle-web-1.4.8/conf/kafka_client_jaas.conf  #对应kafka认证客户端 jaas文件

######################################
# kafka ssl authenticate
######################################
# kafka sqlite jdbc driver address
######################################
kafka.eagle.driver=org.sqlite.JDBC
kafka.eagle.url=jdbc:sqlite:/hadoop/kafka-eagle/db/ke.db    #需要创建对应的目录
kafka.eagle.username=root
kafka.eagle.password=www.kafka-eagle.org

######################################
# kafka mysql jdbc driver address
######################################

说明:

cluster1.kafka.eagle.offset.storage=zk                          #这里用zk,原因是TDH对应5.2.4,下面说原因

给出来的官方文档说明有两种方式,第一是存在zk中,第二是存到kafka中

kafka 消费信息存储位置,用来兼容kafka低版本
0.10以上的版本 一般存储在kafka中
0.10以下的版本 一般存储在zk中 
下面是作者给出来的说明:

 

 

经过测试星环的TDH5.2.4对应kafka版本为0.10.2,经过测试存储在了zk里面
# kafka sasl authenticate
######################################
cluster1.kafka.eagle.sasl.enable=true
cluster1.kafka.eagle.sasl.protocol=SASL_PLAINTEXT
cluster1.kafka.eagle.sasl.mechanism=GSSAPI
cluster1.kafka.eagle.sasl.client=/home/kafka-eagle/kafka-eagle-web-1.4.8/conf/kafka_client_jaas.conf  #对应kafka认证客户端 jaas文件

在Kafka 0.9.0.0之后,Kafka社区增加了一系列的功能,其中包含对Kafka集群进行安全管控。支持的权限认证方式如下:

  1. Broker与Client之间的权限认证(例如Producer和Consumer)。可以使用SSL或SASL,而SASL支持如下方案:
    • SASL/GSSAPI(Kerberos),开始于0.9.0.0版本
    • SASL/PLAIN,开始于0.10.0.0版本
    • SASL/SCRAM-SHA-256和SASL/SCRAM-SHA-512,开始于0.10.2.0版本
    • SASL/OAUTHBEARER,开始于2.0版本

   2. Broker和Zookeeper之间建立权限认证

   3. 在Broker和Client之间、Broker和Broker之间使用SSL建立权限认证时,性能会有所下降,其程度取决于CPU类型和JVM的实现

   4. 对Client进行读写认证

在实际生产环境中,对于权限认证使用的较多的是SCRAM认证,其原因在《Kafka SCRAM和PLAIN实战》这篇博客中详细解释。

kafka_client_jaas.conf  文件内容

kafkaClient {
   com.sun.security.auth.module.Krb5LoginModule required
   useKeyTab=true
   keyTab="/etc/kafka1/conf/kafka.keytab"
   storeKey=true
   useTicketCache=false
   principal="kafka/******@TDH";
};

启动监控

ke.sh命令使用:
Usage: /home/kafka-eagle/kafka-eagle-web-1.4.8/bin/ke.sh {start|stop|restart|status|stats|find|gc|jdk|version|sdate}

image

浏览器访问监控 用户名admin 密码123456

image

BScreen界面,看着高大上

image

以上就是部署的内容,下次给大家带来监控项目的具体使用方法

 

 

 

 

 

 

 

 

 

posted @ 2020-06-18 11:27  Tim&Blog  阅读(911)  评论(0编辑  收藏  举报