zoukankan      html  css  js  c++  java
  • 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

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

     

     

     

     

     

     

     

     

  • 相关阅读:
    9、Spring Boot 2.x 集成 Thymeleaf
    【专题】Spring Boot 2.x 面试题
    8、Spring Boot 2.x 服务器部署
    7、Spring Boot 2.x 集成 Redis
    6、Spring Boot 2.x 集成 MyBatis
    5、Spring Boot 2.x 启动原理解析
    4、Spring Boot 2.x 自动配置原理
    3、Spring Boot 2.x 核心技术
    2、Spring Boot 2.x 快速入门
    centOS下安装JDK1.8.60,glassfish4.1.1以及MySQL
  • 原文地址:https://www.cnblogs.com/wang3680/p/13156654.html
Copyright © 2011-2022 走看看