实时监控系统设计

  随着系统业务复杂度的提升,系统复杂度提升,需要对整个系统的功能、性能、可用性,以及服务、

web、webservice、网页等等多个角度进行监控。

      1、监控设计为两个部分一部分为监控客户端部分,应用调用jar包或其他形式实现对单机节点的监控、

通过上报汇总的形式实现对大规模集群实现,非实时监控一般晚于1到5分钟的状况可以监控到。业务监控

采用每个服务器配置监控客户端,客户端负责写日志,并且定时将日志汇总日志中心,日志中心进行展示

,日志展示会存在一定延时。

       监控客户端可以实现为jar包,供需监控系统调用,实时写日志到文件系统比如每分钟生成一个日志

文件,监控jar包每个几十秒启动一次,扫描非当前系统正在写的日志文件(重写log4j类来实现)避免

同时读写一个文件产生异常情况,按行读取异步通过消息队列或发送实时收集接口到日志中心,删除处理

完成日志。

      监控为实现数据不丢失用于实时计算和离线计算,可以通过nginx代理形式,实现上边写文件形式来

保证一份数据是稳定的非常全的数据。

     2、某个用户调用路径监控可根据调用参数增加debug=true,关键方法均将返回值增加到返回值得

hashmap中,这个问题需要避免被外界恶意调用,恶意调用会将整个路径暴露,可以对debug调用ip或

其他可验证身份的东西做相应限制。

     3、实时监控系统,大众点评开源cat系统。

     4、数据传输如特别在意时效性,可将传输协议用udp,同事阿力提出的想法,很赞。

       未完待续...

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Java技术

消息队列常见的几种使用场景介绍!

消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题。实现高性能、高可用、可伸缩和最终一致性架构。使用较多的消息队列有Active...

541
来自专栏张善友的专栏

TechEmpower 13轮测试中的ASP.NET Core性能测试

应用性能直接影响到托管服务的成本,因此公司在开发应用时需要格外注意应用所使用的Web框架,初创公司尤其如此。此外,糟糕的应用性能也会影响到用户体验,甚至会因此受...

1968
来自专栏哲学驱动设计

Rafy 领域实体框架简介

按照最新的功能,更新了最新版的《Rafy 领域实体框架的介绍》,内容如下: 本文包含以下章节: 简介 特点 优势 简介 Rafy 领域实体框架是一个轻量级 OR...

1857
来自专栏TechBox

模块化与解耦简述4. 解耦与通信5. 源码推荐

1253
来自专栏微信公众号:Java团长

消息队列常见的几种使用场景介绍!

消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题。实现高性能、高可用、可伸缩和最终一致性架构。使用较多的消息队列有Active...

821
来自专栏.NET技术

.net core实践系列之短信服务-架构设计

上篇《.net core实践系列之短信服务-为什么选择.net core(开篇)》简单的介绍了(水了一篇).net core。这次针对短信服务的架构设计和技术栈...

812
来自专栏企鹅号快讯

Google 开源分布式追踪系统 OpenCensus

OpenCensus 是 Google 开源的一个用来收集和追踪应用程序指标中立厂商的第三方库 授权协议:Apache 2.0 开发语言:Java PHP Py...

2839
来自专栏IT大咖说

沪江:React Native三端融合应用实践

摘要 ReactNative给前端提供了一套两端共用代码和快速实现热更新的框架,但在实际落地中,需要进行大量的保障工作和优化工作来让业务能够平稳上线,另一方面,...

4005
来自专栏Java后端生活

购物APP项目开发(3)——广告轮播

1586
来自专栏EAWorld

微服务模式系列之四:客户端服务实现

译者自序: 熟悉我的朋友都知道,我很不喜欢翻译东西,因为在两种语言的思维方式之间做频繁切换对我来说是件很痛苦的事情。但是这次不一样,公司和同事的大力支持降低了我...

24810

扫码关注云+社区