需求: 开发一个监控系统,可以可视化监控一个系统的运行状态,各个服务器的负载等。要求在CPU占有率持续增高或者剩余内存不足时发出警告。(监控指标: CPU、内存、硬盘状态、网络流量)
思路:
1、 JNI调用服务器上的代码获取当前服务器状态,比如CPU和内存的状态
2、 利用JMX
3、 用Shell或者Perl写监控的脚本在服务器端运行,然后将数据封装成xml传到监控系统的服务器的servlet,将数据保存到数据库,之后就是网页显示。
4、 不需要在每个人机器上安装代理即可以做到监控,可以采取Apache的snmp4j
5、 snmp+jmx
6、 snmp+mrtg, snmp+多线程(mrtg的优势在于提供了良好的界面来呈现采集结果)
7、 Java对于系统底层的调用和操作一般用Jni来完成(因为有些关于底层的信息用命令行是得不到的,如getRuntime()的exec函数)
8、 使用最底层的Telnet协议,依据返回结果进行字符串截取获得就可以了。
9、 snmp监控服务器的物理信息,用snmp4j或snmphibernate信息。如果是获取jboss、tomcat之类的使用jmx就可以了
10、 jconsole,jdk5.0以后mbeanserver就存在jvm当中了,而且其有许多内置的mbean,其中就有有关thread、cpu、内存的信息。但是jconsole所谓的jmbeanserver都只能查查你jvm自身的状态,调用本地详细的监控信息需要使用jni
11、 munin或者nagios自己写扩展脚本
12、 spring+jmx
13、 top信息+jfreechart(Linux系统)
14、 监控系统用snmp,监控Java用jmx
15、 jmx只能对应用jmx作为管理框架的系统进行监控,不能直接对其他系统或者硬件进行监控(当然可以采用jmx+agent的方式)jmx对应于jvm级别的。
16、 关于数据显示的问题, 是用拉还是用推?
推:jms推到监控服务器,服务器用bds推到页面flex,全程无刷新,动态实时。(建议: 想cpu、内存等系统信息,不便做成服务器端的事件驱动,建议采用轮询的方式,在服务器开一个线程来不断轮询)
附录: SVG是什么?
可升级矢量图形,是一种采用xml来描述二维图形的语言。
————————————B/s系统的监控方案————————————
提及网络监控,网络流量,网络上机器的状况和web服务器状况监控(如服务器CPU使用率、发热情况、内存使用情况等)。已有的解决方案如通过socket+shell/jni,jsnmp,jms,前台使用flex或者ajax实现数据刷新表示。
一套BS结构系统抽取这些数据和统计的过程,或者说一套已有的BS系统如何无侵入地移植对它的实时监控。
参考思路:
1)使用Log4j在程序需要监控的地方记录数据到数据库
问题:实时性不好,并且把记录文件分散到代码各个地方,系统本身的代码和监控的代码混杂在一起,难以维护和理解。
2)另外开启一个线程监控,但因为要监控的数据都系统运行的一些代码的地方,不好获取这些数据。
3)获取到后放到数据库已经设好的一些字段里面去,但是一旦监控的数据改变,数据库也要随之改变,前台也是。或者系统改变了,监控的代码将随之全部改变。
4)在系统的每隔类里植入要被监控暴露的接口(成员变量和代码等)
ajax技术不太适合数据更新频率较快的实时监控系统,因为它本身还是“拉数据”,因为客户端的差异会导致不同客户端看到的监控状态不一致。目前给予web方式的“数据驱动”是一种值得推荐的方案(svg+js)
JPCAP:是一个能够抓取与发送网络数据包的Java组件。
分享到:
相关推荐
### 去哪儿监控系统实践知识点详解 #### 一、背景与需求 ##### 背景 在现代互联网服务中,高效稳定的监控系统是保证服务质量的关键。随着去哪儿网业务规模的不断扩大,传统的监控工具已无法满足其高可用、高并发的...
基于物联网及云计算技术的广东电信省级动环监控系统设计思路的知识点主要包括以下几个方面: 1. 动环监控系统的概念与重要性 动环监控系统即动力环境监控系统,主要负责监测和管理通信局站、机房环境和动力设备的...
总的来说,《视频远程监控系统设计与实现》这份文档将详细讲解如何从零开始构建这样一个系统,包括技术选型、设计思路、代码实现和系统优化等内容,为学习者提供了全面了解和实践视频监控技术的宝贵资源。...
通过分析和学习这些代码,可以帮助初学者快速理解和掌握监控系统的设计思路。 综上所述,这个压缩包为学习和实践自习室监控系统提供了必要的工具和资源,无论是对于理解蓝牙通信、微控制器编程,还是电路设计和仿真...
深度系统集成模式则是在顶层信息集成模式的基础上提出了新的设计思路,即将相关的控制层设备纳入综合监控系统中,从而实现更加紧密的信息交互和系统集成。这种模式通过采用通用性好、符合国际或行业标准的网络交换机...
【基于组态软件的反应车间监控系统设计】 随着现代化工生产对自动化控制需求的日益增长,反应车间的综合自动化控制水平提升成为关键。...同时,这种设计思路也为其他领域的监控系统设计提供了借鉴。
在油气生产监控系统中,传统的监控系统如PLC、DCS、SCADA等都是通过分散控制系统实现生产过程的自动化监控与管理,它们虽然为油田安全生产和高效开发提供了保障,但存在诸多问题。例如,随着物联网建设规模的不断...
【智能家居远程监控系统开发】 智能家居系统是现代科技与生活紧密结合的产物,旨在提升人们的生活质量。随着物联网技术的成熟和嵌入式系统在各领域的普及,智能家居系统已经取得了显著的发展。本文关注的是基于B/S...
- **《高可用架构》**:本书详细介绍了构建高可用系统的方法和最佳实践,其中也涵盖了监控系统的设计思路。 - **《大规模分布式系统:设计、部署和管理》**:这本书深入探讨了大规模分布式系统的设计原则和技术挑战...
智能校园摄像头监控系统的设计,是校园安全管理和智能化建设的关键组成部分,尤其在当今信息化时代背景下显得尤为重要。该系统设计的核心在于结合GPRS(General Packet Radio Service)的优势,利用其无线网络特性,...
在IT行业中,构建高效、直观的用户界面是至关重要的,特别是在工业自动化领域,如变电站的机器人监控系统。...对于有类似需求的项目,可以借鉴这一设计思路,结合自身的具体需求,快速开发出符合标准的监控系统。
该系统的项目技术路线设计是基于MIS、在线监测和GIS集成技术、B/S多层分布式技术、中间件技术、组件化、构件化开发技术、XML和Web Service技术等,旨在提供高效、可靠的污染源监控系统。 该智慧环保污染源监控系统...
本文将详细介绍在Linux系统下实现H.264视频监控系统的关键技术与设计思路。 1. H.264编码技术 H.264/AVC是最新一代的视频压缩标准,它引入了视频编码层(VCL)和网络提取层(NAL),实现了视频编码与网络的解耦。...
本文介绍了一种基于嵌入式Linux的远程监控系统的设计思路及其具体实现方法。远程监控系统能够通过互联网实现对远程设备的状态监测与控制,这对于工业自动化、智能家居等领域具有重要意义。文中提到,在当前的技术...
本文从开发思路,开发原理,开发过程,具体实现上,详尽的描述了移动视频监控系统的实现。在嵌入式ARM开发板上,linux系统下,搭载usb报警器和摄像头,通过驱动程序开发使能,web服务器编程,最终实现了满足需求的移动视频...
《VC基于IP的视频监控系统—存储和...这篇论文为读者提供了关于基于IP的视频监控系统开发的深度见解,尤其是对存储和回放模块的QT实现进行了详尽的解析,对于学习和实践相关技术的专业人士来说,是一份宝贵的参考资料。
整体来看,open-falcon是一套完整的端到端监控解决方案,覆盖了数据采集、处理、存储、展示和告警等多个环节,其设计思路和实现方式对于学习分布式监控系统以及Go语言开发极具价值。每个组件都可以单独部署和配置,...
二、基于嵌入式操作系统的网络监控系统设计思路 1、硬件设计 基于嵌入式操作系统的网络监控系统硬件部分包括嵌入式处理器、存储器、网络接口等。其中,嵌入式处理器是整个系统的核心,负责处理各种数据;存储器则...
1. 嵌入式远程监控系统设计的总体思路和系统架构方法 该系统设计主要基于ARMLinux操作系统,使用S3C2410X微处理器作为嵌入式视频服务器的核心部件,利用Web服务器与客户端通信的机理,实现了Web浏览器对远程设备的...
电梯监控系统是现代建筑中不可或缺的一部分,特别是在高层建筑中,其安全性和效率至关重要。...通过深入理解和实践,不仅可以掌握组态王的使用技巧,还能了解到电梯监控系统的整体架构和关键设计思路。