Answer the question
In order to leave comments, you need to log in
System for monitoring allocated resources from inside a virtual machine
Greetings.
We are developing some kind of real-time application that will run on a virtual platform. Today we are talking about VMWare ESXi, although I would not rule out development options towards KVM or Xen, or even multiplatform support.
Our software solution is extremely sensitive to the lack of system resources, especially the processor power and network bandwidth. We need to develop some kind of control system for allocated resources, i.e. a process that, from inside the virtual machine, will be able to monitor the state of system resources, collect statistics and, if necessary, send a warning. The main problem at this stage is that the monitoring system itself is inside the virtual machine container. Collecting such statistics and monitoring resources from the host (hypervisor) level is not a problem, but when it comes to performing such a task from the Guest OS level, difficulties begin. For example, in this case, there is no access to the API of VMWare ESXi itself.
Maybe one of the respected members of the community has encountered similar problems or has a theoretical idea of how such a system can be implemented.
Thank you very much in advance.
Answer the question
In order to leave comments, you need to log in
Any zabiks, cacti, nagios.
Collection of statistics on the network, their agents on machines + snmp.
I don't really understand what the problem is with access from the guest OS to the ESXi API. There is, for example, Veeam Backup and Replication, which does this very well. As a last resort — the agents on hosts.
Thanks for answers.
The problem is precisely that I can only put agents inside the guest OS. I don't have the ability to measure resources at the host level, my monitoring system is installed along with my main application. Exactly for the same reason, solutions from the Cacti and Zabbix series do not help me, because. they can track activity within the guest OS container itself, with appropriate restrictions. For example, we delivered our system to the customer, prescribed clear requirements for virtual machine resources, and he has our application running on the server in parallel with another 20 virtual machines and the resource sharing policy is set up, let's say, not quite right. At some point in time, activity on neighboring virtual machines increases in peak mode, which leads to a lack of resources for my software solution. From inside the container of my virtual machine, I still see the system resources allocated to me and they are still in order, but in reality I do not have enough computing power and network bandwidth, i.e. my program is choking. If at such a moment we monitor resources from the host side, then we will see the real state of affairs
By the way, the processor can be reserved in resource pools, there is also traffic shaping (however, I haven’t tried it myself).
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question