技术干货:日志数据可视化分析展示平台的建设之路
项目背景
某企业是一家专注于车联网、视频CDN等应用技术的科技创新型企业,拥有智能车载、vsdn等多个业务系统。这些系统每天都会产生大量日志,以往的日志管理系统不能满足实时分析的需求。由于平台查询响应慢等原因,当某个系统出现问题时,所产生的日志数据无法被及时的查看,也就无法定位问题所在,造成业务人员有数据却用不起来的窘状。
如何充分整合这些日志数据,充分挖掘其价值,是企业急需解决的问题。
项目目标
DataHunter最终为该企业提供一套包括带宽、调度、流量日志解析入库等功能模块的完整解决方案。让业务人员能够在看板上实时查看日志数据,并可以根据这些数据实现自由配图和维度查询。
业务要求
1、带宽日志实时分析,实现分钟聚合统计 (全国共有80多个节点,数据量每天大约35亿条,1.6TB)
2、支持按照不同的时间粒度、不同产品、不同客户、不同节点进行数据实时统计分析。
3、优化平台查询响应速度,丰富可视化界面。
主要问题
1.数据采集困难
以往该企业的日志信息都是通过手工脚本收集。因为各种机器之间数据隔离严重、日志量大且种类繁多等因素影响,难度可想而知。
2.日志种类繁杂
多种日志需实现不同的业务要求,单一的日志分析难以满足要求。
3.日志分析缓慢
受限于日志的大小和格式,分析的速度非常缓慢。
4.数据无法展现
日志数据难以通过报表或图形展现,无法帮助业务人员及时获取有价值的信息。
架构实现
1. DataHunter基于Golang自主研发的DhBeat,满足低负载高性能的数据采集、分析、上报,支持150w/s的数据采集需求。
2. NATS是一个开源的、轻量级的、高性能的分布式消息通信系统,实现了高可伸缩性和优雅的发布/订阅模型。
3. DataHunter基于Golang自主研发的K2db,满足低负载高性能的数据订阅、分析、入库需求。
4. Pipeline 是一种流式关系数据库,这种数据库的特点是自动处理流式数据,不存储原始数据,只存储处理后的数据,所以非常适合当下流行的实时流式数据处理
5. Citusdb分布式数据库可对 Pg 数据库进行伸缩以适合大数据的处理。可在集群中进行自动分片和碎片复制,查询需求可在集群中进行分布式处理,充分利用集群中每个节点的计算能力
6. DH可视化分析平台,基于DH核心产品的可视化配置工具,可以即时展示各区域、产品的实时带宽、流量、调度情况。
▲统计不同客户的带宽 ▲统计不同节点的带宽平台核心价值
1.多数据源融合
业务数据、日志信息、公共数据,轻松融合,汇总分析轻松掌控业务
▲调度日志与业务数据的结合2.实时数据展示
打通各个系统,最终实现实时数据处理及关键指标显示,每一刻都在保持与前线同步,便于业务人员监控日志信息。
▲实时带宽统计3.交互式分析
业务人员可以根据实时数据配置生成图表,并利用这些图表进行协同过滤和任意维度数据钻取,探索式分析快速找到问题的根源。
▲任意维度聚合汇总