Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

整合Linux虚拟机物理机性能资源监控 #18

Open
yangyshdan opened this issue Dec 29, 2014 · 57 comments
Open

整合Linux虚拟机物理机性能资源监控 #18

yangyshdan opened this issue Dec 29, 2014 · 57 comments

Comments

@yangyshdan
Copy link
Owner

通过TPC或者Libvirt的底层API实现以下功能:

  1. 物理机和虚拟机配置获取,如CPU,内存,IP,磁盘,文件系统,等。
  2. 物理机和虚拟机对应关系。
  3. 物理机和虚拟机性能获取,尽量通过nmon工具获取。KPI包含基本的性能指标即可,如CPU,内存,网络,Disk IO.
@yangyshdan
Copy link
Owner Author

目前阿光在follow,计划1.16完成。

@lizongguang
Copy link
Collaborator

通过Libvirt提供的接口获取到的物理机和虚拟机配置信息(可以取到CPU,内存,虚拟机下磁盘信息),感觉不太理想,因为能取到的信息和我们想象中的有区别

@yangyshdan
Copy link
Owner Author

下个礼拜完成,

  1. GUI展示
  2. 从GUI上留出管理IP, 用户名,密码,管理协议,然后验证,并进行数据采集。

完成后关掉该issue。

@lizongguang
Copy link
Collaborator

目前任务完成进度:

  1. 物理机和虚拟机配置:即提供给用户录入IP,用户名,密码等设置信息功能(已完成)
  2. 物理机和虚拟机配置信息采集和展示(用命令行和Libvirt采集,已完成)
  3. 物理机和虚拟机性能信息采集和展示(用nmon采集已完成,展示正在做......估计26号之前能完成)

@lizongguang
Copy link
Collaborator

该部分已经完成,接下来是再配置一个全新的环境进行测试....

@yangyshdan
Copy link
Owner Author

请古劲和宗光一起review一下,宗光演示,如没有问题请古劲关掉。

@yangyshdan yangyshdan reopened this Jan 26, 2015
@yangyshdan
Copy link
Owner Author

增加

  1. hypervisor tab,在服务器主tab下。
  2. 增加libvirt的性能收集和展示。做到和虚拟机的性能展示独立开来。

@lizongguang
Copy link
Collaborator

当前问题:
1.目前用Libvirt只能采集到虚拟机磁盘读写性能信息,其他什么的CPU,内存,网络这些性能信息无法取到,这个得想想办法。

@yangyshdan
Copy link
Owner Author

zongguang把调用过程和结果发送给yangyi进行检查。结果需要包含所有4个API的调用结果。

@lizongguang
Copy link
Collaborator

1.已通过Libvirt获取虚拟机性能信息,当然这和通过nmon获取的性能信息会有区别。这个会适当地跟用户说明原因,如果用户想获取更多的配置和性能信息,那就让他配置虚拟机的IP,登录名和密码等;
2.现在获取的性能信息还是和虚拟机的性能信息页面一样,感觉没必要分开。

@yangyshdan
Copy link
Owner Author

提供UI设计PPT,说明Libvirt性能如何如何和NMON性能分别展示,页面入口,等。争取下周二给出。

@yangyshdan
Copy link
Owner Author

修改hypervisor的数据展示,突出核心指标,弱化性能图。展示方式可以以表格,柱状图,性能曲线图,加以丰富。

@yangyshdan
Copy link
Owner Author

请在修改以后及时附上截图,并上传到demo,以供浏览。

@yangyshdan
Copy link
Owner Author

目前使用JAVA接口无法获取VMWare信息。
建议使用libvirt命令行和python接口尝试。
阿光:如有问题请及时更新issue,以保持进度更新,方便我提供技术支持。

@lizongguang
Copy link
Collaborator

当前用现有的Libvirt程序可以连接到VMWare ESXI 服务器,但是获取虚拟机磁盘和网络信息时报错,有些API不支持ESX连接驱动,在KVM中没有该问题,需要作进一步的研究。

@lizongguang
Copy link
Collaborator

经过查看相关资料,发现不是程序问题,而的确是通过ESX连接不支持这些方法,是一个未处理的Bug(如:memoryStats & interfaceStats & blockInfo & blockStats),因为当前所用的Jar包和C语言库等都是比较新的版本。
当前可以收集到的只是虚拟机的一些基本信息:CPU个数,内存等,关于磁盘容量,性能信息等无法获取。

@yangyshdan
Copy link
Owner Author

Thanks. Does vsh has the same problem as C/Java does?

Sorry to use English as Chinese input software is having problem.

Best Regards
杨奕 / Yang Yi

2015-04-01 17:11 GMT+08:00 lizongguang [email protected]:

经过查看相关资料,发现不是程序问题,而的确是通过ESX连接不支持这些方法,是一个未处理的Bug(如:memoryStats &
interfaceStats & blockInfo & blockStats),因为当前所用的Jar包和C语言库等都是比较新的版本。
当前可以收集到的只是虚拟机的一些基本信息:CPU个数,内存等,关于磁盘容量,性能信息等无法获取。


Reply to this email directly or view it on GitHub
#18 (comment).

@lizongguang
Copy link
Collaborator

这个错误是C语言库中的方法抛出的异常,同时也发现不仅仅是C for Java有这个问题,其他语言(Python等)的API也是这个问题,原因都是一样。Virsh中基本的常用命令都没有问题,毕竟两者的实现方式有所差异

@yangyshdan
Copy link
Owner Author

用virsh取性能数据可以么?

Best Regards
杨奕 / Yang Yi

2015-04-02 9:43 GMT+08:00 lizongguang [email protected]:

这个错误是C语言库中的方法抛出的异常,同时也发现不仅仅是C for
Java有这个问题,其他语言(Python等)的API也是这个问题,原因都是一样。Virsh中基本的常用命令都没有问题,毕竟两者的实现方式有所差异


Reply to this email directly or view it on GitHub
#18 (comment).

@lizongguang
Copy link
Collaborator

不可以,virsh命令大部分用于查看虚拟机配置信息和配置虚拟机,跟API的功能有区别,这是virsh的命令清单:http://libvirt.org/sources/virshcmdref/html-single/

@yangyshdan
Copy link
Owner Author

okay. 这个问题暂时这样吧。有客户需求再说。

另外关于资料,几点建议,高才和古劲也请注意。

  1. 尽量上官网找资料。你给的link是二手资料,而且额是2011年的,是4年前的文档,明显有问题,
  2. 尽量上google找资料。之前说过了,用商业翻墙软件,费用找公司报销。

Best Regards
杨奕 / Yang Yi

2015-04-02 16:56 GMT+08:00 lizongguang [email protected]:

不可以,virsh命令大部分用于查看虚拟机配置信息和配置虚拟机,跟API的功能有区别,这是virsh的命令清单:
http://blog.chinaunix.net/uid-26284395-id-2888083.html


Reply to this email directly or view it on GitHub
#18 (comment).

@errorize errorize reopened this May 21, 2015
@errorize
Copy link

杨总,我使用ipmitool这个工具获取BMC收集的数据,同时下载英特尔公司官网提供的查看服务器的事件日志。如下图:

@errorize errorize reopened this May 21, 2015
@errorize
Copy link

2015-05-21_180049

@errorize
Copy link

BMC列出的传感器来看,这些事件可以包括CPU温度,电压,风扇转速,电源调制模块温度,电源电压等信息,当然也可以看到它们的数据,至于能不能看到其他部件的信息,需要杨总查阅一下资料。其实按照一些文档的说法,可以通过IPMITOOL操作BMC,给BMC设置报警级别,设定一个事件测试SNMP,远程开机关机等,这意味着当发生告警时,SNMP一样可以把BMC的事件发送出去,我觉得IPMITOOL和SNMP在告警的功能差不多,而且ipmitool并不支持window,支持Linux。请杨总回复,讲述一下您对ipmitool的理解,以及我们是否写一个和英特尔查看告警一样的功能。

@errorize
Copy link

那些PCI,IMM插槽等,一些文档没有提及,我不清楚能不能看到事件,而且我们的服务器是IBM的X3650,没有故障,我没办法看到红色、浅红色和黄色标记的事件。

@errorize
Copy link

image

@errorize errorize reopened this May 22, 2015
@errorize errorize reopened this May 22, 2015
@errorize
Copy link

2015-05-22_173853

@errorize
Copy link

张总,杨总,可以从BMC模块拿到的服务器数据:
序列号 (主板序列号和厂商序列号,可以)
主板状态信息 (可以)
硬件配置状态信息(可以)
硬盘驱动器状态信息(可以)
HDD卡状态信息
RAID卡状态信息
处理器状态信息(可以)
风扇设备状态信息(可以)
DIMM设备状态信息
电源设备状态信息
电源功率状态信息
IMM芯片状态信息
内存状态信息(可以)
可能是网卡,SAS card信息
电压信息(可以)
PCI插槽信息
温度信计状态信息(可以)
硬件微码版本(BIOS)

@yangyshdan
Copy link
Owner Author

张总,客户有没有给出具体需要取哪些参数的需求?

Best Regards
杨奕 / Yang Yi

2015-05-22 17:42 GMT+08:00 Microchip [email protected]:

张总,杨总,可以从BMC模块拿到的服务器数据:
序列号 (主板序列号和厂商序列号,可以)
主板状态信息 (可以)
硬件配置状态信息(可以)
硬盘驱动器状态信息(可以)
HDD卡状态信息
RAID卡状态信息
处理器状态信息(可以)
风扇设备状态信息(可以)
DIMM设备状态信息
电源设备状态信息
电源功率状态信息
IMM芯片状态信息
内存状态信息(可以)
可能是网卡,SAS card信息
电压信息(可以)
PCI插槽信息
温度信计状态信息(可以)
硬件微码版本(BIOS)


Reply to this email directly or view it on GitHub
#18 (comment).

@errorize
Copy link

errorize commented Jun 2, 2015

张总,杨总,IPMI拿到BMC收集到的硬件事件,而且SNMP的告警也是由BMC的watchdog触发的,但是需要配置BMC的登录信息才能连接BMC,顺利拿到BMC的硬件事件,你认为需要配置BMC的登录信息是不是必须的步骤啊?????恳求两位老总尽快回复。

@yangyshdan
Copy link
Owner Author

登录BMC用的是什么用户名和秘密?操作系统的?

Best Regards
杨奕 / Yang Yi

2015-06-02 10:55 GMT+08:00 Microchip [email protected]:

张总,杨总,IPMI拿到BMC收集到的硬件事件,而且SNMP的告警也是由BMC的watchdog触发的,但是需要配置BMC的登录信息才能连接BMC,顺利拿到BMC的硬件事件,你认为需要配置BMC的登录信息是不是必须的步骤啊?????恳求两位老总尽快回复。


Reply to this email directly or view it on GitHub
#18 (comment).

@errorize
Copy link

errorize commented Jun 3, 2015

登录BMC用的是客户在DOS环境下配置BMC的用户名和密码,也可以在操作系统设置前提条件是安装驱动。这个与操作系统无关,因为BMC是独立的,它负责与各种sensor交流,以便获取它们的事件。

@errorize errorize closed this as completed Jun 3, 2015
@errorize errorize reopened this Jun 3, 2015
@errorize errorize closed this as completed Jun 3, 2015
@errorize errorize reopened this Jun 3, 2015
@errorize
Copy link

errorize commented Jun 3, 2015

杨总,按照张总的说法,监控电源设备状态(status包括operational_status和consolidated_status),
11

@errorize
Copy link

errorize commented Jun 3, 2015

11
不知道S0->D0是什么意思?不知道是不是指电池的电芯???

@yangyshdan
Copy link
Owner Author

我们之前有个存储系统的Schema的,里面有状态的统一标识方法。你就用那个方法。详细找古劲要一下。

Best Regards
杨奕 / Yang Yi

On Wed, Jun 3, 2015 at 4:52 PM, Microchip [email protected] wrote:

杨总,按照张总的说法,监控电源设备状态(status包括operational_status和consolidated_status),

Uploading 11.png…


Reply to this email directly or view it on GitHub
#18 (comment).

@yangyshdan
Copy link
Owner Author

不用搞那么细吧。。。 之需要汇报状态就可以了。

Best Regards
杨奕 / Yang Yi

On Wed, Jun 3, 2015 at 5:00 PM, Microchip [email protected] wrote:

[image: 11]
https://cloud.githubusercontent.com/assets/10239478/7956335/d5e0fdee-0a11-11e5-8e2c-384c7c5b0c7f.png
不知道S0->D0是什么意思?不知道是不是指电池的电芯???


Reply to this email directly or view it on GitHub
#18 (comment).

@errorize
Copy link

errorize commented Jun 9, 2015

张总,目前能拿到硬件事件、状态和配置都实现了。

@errorize
Copy link

errorize commented Jun 9, 2015

eeeee

@errorize
Copy link

errorize commented Jun 9, 2015

GITHUP贴不了图,暂时没有更新到Demo。

@errorize
Copy link

errorize commented Jun 9, 2015

Uploading st.png…

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants