管理,项目,进度,协作沟通.一定要让对方给出时间点.
大数据-监控系统-BI
一、管理说明:
1.团队规模
?
大数据智能平台部实时监控组,目前有6名同学参与到实时监控项目(包括实习生)。
另外,由于实时监控系统依赖外部系统、服务较多,虚线团队还包括:
- 公共技术部 3人( dba baidu-dbproxy);
- 基础平台部 3人();
- 原大数据架构团队 6人();
2.管理难度
?
实时监控系统依赖外部系统、服务较多,整条链路涉及众多环节,由分散在多个业务部门的同学负责维护。
- Mysql?binog及 Canal server由DBA团队负责;
- 负责接入binlog的Kafka由基础架构部维护;
- 负责接入服务器日志数据、同步binlog数据的Kafka、Hadoop YARN由大数据架构团队维护;
- 大数据智能平台部实时监控组负责实时计算架构的整体设计、开发和运维,和业务部门对接监控和报警需求。
此外,大数据架构团队的同学在外地办公,异地沟通、协作的成本更大。
?
最大的管理挑战:跨部门、跨地区的团队如何能保证高效沟通、通力合作、极致执行?
?
项目开发过程中,我们使用了如下这些方式进行沟通:
- 每日站会(项目较紧急时):和外地同学通过微信多人语音会议进行沟通。通报任务进度、明确当日工作内容,建立Task Checklist机制,确保任务落实、执行到位。
- 外地同学定期飞到总部,与相关部门同学一起面对面交流,技术问题当面交流,形成可执行方案。
- 每周通过邮件发项目周报,通报项目进度,及时发现项目风险。
- 建立微信项目群,建立应急响应机制,发生线上问题,第一时间在项目群中通报,尽可能快的定位和解决问题。
- 项目组中的同学对于实时计算架构的理解程度和解决具体问题的能力不同,作为项目负责人,我会积极主动的把自己的理解、思考及时同步给大家,带动整个团队综合技术实力的提升。
3.业务难度
公司业务的快速发展,对于实时监控系统提出了非常多的挑战:
?
3.1监控和报警需求快速增长,需要快速满足需求
? ? ? ?
? ? ? 目前,实时监控系统已经接入了n 个等业务线,共计670+监控项。在实时计算架构的设计上,我们保持了足够的灵活性,以支持监控需求快速开发和交付。实现低成本开发、低成本运维。
?
3.2提供快速的、准确的、多维度的实时数据查询服务
- 在较短时间内,建立了一套世界领先的可扩展的海量数据实时计算、存储、快速交互式查询的OLAP系统解决方案,支持添加任意多筛选维度。
3.3降低实时数据链路延迟
?
? ? ? 老监控系统的性能瓶颈主要在Kafka集群:
- Kafka集群需要进行数据迁移:数据量快速增长,暴露了原有Kafka集群分区不合理、数据写入和消费慢的瓶颈。需要搭建新的Kafka集群。
- Kafka集群的维护缺少文档:原有监控项的Kafka数据源并没有很好的文档,不了解都有哪些上下游生产和消费者,造成数据源迁移工作异常艰巨。
- 迁移的同时,由于接入的数据源形式和内容也做了变更,导致我们所有的监控项计算逻辑需要全部重写。此外,在数据迁移过程中,还要维护老集群的可用性,使得切换过程对用户是透明的。在面临如此艰巨挑战的局面下,我们加班加点,用了1个月的时间,完成了全部数据迁移工作。具体内容包括:
? ? ? ? ? ? (1)梳理binlog、应用日志、API数据源并全部迁移至新kafka集群
? ? ? ? ? ? (2)优化数据采集方式,显著降低实时数据链路延时
? ? ? ? ? ? (3)提升Kafka、YARN集群的稳定性
? ? ? ? ? ? (4)根据新采集数据源重写各个业务线所有监控指标项的实时计算逻辑
? ? ? ? ? ? (5)切换实时监控报警和前端展示数据源
?
3.4尽可能保障系统高可用性
?
? ? ??由于历史原因,服务器资源申请的受限,实时监控服务器集群分布在三个机房,服务器性能各异,并不是最合理、最优的架构方案。但我们仍做了力所能及的优化:
- 对重要的监控项数据源做HA,保证用户可以快速、准确的查看实时数据。
- 对整个集群做负载均衡,保证在业务高峰期,也能承载高并发的查询请求。
实时监控作为一个数据产品,它的可用性的衡量有其特殊性。当然,提高系统稳定性、可用性是一个持续优化的过程,我们仍然在不断完善,最终目标是实现理论上99.99%的可用性。
?
3.5将报警逻辑透明化,尽可能避免漏报、尽可能减少误报
- 我们开发了自助式智能报警管理平台,用户可以自主的添加、查看报警项和报警策略。通过调节模型参数以及可视化的报警反馈,确定最佳的报警策略。在漏报和误报之间取得平衡。
- 我们在报警规则上,针对整个实时数据链路的多个环节增加了多重的延时判定,尽可能避免由于实时数据链路延迟而引发误报。
?
二、优秀事迹
?
1.在团队管理中的工作亮点
- 牵头组织跨团队的沟通交流,整体把控好项目的研发进度,保证了项目按时、高质量的完成。
- 基于对技术的深刻理解,合理的将工作任务进行分解。根据团队成员各自的特点,分配相应的工作,和团队成员一起讨论、确认工作目标和实施方案。
- 在团队内组织分享、交流会,提升整个团队的综合技术能力。
?
2.个人优秀事迹
- 实时监控系统改造过程中,没有请过一天假。即便头痛、发着高烧,也仍然带病坚持工作。平时工作是朝九晚九,周末也没有休息,基本上都是在家里加班。
?
3.个人领导力带来的团队产出
- 跨部门、跨地区的高效沟通、通力合作、极致执行:凭借997的工作强度,我们仅用了1个多月的时间就按时、高质量的完成了艰巨的数据迁移工作和稳定性提升。
- 系统延迟显著降低、报警机制更加科学严谨:实时监控的报警一级指标的误报次数在5月份只有2次,而且是由于维护Kafka的同学人为误操作造成的。
- 实时监控总接入监控项670+,需求满足率接近100%。
- 培养了若干位有大数据实时计算工程实践经验的同学。