A new version of check_esxi_hardware, an open source monitoring plugin to monitor the hardware of VMware ESXi servers, is available.
The latest version (20250221) of check_esxi_hardware improves the handling of exceptions coming from the pywbem Python module.
The pywbem internal exceptions were renamed at the release of pywbem 1.0.0. Examples:
pywbem < 1.0.0 | pywbem >= 1.0.0 |
pywbem.cim_operations | pywbem._cim_operations |
pywbem.cim_http | pywbem._cim_http |
pywbem.exceptions | pywbem._exceptions |
You certainly noticed the added underscore (_) in the name.
Backward compatibility is important to me. To be able to support older (prior to 1.0.0) AND newer versions of pywbem, check_esxi_hardware now makes a version comparison of the installed and used pywbem version. This is done by using the Python module "packaging".
This means: Starting with this release (20250221), the packaging Python module must be installed to run check_esxi_hardware.
This can be done by using a predefined package from the OS:
$ sudo apt install python3-packaging
Or use pip system-wide:
$ sudo pip3 install packaging
Or inside your Python3 venv, use pip as well.
While working on the improved pywbem exception handling, I also came across another exception, the plugin did not cover before: The HTTP exception!
This is useful when the plugin is mistakenly pointed to a HTTP endpoint which does not serve any CIM elements (ESXi HTTPS UI for example). The plugin will then show the HTTP exception and exit as UNKNOWN:
ck@mint ~ $ /usr/lib/nagios/plugins/check_esxi_hardware.py -H myesxi -C 443 -U root -P secret
UNKNOWN: 400 (Bad Request)
In the past this would have shown a large Python stacktrace error.
As always, this is an open source monitoring plugin and this often involves multiple people to get a new release out. Special thanks for this release go to Phil Randal and Claire Morgenthau for important and much appreciated coding hints.
No comments yet.
AWS Android Ansible Apache Apple Atlassian BSD Backup Bash Bluecoat CMS Chef Cloud Coding Consul Containers CouchDB DB DNS Database Databases Docker ELK Elasticsearch Filebeat FreeBSD Galera Git GlusterFS Grafana Graphics HAProxy HTML Hacks Hardware Icinga Influx Internet Java KVM Kibana Kodi Kubernetes LVM LXC Linux Logstash Mac Macintosh Mail MariaDB Minio MongoDB Monitoring Multimedia MySQL NFS Nagios Network Nginx OSSEC OTRS Observability Office OpenSearch PGSQL PHP Perl Personal PostgreSQL Postgres PowerDNS Proxmox Proxy Python Rancher Rant Redis Roundcube SSL Samba Seafile Security Shell SmartOS Solaris Surveillance Systemd TLS Tomcat Ubuntu Unix VMWare VMware Varnish Virtualization Windows Wireless Wordpress Wyse ZFS Zoneminder