统一监控平台方案
一、背景
公司软件系统、硬件繁多,没有进行统一管理和监控,急需一个统一的监控系统进行全盘监控和管理。进行系统故障预警和告警,保障系统健康稳定运行。
如今的服务通常由很多不同系统模块组成,他们之间相互调用并通过API调用外部服务。每个交互是如何被执行的通常是一个黑盒。怎样跟踪和监控这些模块之间的调用流并提供清晰的视图来定位问题区域和潜在瓶颈。如何能够在多个系统同时异常时,快速定位到异常的根源。
二、总体方案
1.监控内容
    各个系统日志监控、方法监控、JVM监控、中间件监控、中间件监控(ZK、ES、Kafka)、数据库监控、硬件监控(服务器等)
2.技术选型
Flume+Kafka+Spark+Elasticsearch+自研UI
埋点+pinpoint+zipkin 支持
3.监控项目版本划分
V1.1:实现日志收集,检索和分析功能
V1.2:实现硬件资源管理
V1.3:实现方法调用跟踪
V1.4:实现调用链路跟踪
4.监控平台架构图
中间价
   
告警系统:针对监控的数据进行异常告警(mail、短信等方式)
5.云化监控平台设想
5.1目前有很多系统或者应用都是虚拟机应用,云容器应用是后期发展趋势,企业私有云能够帮助企业实现节约项目实施成本。
目前设计的监控平台为了兼容云应用系统,需要考虑云统一监控系统方案。
目前主流的云平台采用kubernetes+docker技术实现。Kubenetes实现对docker容器的统一管理和调度以及编排操作,统一监控平台怎样去支持云平台应用的监控?
统一监控系统架构图
360云平台1.Kafka是一个大型的消息队列缓冲区,是个集模式的消息缓冲区,可以存大量的缓冲数据,如果我们的流量较大的时候会用到kafka做一个消息缓冲作用,形成一些原始的交易数据。缓冲完之后,会再进入到实时计算框架spark streaming中,spark streaming会消费kafka里面的这些数据,从spark streaming这一段的分支,分别是做监控的思路