zms管理系统使用文档 - ZTO-Express/zms GitHub Wiki

前言

zms旨在帮助用户快速搭建Rocketmq和Kafka消息中间件服务,管理集群、主题、消费组等元数据,同时提供Rocketmq和Kafka集群的发送、消费监控数据查询。用户可通过zms-sdk进行消息的发送和消费。

  • 多环境集成:只需生产部署zms管理平台,可同时管理生产、测试、开发等环境的资源。

  • 统一资源管理:服务器、服务、服务实例,都作为每个环境的资源进行管理。可进行添加、安装、部署、下线、删除等操作。

  • 资源动态调配:服务可扩展,通过扩展服务实例,来达到扩容的目的,比如Kafka(服务)新增broker(服务实例)。也可通过下线服务中的服务实例,来进行缩容。

  • 功能可插拔:数据采集、告警功能,也作为单独的服务,可通过增加或删除服务,来定制环境功能。

第一次使用您需要做什么

  1. 您需要初始化几个主机,用于添加服务(功能介绍第3步:添加主机)

  2. 您需要添加基本服务(功能介绍第4步:添加服务):

    采集ZMSCollector、告警ZMSAlert、Zookeeper(zms元数据使用)、influxDB服务,如果您使用Rocketmq集群,则添加Rocketmq服务,如果您使用kafka集群,则添加zookeeper(kafka集群元数据使用)和kafka服务

  3. 您需要配置下数据源(功能介绍第5步:配置数据源)

  4. 您需要创建的主题(功能介绍第8步:新增主题):

    statistic_topic_consumerinfo:zms-sdk会将消费组监控指标发送到zmsCollector服务进行统计

    statistic_topic_producerinfo:zms-sdk会将主题监控指标发送到zmsCollector服务进行统计

    ZMS_ALERT_RULE:zms管理系统会将告警信息发送到zmsAlert服务

  5. 您需要创建的消费组(功能介绍第9步:新增消费组):

    statistic_topic_consumerinfo_consumer:对应主题为statistic_topic_consumerinfo

    statistic_topic_producerinfo_consumer:对应主题为statistic_topic_producerinfo

    ZMS_ALERT_RULE_REFRESH:对应主题为ZMS_ALERT_RULE

功能介绍

  1. 登录

    zms接入ldap协议实现用户的登录,如未接入ldap协议,可以在配置文件中自定义登录的用户,已配置使用admin用户(密码admin)登录。

    image-20200519134919126

  2. 首页

  3. 左侧菜单栏展示环境、当前环境下的主机、当前环境下的服务。服务现有7种类型:数据采集ZMSCollector、告警ZMSAlert、Kafka、Rocketmq、Zookeeper、influxDB、备份ZMSBackupCluster。

  4. 右侧菜单栏展示集群服务的节点个数、tps以及集群的日消息量,可切换环境查看。

image-20200519134817832

  1. 添加主机

    主机系统版本要求:centos7+

    依赖:wget、systemctl

    在环境下点击添加主机,向当前环境添加主机,复制弹出的url链接,在对应的主机上使用root或sudo权限的用户执行该命令,会自动下载安装。

    添加主机默认会打开防火墙 18080端口,为主机中zms-agent代理访问端口

    ZMS工作目录 :/opt/zms

    默认创建用户:baseuser,并赋予baseuser /data目录权限

    image-20200519204135934

  2. 添加服务

    1. 在环境下点击添加服务,向当前环境添加服务

    2. 选择服务类型,当前可选服务有:数据采集ZMSCollector、告警ZMSAlert、Kafka、Rocketmq、Zookeeper、influxDB、备份ZMSBackupCluster。

    3. 输入服务名称

    4. 选择服务安装的主机(第3步添加的主机)

    5. 设置服务启动的配置参数

    6. 等待服务第一次启动

      image-20200519204209094

    一般情况在新增服务启动后,会展示服务进程启动日志,如果服务启动失败,但是没有失败日志。首先要确认服务所在主机防火墙端口:18080是否正常打开

  3. 配置数据源

    当添加好Zookeeper和influxDB服务后,需要配置环境的数据源,Zookeeper为zms集群、主题、消费组的元数据管理,在创建主题或消费组之前需要配置好。influxDB为统计zms集群、主题、消费组监控数据。

    image-20200519204716639

  4. 主机管理

    在首页可通过点击环境下的主机,进入当前环境的主机管理页面

    image-20200520091447535

    主机列表展示主机的名称、IP地址、状态、内存、cpu占用率等信息,可通过启用主机、停用主机对主机进行操作,需要注意若主机下有正在运行的服务,则无法停用该主机。

    image-20200520091559518

    主机详情页面展示了该主机下的服务,以及当前服务的实例。

    image-20200520092339365

  5. 服务管理

    集群指标

    在首页可通过点击Kafka、Rocketmq服务名称,进入集群指标统计页面,包含RT指标、节点详情,Kafka服务展示jvm详情

    image-20200519162919286

    点击Kafka、Rocketmq服务节点,查看具体的节点状态数据

    image-20200519163242474

    服务实例列表

    在首页可通过点击服务名称进入服务实例页面,可以进行服务节点的启动、停止、重启、删除,修改配置后,会提示重启。

    image-20200519195538051

    服务配置

    在此页面进行配置变更,变更后,实例列表页面会提示重启。

    image-20200519203559195

  6. 主题管理

    新增主题

    新增需要选择主题所在环境,在选择的环境创建对应的主题资源,不同环境的客户端才能正常发送消息,如:业务方希望申请一个主题,可以在开发、测试、生产环境都能使用,那需要勾选开发、测试、生产环境。

    申请域(appId)一般为业务方系统的简称。

    image-20200519141558744

    审批主题

    审批由管理员操作,需要为每个环境选择主题对应的集群。其中分片数为Rocketmq集群主题的队列数和Kafka集群主题的分片数,副本数是Kafka集群主题独有的。

    image-20200519143625728

    主题配置

    可以为主题配置灰度集群和灰度IP,使用zms-sdk发送消息时,如配置的灰度集群IP包含某一个服务器IP时,该服务器将主题消息发送到灰度集群,不再发送到原集群。

    image-20200519144809187

    主题同步

    如果新增时主题未选择某一环境,可以使用同步功能将主题同步到该环境中。

    主题删除

    用户只能删除【申请人】是本人的主题(管理员可全部删除),删除主题会将该其所在环境下的主题资源全都删除。

    主题监控

    通过点击主题名进入主题详情页。通过切换不同的环境,来查看主题对应环境详情信息。包括主题详情、主题监控、客户端监控信息

    image-20200519150506165

  7. 消费组管理

    新增消费组

    输入消费组名称和订阅的主题创建消费组,不需要选择环境,系统会根据消费组订阅的主题,自动在主题所在的所有环境,创建消费组资源,因此如果主题申请的时绑定的环境有开发、测试、生产,那么,消费组可以在开发、测试、生产正常消费。

    image-20200519150814157

    消费组审批

    审批由管理员操作,审批后,消费组可以在订阅的主题所在的环境中正常消费。

    image-20200519152432325

    消费组灰度配置

    可以为消费组配置灰度集群和灰度IP,使用zms-sdk订阅消息时,如配置的灰度集群IP包含某一个服务器IP时,该服务器将从灰度集群订阅消息,不再订阅原集群的消息。

    image-20200519152551457

    删除消费组

    用户只能删除【申请人】是本人的消费组(管理员可全部删除),删除消费组会将该其所在环境下的消费组资源全都删除。

    消费组监控

    image-20200519154551893

  8. 告警管理

    告警新增

    1. 选择告警的主题或消费组,选择告警资源后,会展示告警资源所在环境。

    2. 选择对应在哪个环境进行告警,未选择的环境将不会出现告警信息。选择环境是为了控制不同环境是否需要告警功能,一般情况只选择生产环境。

      image-20200519153459458

    用户只能删除【接收人】是本人的告警(管理员可全部删除),删除告警会将该其所在环境下的所有告警事件全都删除。

  9. 消费延迟

    可以查询不同环境、不同集群的消费组的延迟数,用于消费预警。当延迟数过大时,需要排查是否消费过慢。

    image-20200519155640211

  10. 集群迁移

    1. 选择当前环境与原集群类型一致的目标集群,如原集群为Rocketmq类型,目标集群也必须为Rocketmq类型。

    2. 迁移主题或消费组是把原集群的主题或消费组在目标集群创建一份,原集群的不删除。

      image-20200519161356915