揭秘-滴滴Logi-KafkaManager的用户体验设计

项目地址: didi/Logi-KafkaManager: 一站式Apache Kafka集群指标监控与运维管控平台

体验地址:http://117.51.150.133:8080/kafka 账号:admin/admin

我们将会对滴滴Logi—KafkaManager 的生产消费、资源申请、生产/消费示例和监控告警进行详细解释。

生产消费概述:将简要说明生产/消费流程;

资源申请:将简要说明讲解应用资源、集群资源、Topic资源含义,及申请流程;

生产/消费示例:将简要说明生产/消费客户端含义,及客户端代码的主要配置信息;

监控告警将讲解:Topic核心指标监控,及安全告警的指标上报;

图片

 

一、生产消费概述

Kafka中的消息以主题为单位进行归类,生产者负责将消息发送到特定的主题(发送到Kafka集群中的每一条消息都要指定一个主题),而消费者负责订阅主题并进行消费。在生产、消费环节,消费者需通过Topic+AppID进行身份鉴权。

应用:也就是AppID。可以理解为是kafka中的账户,并通过AppID+Password作为身份标识;

集群:用户可使用平台提供的共享集群,若用户对稳定性、隔离、数据传输速率有更高的需求也可为某一应用申请单独的集群;

Topic:可申请创建Topic或申请其他Topic的生产/消费权限。进行生产/消费时需要通过Topic+AppID进行身份鉴权。

下图右侧是生产消费的流程图:第一步会先判断该用户名下是否拥有应用。若无,则需申请应用;若有,再判断是否拥有集群权限。若无集群权限则需申请集群,若有,再判断是否拥有Topic的生产消费权限,若无,则需申请Topic的相应权限,或创建Topic。若有权限,便可以通过客户端进行生产/消费。

图片

二、资源申请

01应用(AppID)申请

应用(AppID)作为Kafka中的账户,使用AppID+Password作为身份标识,在对Topic进行生产/消费时需通过Topic+AppID进行身份鉴权。

图片

用户在申请应用时,需经由运维人员审批,审批通过后可以获得AppID和密钥。

 

图片 

点击进入Topic管理-应用管理-申请应用。填写申请信息,提交审批,由运维人员进行审批。

审批通过后,可在应用列表查看刚刚创建的应用,点击详情,可以查看到AppID和密钥。

02集群申请

用户可使用平台提供的共享集群,若对隔离性、稳定性、生产消费速率有更高的需求,可对某一应用申请单独的集群。

从下图右侧的流程图可以看到,用户提出集群申请,申请时需填写集群申请单,申请单里需要填所属应用——就是要为哪一个应用申请单独的集群。

图片

 

运维人员会根据申请单填写集群类型、峰值流量、申请原因以及应用的实际使用情况来部署、创建相应的集群。

图片

 

集群管理-集群申请单提交

03Topic申请

用户可根据已申请的应用来创建Topic,创建Topic后,应用负责人默认拥有该Topic的生产/消费权限和管理权限,也可申请其他Topic的生产、消费权限。
图片

 

上图右侧是申请Topic权限的申请表单,用户需填写绑定的应用、申请的对应权限、原因。提交后,经由Topic所属应用的负责人审批后,即可拥有相应权限。

图片

 

1、 进入Topic管理-我的Topic,列表会展示出我的Topic,其中包含我创建的和我申请的。

2、 点击右上角的按钮,弹窗内填写相应的配置信息、所属集群等申请信息。提交申请后,由运维人员根据用户填写的申请信息和实际情况,创建相应配置的Topic。例如,给该Topic创建3分区、2副本、数据保存时间是12小时、该Topic最终落在xxx region上。或者xxx broker上。

图片

 

在Topic详情页中展示:

Topic基本信息:包含Topic的名称、所属应用、负责人、所属region、bootstrap地址等基础信息,以及实时流量、实时耗时等指标监控信息。

状态图:展示当前Topic的历史流量、历史耗时。

连接信息:展示近期连接过当前Topic的应用,含AppID、主机名、客户端版本等。

消费组信息:展示当前Topic的消费组信息,含消费组ID、所属AppID等。

分区信息:展示当前Topic的分区信息,含分区ID、beginningOffset、endOffset、msgNum等。

Broker信息:展示当前Topic所在Broker的相关信息,含BrokerID、host、leader个数、分区leaderID、分区个数等。

应用信息:展示拥有当前Topic权限的应用,含应用名称、权限类型、相关配额等。

三、生产/消费示例

当这些资源准备就绪之后,就可以进行真实的生产/消费了。生产/消费在Kafka中是通过客户端来实现的,指的是对Topic进行生产、消费的实例,用户需编写客户端代码,来实现生产、消费动作。

可以看到上图左侧的客户端代码内包含Topic名称、应用(AppID)、密钥、消息详情、消费组、压缩格式等配置信息。

图片

 

从上图右侧的流程图可以看出,客户端进行生产/消费时,是需要具有相应Topic的生产/消费权限的,而这个生产消费鉴权是通过Topic+AppID来实现的。但是在市场上许多同类产品中,大多无AppID的定义。

消费者在无身份验证、身份鉴权环境中,进行生产消费时,只需要知道Topic信息就可以进行生产消费。这种情况下,会存在很大的数据泄漏、数据篡改等数据安全风险。

图片

当把数据发送至Topic后,我们还可以通过数据采样,对Topic里的样例数据进行采集。

图片

我们还为滴滴Logi-KafkaManager设计了平台化界面,方便运维人员配置采集参数。

例如,采样的数据量、超时时间、采样的分区号、采样的offset位置。

以上采集后的数据,均支持一键复制。

四、监控告警

01Topic指标监控

在滴滴 Logi-KafkaManager中,可以对Topic生产消费各环节耗时进行统计,便于用户自助排查问题,且在关键指标业务运行时,能够监控不同分位数性能指标,对历史问题回溯诊断。

图片

在Topic详情页,用户可以看到Topic的实时流量、实时耗时,实时耗时还可以切换成75/99分位的数据。

在状态图中,滴滴Logi-KafkaManager用图标展示了该Topic各时间段、各应用的流量情况和历史耗时的信息。这样,用户就可以通过丰富的监控指标,实现自助排查问题。同时,用户亦可自助发起调整配额、增加分区的申请,交由运维人员进行审批。

图片

 

02安全告警

针对Kafka生产消费核心指标,滴滴Logi-KafkaManager用户可自定义指标上报渠道。此操作支持用户自助创建安全告警策略、设置安全响应级别、配置告警通知接收组,以此来协助用户建立Kafka监控告警体系。

图片

 

1、进入监控告警-新建告警规则,监控告警的基本信息分别是名称和所属应用。

2、选择要监控的指标,集群和Topic。

3、选择报警的策略(比如在最近一个周期内1次等于1条/秒)、报警的生效时间、配置报警时,发送的消息内容、报警周期、周期内报警次数、报警接受组。

图片

由于滴滴Logi-KafkaManager默认对接滴滴夜莺监控告警系统,用户可以搭配滴滴夜莺一并使用,配置方法可以参考滴滴夜莺的配置文档项目。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值