zms管理系统使用文档 - ZTO-Express/zms GitHub Wiki
前言
zms旨在帮助用户快速搭建Rocketmq和Kafka消息中间件服务,管理集群、主题、消费组等元数据,同时提供Rocketmq和Kafka集群的发送、消费监控数据查询。用户可通过zms-sdk进行消息的发送和消费。
-
多环境集成:只需生产部署zms管理平台,可同时管理生产、测试、开发等环境的资源。
-
统一资源管理:服务器、服务、服务实例,都作为每个环境的资源进行管理。可进行添加、安装、部署、下线、删除等操作。
-
资源动态调配:服务可扩展,通过扩展服务实例,来达到扩容的目的,比如Kafka(服务)新增broker(服务实例)。也可通过下线服务中的服务实例,来进行缩容。
-
功能可插拔:数据采集、告警功能,也作为单独的服务,可通过增加或删除服务,来定制环境功能。
第一次使用您需要做什么
-
您需要初始化几个主机,用于添加服务(功能介绍第3步:添加主机)
-
您需要添加基本服务(功能介绍第4步:添加服务):
采集ZMSCollector、告警ZMSAlert、Zookeeper(zms元数据使用)、influxDB服务,如果您使用Rocketmq集群,则添加Rocketmq服务,如果您使用kafka集群,则添加zookeeper(kafka集群元数据使用)和kafka服务
-
您需要配置下数据源(功能介绍第5步:配置数据源)
-
您需要创建的主题(功能介绍第8步:新增主题):
statistic_topic_consumerinfo:zms-sdk会将消费组监控指标发送到zmsCollector服务进行统计
statistic_topic_producerinfo:zms-sdk会将主题监控指标发送到zmsCollector服务进行统计
ZMS_ALERT_RULE:zms管理系统会将告警信息发送到zmsAlert服务
-
您需要创建的消费组(功能介绍第9步:新增消费组):
statistic_topic_consumerinfo_consumer:对应主题为statistic_topic_consumerinfo
statistic_topic_producerinfo_consumer:对应主题为statistic_topic_producerinfo
ZMS_ALERT_RULE_REFRESH:对应主题为ZMS_ALERT_RULE
功能介绍
-
登录
zms接入ldap协议实现用户的登录,如未接入ldap协议,可以在配置文件中自定义登录的用户,已配置使用admin用户(密码admin)登录。
-
首页
-
左侧菜单栏展示环境、当前环境下的主机、当前环境下的服务。服务现有7种类型:数据采集ZMSCollector、告警ZMSAlert、Kafka、Rocketmq、Zookeeper、influxDB、备份ZMSBackupCluster。
-
右侧菜单栏展示集群服务的节点个数、tps以及集群的日消息量,可切换环境查看。
-
添加主机
主机系统版本要求:centos7+
依赖:wget、systemctl
在环境下点击添加主机,向当前环境添加主机,复制弹出的url链接,在对应的主机上使用root或sudo权限的用户执行该命令,会自动下载安装。
添加主机默认会打开防火墙 18080端口,为主机中zms-agent代理访问端口
ZMS工作目录 :/opt/zms
默认创建用户:baseuser,并赋予baseuser /data目录权限
-
添加服务
-
在环境下点击添加服务,向当前环境添加服务
-
选择服务类型,当前可选服务有:数据采集ZMSCollector、告警ZMSAlert、Kafka、Rocketmq、Zookeeper、influxDB、备份ZMSBackupCluster。
-
输入服务名称
-
选择服务安装的主机(第3步添加的主机)
-
设置服务启动的配置参数
-
等待服务第一次启动
一般情况在新增服务启动后,会展示服务进程启动日志,如果服务启动失败,但是没有失败日志。首先要确认服务所在主机防火墙端口:18080是否正常打开
-
-
配置数据源
当添加好Zookeeper和influxDB服务后,需要配置环境的数据源,Zookeeper为zms集群、主题、消费组的元数据管理,在创建主题或消费组之前需要配置好。influxDB为统计zms集群、主题、消费组监控数据。
-
主机管理
在首页可通过点击环境下的主机,进入当前环境的主机管理页面
主机列表展示主机的名称、IP地址、状态、内存、cpu占用率等信息,可通过启用主机、停用主机对主机进行操作,需要注意若主机下有正在运行的服务,则无法停用该主机。
主机详情页面展示了该主机下的服务,以及当前服务的实例。
-
服务管理
集群指标
在首页可通过点击Kafka、Rocketmq服务名称,进入集群指标统计页面,包含RT指标、节点详情,Kafka服务展示jvm详情
点击Kafka、Rocketmq服务节点,查看具体的节点状态数据
服务实例列表
在首页可通过点击服务名称进入服务实例页面,可以进行服务节点的启动、停止、重启、删除,修改配置后,会提示重启。
服务配置
在此页面进行配置变更,变更后,实例列表页面会提示重启。
-
主题管理
新增主题
新增需要选择主题所在环境,在选择的环境创建对应的主题资源,不同环境的客户端才能正常发送消息,如:业务方希望申请一个主题,可以在开发、测试、生产环境都能使用,那需要勾选开发、测试、生产环境。
申请域(appId)一般为业务方系统的简称。
审批主题
审批由管理员操作,需要为每个环境选择主题对应的集群。其中分片数为Rocketmq集群主题的队列数和Kafka集群主题的分片数,副本数是Kafka集群主题独有的。
主题配置
可以为主题配置灰度集群和灰度IP,使用zms-sdk发送消息时,如配置的灰度集群IP包含某一个服务器IP时,该服务器将主题消息发送到灰度集群,不再发送到原集群。
主题同步
如果新增时主题未选择某一环境,可以使用同步功能将主题同步到该环境中。
主题删除
用户只能删除【申请人】是本人的主题(管理员可全部删除),删除主题会将该其所在环境下的主题资源全都删除。
主题监控
通过点击主题名进入主题详情页。通过切换不同的环境,来查看主题对应环境详情信息。包括主题详情、主题监控、客户端监控信息
-
消费组管理
新增消费组
输入消费组名称和订阅的主题创建消费组,不需要选择环境,系统会根据消费组订阅的主题,自动在主题所在的所有环境,创建消费组资源,因此如果主题申请的时绑定的环境有开发、测试、生产,那么,消费组可以在开发、测试、生产正常消费。
消费组审批
审批由管理员操作,审批后,消费组可以在订阅的主题所在的环境中正常消费。
消费组灰度配置
可以为消费组配置灰度集群和灰度IP,使用zms-sdk订阅消息时,如配置的灰度集群IP包含某一个服务器IP时,该服务器将从灰度集群订阅消息,不再订阅原集群的消息。
删除消费组
用户只能删除【申请人】是本人的消费组(管理员可全部删除),删除消费组会将该其所在环境下的消费组资源全都删除。
消费组监控
-
告警管理
告警新增
-
选择告警的主题或消费组,选择告警资源后,会展示告警资源所在环境。
-
选择对应在哪个环境进行告警,未选择的环境将不会出现告警信息。选择环境是为了控制不同环境是否需要告警功能,一般情况只选择生产环境。
用户只能删除【接收人】是本人的告警(管理员可全部删除),删除告警会将该其所在环境下的所有告警事件全都删除。
-
-
消费延迟
可以查询不同环境、不同集群的消费组的延迟数,用于消费预警。当延迟数过大时,需要排查是否消费过慢。
-
集群迁移
-
选择当前环境与原集群类型一致的目标集群,如原集群为Rocketmq类型,目标集群也必须为Rocketmq类型。
-
迁移主题或消费组是把原集群的主题或消费组在目标集群创建一份,原集群的不删除。
-