在vsphere产品中内建一个监控所有虚机包括主机资源的插件,叫做vcenter servcie status,这个插件的主要功能是记录当前虚拟机资源的cpu、硬盘、内存和网络等相关信息。通过它可以查看24小时、周年月性能情况。而微软则需要另外安装scom产品。

那么,它究竟是如何工作的,如何记录数据的,24小时的数据你可以看到sql server客户端daily后缀的视图,我们可以看到它是每5分钟一个点,它的记录24小时以内的数据,那么每5分钟插入一段数据,再删除一段过期数据,每周的数据在weekly后缀的视图可以看到,它记录的是每隔半小时的点,以此类推月年的数据间隔越长。vsphere所采用的是utc时间,比中国所在东八区格林威治时间晚8个小时。不过在api中时间为格林威治时间,不用作转换。

当然我们可以直接通过sql语句去拿vsphere的数据获取性能数据,这样绕过api更直接快捷灵活,不过这里可能要手动配置vshpere数据库连接,通过api没有发现有接口可以拿到odbc的连接,那么通过第二种方法,就是通过api,貌似有点复杂,效率上肯定要低于直接sql,不过这样不用考虑数据库相关问题。

 private void GetPerformance()
{
DateTime edt = DateTime.Now;
DateTime sdt = DateTime.Now.AddHours(-);
ManagedObjectReference pmMor = util.getConnection().ServiceContent.perfManager;
ManagedObjectReference vmMor = util.getServiceUtil().getEntityByName("VirtualMachine", "linux13"); //---拉取系统监控项目---
List<PerfCounterInfo> perfCounterList = new List<PerfCounterInfo>();
PerfCounterInfo[] perfCounterInfos = (PerfCounterInfo[])util.getServiceUtil().GetDynamicProperty(pmMor, "perfCounter");
perfCounterInfos.ToList().ForEach(x =>
{
if (x.groupInfo.key.Equals("cpu") && x.nameInfo.key.Equals("usage") && x.rollupType == PerfSummaryType.average)
{
perfCounterList.Add(x);
return;
}
});
//---当前虚拟机条件内所有监控类型---
List<PerfMetricId> perfMetricIdList = new List<PerfMetricId>();
PerfMetricId[] perfMetricIds = util.getConnection().Service.QueryAvailablePerfMetric(pmMor, vmMor, sdt, true, edt, true, , true);
perfMetricIds.ToList().ForEach(x =>
{
if (perfCounterList.Where(item => item.key.Equals(x.counterId)).Count() > )
{
perfMetricIdList.Add(x);
}
});
PerfQuerySpec spec = new PerfQuerySpec()
{
metricId = perfMetricIdList.ToArray(),
entity = vmMor,
startTime = sdt,
endTime = edt,
startTimeSpecified = true,
endTimeSpecified = true,
//---时间间隔5分钟---
intervalId = ,
intervalIdSpecified = true,
};
PerfEntityMetricBase[] metrics = util.getConnection().Service.QueryPerf(pmMor, new PerfQuerySpec[] { spec });
}

vmware虚拟机监控数据的更多相关文章

  1. 探索Windows Azure 监控和自动伸缩系列2 - 获取虚拟机的监控定义和监控数据

    上一篇博文介绍了如何连接Windows Azure: http://www.cnblogs.com/teld/p/5113063.html 本篇我们继续上次的示例代码,获取虚拟机的监控定义和监控数据. ...

  2. [博客迁移]探索Windows Azure 监控和自动伸缩系列2 - 获取虚拟机的监控定义和监控数据

    上一篇博文介绍了如何连接Windows Azure: http://www.cnblogs.com/teld/p/5113063.html 本篇我们继续上次的示例代码,获取虚拟机的监控定义和监控数据. ...

  3. 通过libVirt抓取kvm虚拟机监控指标数据

    通常在我们的云环境中,为了保证云平台中虚拟机的正常运行,基本都需要这样一个功能,就是收集虚拟机的监控数据,比如cpu的使用率.内存的使用率.磁盘io.网络io等基本信息.可以利用这些信息及时调整云平台 ...

  4. VMware 虚拟机的虚拟磁盘编程知识点扫盲之一

    目录 目录 前言 VMware 虚拟机文件类型 VMware 虚拟机的快照 Quiseced Snapshot Quiseced Snapshot 的创建过程 创建快照 创建快照的执行过程及原理 删除 ...

  5. 提升VMware虚拟机性能招数

    在VMware虚拟机(VMware Workstation或VMware Server)中我们可以同时运行多个Guest OS,当同时在同一Host OS中运行多台虚拟机时势必会严重影响到Host O ...

  6. VMware Data Recovery备份恢复vmware虚拟机

    VMware Data Recovery 是VMware虚拟机备份工具,可创建虚拟机备份,同时不会中断虚拟机的使用或虚拟机提供的数据和服务.Data Recovery 管理现有备份,并在这些备份过时后 ...

  7. 探索Windows Azure 监控和自动伸缩系列3 - 启用Azure监控扩展收集自定义监控数据

    上一篇我们介绍了获取Azure的监控指标和监控数据: http://www.cnblogs.com/teld/p/5113376.html 本篇我们继续:监控虚拟机的自定义性能计数器. 随着我们应用规 ...

  8. vmware虚拟机和网络中的桥接和NAT

    vmware虚拟机和网络中的桥接和NAT 有许多人在网上回答类似的问题,但大多说的不够简单,且互相抄袭的嫌疑很大,这里我尽自己努力把问题说的明白一些 首先解释一下什么是NAT(network addr ...

  9. VMware 虚拟机 linux执行 ifconfig 命令 eth0没有IP地址(intet addr、Bcast、Mask) UP BROADCAST MULTICAST 问题

    VMware 虚拟机 linux执行 ifconfig 命令 eth0没有IP地址(intet addr.Bcast.Mask) UP BROADCAST MULTICAST 问题 eth0:网络接口 ...

随机推荐

  1. android在linux下刷机

    只需要下载相应的zip包,不需装什么手机助手. 1.下载相应zip包(ROM) http://download.mokeedev.com/ 比如我在上述网站下的魔趣的对应机型的ROM包. 2.linu ...

  2. SpringBoot核心

    1.基本配置 1.1入口类和@SrpingBootApplication SpringBoot通常有一个名为*Application的入口类,入口类里有一个main方法,这个main方法就是一个标准的 ...

  3. 经验总结:WebBrowser自动点击弹出提示框alert、弹出对话框confirm、屏蔽弹出框、屏蔽弹出脚本错误的解决办法

    经验总结:WebBrowser自动点击弹出提示框alert.弹出对话框confirm.屏蔽弹出框.屏蔽弹出脚本错误的解决办法 网上有好多解决方法,可是不一定好使,本人经过多次试验,针对WebBrows ...

  4. Subversion Self Signed Certificates

    When connecting to Subversion repositories using SSL connections the SVN client checks the server ce ...

  5. bootstrap 的页码显示问题-------------德州

    之前一个小bug,无论上边怎么搜索,下边的页码,不会改变 调整: 1,在mapper中添加计数, 2,找到service,queryPage中添加, 3,关键一部,如果没有会报错:,找不到该列 so, ...

  6. Agile1001社区10月份活动:一张图解读企业级产品思维

    活动信息 主题:一张图解读企业级产品思维 地点:北京市海淀区苏州街3号大恒科技大厦南座4层 时间: 2017-10-15 14:00 - 17:00 报名链接:http://www.hdb.com/p ...

  7. IOS学习经验总结

    学习ios有一段时间了,感觉有些盲目.有些迷茫,从网上收集了一些比人的学习经验,来参考. IOS学习经验总结--来自知乎网友 转自知乎:http://www.zhihu.com/question/20 ...

  8. java算法 蓝桥杯 摆花

    问题描述 小明的花店新开张,为了吸引顾客,他想在花店的门口摆上一排花,共m盆.通过调查顾客的喜好,小明列出了顾客最喜欢的n种花,从1到n标号.为了在门口展出更多种花,规定第i种花不能超过ai盆,摆花时 ...

  9. java tomcat报错: Starting Tomcat v7.0 Server at localhost' has encountered a problem问题

    运行web项目的时候出现下面错误: 出现这个问题的原因是 这个tomcat在其他项目中正在运行 关掉即可.

  10. 49. Group Anagrams同义词合并

    [抄题]: Given an array of strings, group anagrams together. Example: Input: ["eat", "te ...