为了实现多维监控 Kafka 集群,Kafka 支持启用 Zabbix 提供监控服务。

zabbix
  • Zabbix Server:负责接收、存储、分析从 Zabbix Java gateway 传输的监控数据,所有配置、统计数据及操作数据均由其组织进行。

  • Host:配置 Host,并设置模板(Templates)和宏(Macros),使 Zabbix Server 与 Kafka 集群节点建立连接。

  • Zabbix Java gateway:充当 Zabbix Server 与 Kafka 应用之间的桥梁,负责监控 Kafka 应用并收集 Kafka 应用的监控数据,并将收集到的数据传输给 Zabbix Server 进行存储、分析。

本小节主要介绍如何配置 Zabbix Server 监控 Kafka 集群。

约束限制

仅 Kafka 1.0.0 - v1.1.8 及以上版本支持配置 Zabbix 监控。

前提条件

  • 已获取管理控制台登录账号和密码,且已获取集群操作权限。

  • 已创建 Kafka 集群,且集群状态为活跃

  • 下载和安装 Zabbix Server,且已安装并配置相应版本的 Zabbix Java gateway 组件。

    注意
    • 安装 Zabbix 的服务器需要与 Kafka 之间的网络通畅。
      若安装 Zabbix 的服务器与 Kafka 网络不通,可通过边界路由器VPN 等方式打通网络。不建议通过端口转发的方式将服务暴露到公网,以免造成 Kafka 关键信息暴露等风险。

    • Zabbix Server 的 StartJavaPollers 参数和 Zabbix Java gateway 的 START_POLLERS 参数用于配置启动的 Java 进程的数量,主要用于多线程任务场景 Zabbix 主动调度执行任务。如果不设置该参数,在 Zabbix Server 的控制台中,JMX 将无法正常工作。

  • Zabbix Java gateway 通过 9999 端口访问 Kafka Broker 的 JMX 指标,所以 Kafka 的安全组下行规则需要放开 9999 端口,Zabbix Java gateway 的上行规则放开 9999端口。

操作步骤

Kafka 集群默认支持 Zabbix 监控服务,需登录 Zabbix Server 的 Web 界面进行监控配置才能正常使用 Zabbix 监控。

步骤一:记录 Kafka 节点地址

  1. 登录管理控制台。

  2. 选择产品与服务 > 消息队列与中间件 > Kafka 服务,进入 Kafka 服务管理页面。

  3. 选择目标集群,点击目标集群 ID,进入集群详情页面。

  4. 服务端口信息模块,查看待监控集群的 Kafka 节点 IP 地址。

    查看 Kafka 节点 IP

步骤二:配置监控主机

  1. 使用浏览器,登录 Zabbix Server 的 Web 界面。

  2. 在左侧导航栏选择 Configuration > Hosts,进入主机管理页面。

  3. 在页面右上角,点击 Create host,进入主机配置页面。

  4. Hosts 页签,配置 Kafka 节点 IP 为监控主机。

    • Host name 自定义主机名称,例如 kafka-doc-broker1

    • Templates 选择模版,您可以选择系统自带且适用于 Kafka 集群的模板,此处以模板 Apache Kafka by JMX 为例;您也可以在 Configuration > Templates 界面自定义模板,详细操作请参见 Zabbix

    • Host groups 选择主机组,此处以 Applications 为例。

    • Interfaces 参数值后点击 Add,并选择 JMX

      • InterfacesIP address 配置为 Kafka 集群与 zabbix server 互通的 IP 地址(即 Kafka 节点的 IP)。

        注意

        一次只能配置一个 IP 地址,若需要监控 Kafka 集群中所有 Kafka 节点,则需要添加多个 Host。

      • InterfacesPort 配置为集群 Zabbix 的服务端口,Zabbix 服务默认端口为 9999

    创建 Host
  5. (可选)在 Macros 页签,配置主机宏参数。

    • {$KAFKA.PASSWORD} 配置为集群监控服务账户的用户名,模版中用户名默认为 zabbix

    • {$KAFKA.USER} 配置为集群监控服务账户的密码,模版中密码默认为 zabbix

    注意
    • 为避免敏感信息或重要信息被监控或泄露,请勿使用集群 root 账户或 admin 账户,建议使用专门用于集群监控服务的账户或者自定义权限的账户。

    • Inherited and host macros 页签中的参数为默认宏函数,您可自行设定和修改。

    • Host macros 页签下为主机宏,可自定义设置,也可使用 Inherited and host macros 页签中的宏函数,如果两者存在相同的宏,则主机宏将替代 Inherited and host macros 页签中的宏函数。

    配置主机宏
  6. 点击 Add,创建主机。

    待主机的 StatusEnabled 表示监控配置成功,即可查看采集的最新数据和监控图。

    配置成功状态
    说明
    • 更多 Zabbix 的使用方法,请参见 Zabbix

    • 若无需 Zabbix 监控服务时,可在 Configuration > Hosts 页面,勾选主机名称,点击 Disable 关闭服务,或点击 Delete 删除服务。

步骤三:查看监控

  1. 在 Zabbix Server 的 Web 界面,选择 Configuration > Hosts,进入主机管理页面。

  2. 点击主机名称所在行的 ItemsTriggersGraphsDiscovery,可查看 Zabbix Server 对 Kafka 集群支持的监控项、触发器、数据图表等详细监控信息。

    查看
    查看监控项
  3. 在 Zabbix Server 的 Web 界面,选择 Monitoring > Hosts,进入主机监控页面。

  4. 点击主机名称,选择 Graphs

    可查看监控图表。

    查看
  5. 点击右上角时间可筛选对应时间段的监控状况。

    查看图表
    说明

    更多关于 Zabbix 的监控项查询,请参见 Zabbix