{"id":50337265,"url":"https://github.com/swisscom/check_ilorest","last_synced_at":"2026-05-29T14:30:30.824Z","repository":{"id":325090047,"uuid":"1063971633","full_name":"swisscom/check_ilorest","owner":"swisscom","description":"check_ilorest is a monitoring plugin to check the hardware health on HPE servers.","archived":false,"fork":false,"pushed_at":"2025-11-19T13:20:28.000Z","size":47,"stargazers_count":4,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-03-06T12:52:46.869Z","etag":null,"topics":["hardware","hardware-health","hp","hpe","ilo","ilom","ilorest","monitoring","monitoring-plugins","nagios-plugins","observability"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/swisscom.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-25T11:12:57.000Z","updated_at":"2026-02-26T09:49:56.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/swisscom/check_ilorest","commit_stats":null,"previous_names":["swisscom/check_ilorest"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/swisscom/check_ilorest","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/swisscom%2Fcheck_ilorest","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/swisscom%2Fcheck_ilorest/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/swisscom%2Fcheck_ilorest/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/swisscom%2Fcheck_ilorest/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/swisscom","download_url":"https://codeload.github.com/swisscom/check_ilorest/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/swisscom%2Fcheck_ilorest/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33657690,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-29T02:00:06.066Z","response_time":107,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["hardware","hardware-health","hp","hpe","ilo","ilom","ilorest","monitoring","monitoring-plugins","nagios-plugins","observability"],"created_at":"2026-05-29T14:30:30.066Z","updated_at":"2026-05-29T14:30:30.815Z","avatar_url":"https://github.com/swisscom.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# check_ilorest\n\nThis is the public repository for the check_ilorest monitoring plugin.\n\ncheck_ilorest is a monitoring plugin to monitor the hardware health on HPE servers.\n\nThe plugin uses the `ilorest` command in the background, to query the hardware status from ILO (on HPE servers).\n\nAuthors:\n- Swisscom (Schweiz) AG\n- Claudio Kuenzler\n\nThis monitoring plugin was developed at and for Swisscom (Schweiz) AG and was published as open source software in 2025.\n\n# Usage\n\n## Requirements\nAs mentioned, `check_ilorest` uses the `ilorest` command. This command can be installed as RPM package, as PyPI package (using `pip3`) or built from source. Have a look at the official [ilorest repository](https://github.com/HewlettPackard/python-redfish-utility). The [ilorest user guide](https://servermanagementportal.ext.hpe.com/docs/redfishclients/ilorest-userguide/installation/) lists different installation method.\n\nBesides `ilorest` available as command, the following requirements are needed:\n- python3\n- Must be run locally on a HPE server (remote ILO target is TODO)\n- Must be run as root (`ilorest` requirement)\n- TMPDIR (default: `/tmp`) must be mounted with `exec` option =\u003e alternatively use `-t` parameter (see `--help`)\n\n## Monitoring Plugin\nThe plugin was developped for the purpose to easily integrate into classic system monitoring software, such as Icinga or Nagios.\n\n```\nroot@linux ~ # /usr/lib64/nagios/plugins/check_ilorest.py\nILOREST HARDWARE OK: Hardware is healthy. Server: HPE ProLiant DL380 Gen11, S/N: XXXXXXXXXX, System BIOS: U54 v1.40 (06/29/2023)\n```\n\nThe exit codes of `check_ilorest` are based on other monitoring plugins and follow the monitoring plugin development guidelines. \n\n- Exit Code 0: OK, no hardware problems detected\n- Exit Code 1: WARNING, degraded hardware detected\n- Exit Code 2: CRITICAL, hardware failure detected\n- Exit Code 3: UNKNOWN, there was a problem executing `check_ilorest` correctly\n\n\n## Prometheus readiness\n`check_ilorest` was developed for both classic and metrics-based monitoring tools. The plugin can be executed with the optional parameter `-o` to choose a different output format. By using `-o prometheus` the plugin outputs the information in Prometheus metrics exposition format. It could be used in combination with the Prometheus [Script Exporter](https://github.com/ricoberger/script_exporter) to execute the plugin and scrape the metrics through Script Exporter's API.\n\n```\nroot@linux ~ # /usr/lib64/nagios/plugins/check_ilorest.py -o prometheus\n#HELP ilorest_hardware_health Overall health status of server. 0=OK. 1=Warning. 2=Critical\n#TYPE ilorest_hardware_health gauge\nilorest_hardware_health 0\n#HELP ilorest_hardware_health_biosorhardwarehealth Health status of hardware component BiosOrHardwareHealth\n#TYPE ilorest_hardware_health_biosorhardwarehealth gauge\nilorest_hardware_health_biosorhardwarehealth 0\n#HELP ilorest_hardware_health_fans Health status of hardware component Fans\n#TYPE ilorest_hardware_health_fans gauge\nilorest_hardware_health_fans 0\n#HELP ilorest_hardware_health_memory Health status of hardware component Memory\n#TYPE ilorest_hardware_health_memory gauge\nilorest_hardware_health_memory 0\n#HELP ilorest_hardware_health_network Health status of hardware component Network\n#TYPE ilorest_hardware_health_network gauge\nilorest_hardware_health_network 0\n#HELP ilorest_hardware_health_powersupplies Health status of hardware component PowerSupplies\n#TYPE ilorest_hardware_health_powersupplies gauge\nilorest_hardware_health_powersupplies 0\n#HELP ilorest_hardware_health_processors Health status of hardware component Processors\n#TYPE ilorest_hardware_health_processors gauge\nilorest_hardware_health_processors 0\n#HELP ilorest_hardware_health_smartstoragebattery Health status of hardware component SmartStorageBattery\n#TYPE ilorest_hardware_health_smartstoragebattery gauge\nilorest_hardware_health_smartstoragebattery 0\n#HELP ilorest_hardware_health_storage Health status of hardware component Storage\n#TYPE ilorest_hardware_health_storage gauge\nilorest_hardware_health_storage 0\n#HELP ilorest_hardware_health_temperatures Health status of hardware component Temperatures\n#TYPE ilorest_hardware_health_temperatures gauge\nilorest_hardware_health_temperatures 0\n```\n\n## Compatibility with ProLiant server generations\nThe `ilorest` command, used in the background of the plugin, queries the Redfish API integrated into the ILO controller (available since ILO4 v2.10+, ILO5 v1.20+, ILO6 v1.05+). Newer server generations have a better and more detailled implementation inside ILO, allowing to query more information and more hardware elements.\n\n|HW generation|supported|notes|\n|---------------|---------|-----|\n|Gen9 | :white_check_mark: | limited number of hardware elements, shows overall health state |\n|Gen10| :white_check_mark: |  |\n|Gen11| :white_check_mark: |  |\n\n## Compatibility with ilorest releases\nThe `check_ilorest` monitoring plugin has been successfully tested on the following `ilorest` releases. This list is non-conclusive. Most `ilorest` releases should actually work.\n\n|ilorest release|supported|notes|\n|---------------|---------|-----|\n|4.6.0 | :white_check_mark: |  |\n|6.2.0 | :x: | `--nocache` not working |\n|6.3.0 | :white_check_mark: | Slower than 4.6.x release |\n\n## ToDos\n- Support remote ILO (using `-a` and credentials)\n- Support ignore list to ignore specific discovered hardware elements\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fswisscom%2Fcheck_ilorest","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fswisscom%2Fcheck_ilorest","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fswisscom%2Fcheck_ilorest/lists"}