智能日志管理平台

  • 智能日志管理平台 > 使用文档 > logkit-pro 日志收集工具 >数据源(Readers) > Kafka

    Kafka

    最近更新时间: 2019-02-21 10:26:06

    Kafka reader 输出的是内容可根据具体情况自定义 parser 进行解析,并且支持gzip、snappy、lz4格式的消息解压缩。

    目前我们提供了两个Kafka Reader,您需要根据您的kafka实际版本进行选择。

    新版与老版在基础配置的主要区别是老版填的是zookeeper地址,而新版填的是kafka地址;在高级选项里新版加入了鉴权机制,使用场景覆盖的更加广泛。

    一、 新版Kafka(newkafak)数据源,针对0.9及以后版本的Kafka

    基础配置

    • consumer 组名称(kafka_groupid):kafka 组名,多个 logkit 同时消费时写同一个组名可以协同读取数据。

    • topic 名称(kafka_topic):kafka 的 topic 名称列表,可以同时读取多个topic,用逗号连接,如"topic1,topic2",要注意多个 topic 中的数据读取都会使用同一种解析方式,需要确认数据编码格式是一致的。

    • broker 地址(kafka_brokers):kafka brokers 地址列表,多个用逗号分隔,常用端口是 9092

    • 读取起始位置(read_from): oldest:从 partition 最开始的位置,newest:从 partition 最新的位置。默认从 oldest 位置开始消费。

    高级选项

    • 来源标签(datasource_tag): 把读取kafka topic 也作为标签,记录到解析出来的数据结果中,此处填写标签名称

    • 客户端标识(client_id) :消费kafka时显示的客户端标识,默认为logkit

    • SASL用户名(sasl_username): 使用SASL协议进行鉴权的用户名

    • SASL用户名(sasl_password): 使用SASL协议进行鉴权的密码

    • SSL/TLS证书授权文件路径(tls_ca): SSL/TLS证书授权路径

    • SSL/TLS证书文件路径(公钥)(tls_cert): SSL/TLS证书路径(公钥)

    • SSL/TLS私钥路径(tls_key): SSL/TLS证书路径(私钥)

    • 使用TLS但忽略认证(insecure_skip_verify): 对于https的访问忽略认证检查

    二、老版Kafka(kafka)数据源,针对0.8及以前版本的Kafka

    基础配置信息

    • consumer 组名称(kafka_groupid):kafka 组名,多个 logkit 同时消费时写同一个组名可以协同读取数据。

    • topic 名称(kafka_topic):kafka 的 topic 名称列表,可以同时读取多个topic,用逗号连接,如"topic1,topic2",要注意多个 topic 中的数据读取都会使用同一种解析方式,需要确认数据编码格式是一致的。

    • zookeeper 地址(kafka_zookeeper):zookeeper 地址列表,多个用逗号分隔,常用端口是 2181

    • 读取起始位置(read_from): oldest:从 partition 最开始的位置,newest:从 partition 最新的位置。默认从 oldest 位置开始消费。

    高级选项

    • zookeeper 中 kafka 根路径(kafka_zookeeper_chroot):kafka 在 zookeeper 根路径中的地址。
    • zookeeper超时时间 (kafka_zookeeper_timeout): 从 zookeeper 读取数据的超时时间,默认1s。

    常见问题

    1. 如果我配置了多个kafka broker的地址,但是只分发到一个logkit-pro agent实例运行,是否会出现消费不全?

    不会,logkit-pro 会读取完整的数据

    2. 如果我配置了多个kafka broker的地址,但是只分发到多个logkit-pro agent实例运行,是否会出现重复消费?

    只要配置了同一个kafka_groupid,不同的logkit-pro实例会通过kafka集群的zookeeper互相协调自适应,分别消费不同的Partition,达到负载均衡的效果。

    3. 通过kafka采集数据,分发一台和分发多台有啥区别?

    kafka是个分布式消息队列,一个topic可以有很多Partition,logkit分发到多台,填写了同一个 kafka_groupid 以后会自适应,分别消费不同的Partition,达到加速消费的目的。

    4. 两个kafka读取的版本该如何选择?

    根据您的kafka集群版本选择即可,0.9及以后的kafka集群选择新版,之前的版本选老版。

    5. 读取kafka的logkit是否一定要装在kafka集群的机器上?

    不需要,只要能与kafka集群网络联通即可。

    以上内容是否对您有帮助?
  • Qvm free helper
    Close