Details
-
New Feature
-
Resolution: Incomplete
-
Minor
-
None
-
None
Description
This patch against r4386 adds preliminary support for
monitoring guests running on Proxmox VE platform. Both
OpenVZ containers and KVM virtual machines are supported.
Poller connects to Proxmox node via Proxmox's PVE2 API
and polls stats from all guests on all hosts in a cluster.
Stores RRD files under proxmox subdir for each device.
Included PVE2 API client code used by poller is taken from
https://github.com/CpuID/pve2-api-php-client.
It also adds "Proxmox VE Guests" tab on the device page
that displays CPU, Memory, Disk Usage, Disk I/O and Network
Traffic statistics for each guest.
Attachments
Issue Links
- is cloned by
-
OBS-494 Initial support for Proxmox VE guest monitoring
-
- Open
-
You are only considering the overall cost on the Observium side. If, for example, MySQL is running on another host, cost of forking rrdtool and database load are two completely separate things. While I totally agree about impact of fork()ing, your way still creates unnecessary load on the database server itself, which is even worse when both Observium and MySQL share the same limited pool of IO/s on a resource constrained (virtual) machine. With many concurrent Observium sessions it can sum up to quite a bit, especially if you are monitoring hundreds of devices and hit the moment when both discovery and polling processes run in the background. Even worse if you are using the syslog feature as well (should be moved from MySQL to ElasticSearch, or lean on Graylog2/Logstash, btw).
I also agree that Observium is not CPU bound, but it is IO bound, which is a lot worse. I do not agree, however, that relaxing a few simple rules makes code unmaintainable. I'm the first person to impose rules and procedures on others and I expect my employees to comply at all times, but rules aren't written in stone and can evolve over time to better fit new features, new requirements.
But, hey ... It's your project. I sincerely just wanted to help.