`
csc365kl
  • 浏览: 56525 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

监控程序架构

 
阅读更多

监控程序架构

监控程序为 独立的一个java项目 需要一个java端口(用于jmx remote) 及 一个 web端口(用于web访问)

客户端可连接程序 为 jconsole 和 html网站

MonitorJmx
----com.kompakar.ehealth.monitor
---------------------------------agent(主要存放类似于main函数的 启动程序 启动程序需要初始化jmx容器 将mbean注册到容器中,agent分3个级别的 手工注册、按系统分包的、全部的 ,后两种可以动态导入不用手工注册) MainAgent
---------------------------------config(主要存放一些配置文件) Constant 服务器url 可以放到属性文件中
---------------------------------mbean(存放监控bean,需要遵循规约 以MBean结尾 实现和接口需要放在一个包中) OperatingSys OperatingSysMBean Database DatabaseMBean Jvm JvmMBean
------------------------------------------ihis cp (如果监视多系统 可以进一步分包)
---------------------------------util(一些工具类 如jmx远程连接工具类)RMIClientFactory Mail

实现监控只需要 编写接口MBean和 实现 并注册到对应的agent

监控大多是主动请求,如查看硬件信息 则主动调用获取的函数 , 查看数据库连接池情况则 同样调用对应函数
第二中是被动告知 如数据库链接数不够 内存溢出(这种情况下主动请求可能就需要不停的监控)

对于目前kthis 的监控:
目前写的2个MBean 是2种方式的
第一个是对OperatingSys 硬件基础信息的监控,目前资源是直接读取tomcat对外开放的jmxremote
第二个是对Database 连接池的监控 资源是在 eHealth中创建了一个 mbean包编写 监控接口和实现 并在EntryServlet(主要是需要得到spring的所有单例服务)中注册到tomcat jmx容器中 然后供监控程序远程获取

EntryServlet新增代码
private void jmxreg(){

try {
BasicDataSource ds = (BasicDataSource) wac.getBean(
                    "eHealthDataSource", BasicDataSource.class);
            MBeanServer server = ManagementFactory.getPlatformMBeanServer();
ObjectName DatabaseName = new ObjectName(
                    "monitor:name=Database");
            Database db = new Database(ds);
            server.registerMBean(db, DatabaseName);
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } 
    }
监控端一个MBean的实现
public int getNumActive(){    
        int numActive = 0;
        try {
            MBeanServerConnection client = RMIClientFactory
                    .getClient(Constant.SERVER_1);
            ObjectName objectName = new ObjectName(
                    "monitor:name=Database");
            numActive = Integer.parseInt(client.getAttribute(objectName, "NumActive").toString());
        } catch (Exception e) {
e.printStackTrace();
        }
return numActive;
    }
针对数据库层可以修改 log4jdbc的代码 设置相应的度量标准 去通知监控

为了尽量不影响现有系统 所有的代码 尽量是新添或 在系统切入切出部分修改

目前雷暴提供基础的监控页面都比较朴素 如果要用户体验比较高的 建议以后使用BS形式

分享到:
评论

相关推荐

    java桌面监控程序

    ### Java 桌面监控程序知识点解析 #### 一、Java 桌面监控程序简介 “Java桌面监控程序”是指利用Java编程语言开发的一种运行在用户桌面上的应用程序,主要用于监控计算机系统的各项活动或状态。这类程序通常具备...

    windows监控程序原理

    ### Windows监控程序原理 #### 一、引言 随着信息技术的发展与广泛应用,Windows操作系统因其出色的易用性和强大的功能,已成为众多应用程序开发与运行的基础平台。然而,在程序设计和运行过程中,能够实时监控...

    监控程序清单(机器指令与汇编指令对照)

    总的来说,这个监控程序清单提供了对TEC-2000型16位教学计算机系统监控程序内存布局和关键数据结构的详细描述,是理解监控程序工作原理和实现的关键。通过这种方式,开发者可以有效地调试和优化程序,同时确保与硬件...

    清华大学监控程序for HCS12.rar

    【清华大学监控程序for HCS12.rar】是一个与微控制器编程相关的资源,主要涉及的是 Motorola 公司(现为 NXP Semiconductors...同时,理解并熟悉HCS12的架构和指令集是必要的,以便更好地利用该监控程序进行项目开发。

    VB实现的屏幕监控程序(包括监控端和被监控端)

    屏幕监控程序是一种技术,用于远程监视和记录计算机的屏幕活动,通常用于企业内部管理、教育监控或网络安全等目的。在本案例中,我们讨论的是使用Visual Basic (VB) 编程语言实现的屏幕监控程序,它包括两个主要部分...

    桌面监控程序,select模型,简单易懂

    在IT领域,桌面监控程序是一种用于管理、控制和监视用户计算机活动的应用软件。它通常用于企业环境中,以确保员工的工作效率,防止数据泄露,并进行安全审计。本话题将重点讨论"select模型"在桌面监控程序中的应用,...

    VC系统服务监控程序源码.rar

    "VC系统服务监控程序源码.rar" 这个标题表明这是一个压缩文件,其中包含了使用Visual C++(VC)开发的系统服务监控程序的源代码。VC是微软公司开发的一种集成开发环境,主要用于C++语言的编程。系统服务监控程序则是...

    计算机监控程序(很详细的文档和源码)

    【标题】"计算机监控程序(很详细的文档和源码)"所涵盖的知识点主要涉及C++编程语言、软件开发过程中的源码管理和计算机监控技术。在这个项目中,开发者或学习者可以深入理解如何利用C++来编写监控程序,以及如何通过...

    注册表监控程序注册表监控程序

    注册表监控程序是一种重要的系统工具,它通过跟踪和记录注册表中的变化来提供对计算机运行状态的深入洞察。注册表是Windows操作系统的核心组件,存储着系统配置、应用程序设置以及硬件设备信息等关键数据。监控...

    进程监控程序

    进程监控程序是IT系统管理中的一个重要工具,它用于持续观察系统中的特定进程,确保这些进程在运行时的稳定性。在给定的“进程监控程序”主题中,我们主要讨论的是如何利用DOS命令来实现这样的功能,以及如何通过...

    CPU内存参数监控程序

    "CPU内存参数监控程序"是一个典型的系统监控工具,用于实时跟踪和分析计算机的中央处理器(CPU)和内存的使用状态。在课程设计中,这样的项目可以帮助学生理解操作系统的工作原理,提升编程技能,并学习如何处理实时...

    注册表监控程序_注册表监控_behaviorkk9_Vc_

    注册表监控程序是一种用于跟踪和记录系统注册表更改的实用工具。在Windows操作系统中,注册表是存储系统和应用程序设置的关键数据库。它包含了系统配置、软件安装信息、用户设置等重要数据。`SkMonitor`是这样一款...

    基于java的文件监控程序设计与实现.pdf

    程序设计思路与总体框架部分提出了一个文件监控程序的结构,该程序能够自动监控目录的变化,根据设定的参数执行数据完整性检查、验证和异常数据处理。程序基于模块化设计,分为数据接收模块、数据处理模块、文件操作...

    delphi开发服务监控另一程序

    下面将详细阐述这个Delphi服务监控程序的相关知识点。 1. **Windows服务**: Windows服务是在后台运行的程序,它们不依赖用户会话,并且通常在系统启动时自动启动。Delphi中可以通过TService组件来创建Windows服务...

    E语言高仿360流量监控程序源码

    【标题】"E语言高仿360流量监控程序源码"揭示了这是一个使用E语言编写的源代码项目,其目标是实现一个类似360流量监控器的功能。E语言,可能是指 EasyLanguage,一种专为交易策略设计的编程语言,通常用于金融市场的...

    WPF做的监控程序

    **标题:“WPF做的监控程序”** WPF(Windows Presentation Foundation)是Microsoft开发的一种用户界面框架,用于构建桌面应用程序。这个“WPF做的监控程序”是利用.NET Framework 4.0版本的WPF技术设计的,它专为...

    基于云计算技术的视频监控系统架构设计与实现.pdf

    基于云计算技术的视频监控系统架构设计与实现的研究涉及了多个方面的知识点,包括云计算基础、视频监控系统架构、数据存储与处理技术,以及Linux系统操作、Hadoop技术及MapReduce编程模型等。下面详细阐述这些知识点...

    网络监控软件 源程序.源代码

    在这个案例中,源代码可能是用C++编写的,这表明网络监控软件可能采用了面向对象的编程思想,利用C++的特性如类、模板、多态性等来构建模块化的程序结构,以提高代码的可读性和可维护性。 压缩包中的"网络监控软件...

    远程桌面监控 很不错的程序

    在压缩包中的“s结构的计算机远程监控程序”,可能是指程序使用了C++中的结构体(struct)来组织数据,如存储远程桌面的连接信息、用户权限等。这种结构化数据组织方式可以帮助提高代码的可读性和维护性。 总的来说...

    (支持17种主流品牌)CHS万能监控恢复程序.rar

    《CHS万能监控恢复程序:全方位解析与应用指南》 在现代安防系统中,监控录像的数据安全至关重要,但有时由于误操作或设备故障,可能会导致监控视频的丢失。为了解决这一问题,"CHS万能监控恢复程序"应运而生。这款...

Global site tag (gtag.js) - Google Analytics