虚拟机和应用环境监测的实现-搭建小型access数据库实录

时间:2024-06-29 06:09:34
【文件属性】:

文件名称:虚拟机和应用环境监测的实现-搭建小型access数据库实录

文件大小:1.72MB

文件格式:PDF

更新时间:2024-06-29 06:09:34

OpenStack 自动部署

6.3 虚拟机和应用环境监测的实现 虚拟机和应用环境监测模块的实现主要由虚拟机 Agent 监测模块、Server 监测 处理模块组成,下面分别介绍这两个模块的实现。 6.3.1 虚拟机 Agent 监测模块 Agent 程序中有关虚拟机监测的主要有 SigarReport 、 SigarMornitor 、 MonitorThread 等。 1. SigarReport 类 SigarReport 类对虚拟机和应用环境的监测指标量进行了封装,它的三个属性 分别对应 CPU 使用率,内存使用率和端口连接数。Agent 的监控线程会每 30 秒获 取一次系统性能指标,并用监测数据实例化一个 SigarReport,保存到监测数组中。 2. SigarMornitor 类 SigarMornitor 类为获取虚拟机的监控指标提供具体实现,它实现了单件模式, 在第一次初始化后,可以为以后的调用提供帮助。在获取系统 CPU 和内存使用率 时,分别调用了 Sigar 提供的 api 接口,例如 Mem mem= sigar.getMem(); CpuPerc cpuPerc= sigar.getCpuPerc(); double memused=mem.getUsedPercent(); double cpuused=cpuPerc.getCombined(); 在获取应用端口连接数的时候,是通过针对不同操作系统类型,执行响应的脚 本程序,通过管道命令的方式汇集连接数统计信息,脚本会返回连接数数量。例如, Windows下获取 80端口用户连接数的命令为 cmd.exe /c netstat -ano | find /c "80", Linux 下获取 80 端口用户连接数的命令为 netstat -an|grep -i 80 | wc –l。 3. MonitorThread 类 MonitorThread 是环境监控线程的实现,它定时执行获取系统的监测指标,将 监测数据组装成 SigarReport 对象,并且通过此前与 Server 建立的 TCP 连接回传监 测指标。 6.3.2 Server 监测处理模块 在第 4 章介绍的虚拟机管理模块实现中,应用自动部署管理系统底层对于虚 拟机的数据类型进行了抽象的包装,对于虚拟机的数据结构通过 NovaServer 类进 行封装,NovaServer 中包含了一个具有监控功能的循环数组 Monitor,数组中元素 类型 MonitorMeasure 表示虚拟机和应用的监测指标,它们之间的关系如下图:


网友评论