Skip to content

Check huawei-pacific-fan

Overview

Checks the status of all fans on a Huawei OceanStor Pacific storage system via the REST API (/hwm/fan endpoint). Alerts when any fan reports a non-normal status.

Important Notes:

  • Create a read-only API user that can perform queries only
  • The hardware endpoint is node-scoped. The check first enumerates the cluster nodes (/cluster/servers) and then queries the fans on every node
  • The credential/session token is cached in a local SQLite database between runs; --cache-expire controls how long it is reused before a fresh login

Data Collection:

  • Enumerates the cluster nodes and queries the Huawei OceanStor Pacific REST API at https://<ip>:<port>/api/v2/hwm/fan
  • Authenticates via a session token (X-Auth-Token), cached in a SQLite database to avoid repeated logins
  • If the appliance rejects a request (for example after a session reset or timeout), the check logs in again and retries

Fact Sheet

Fact Value
Check Plugin Download https://github.com/Linuxfabrik/monitoring-plugins/tree/main/check-plugins/huawei-pacific-fan
Nagios/Icinga Check Name check_huawei_pacific_fan
Check Interval Recommendation Every 5 minutes
Can be called without parameters No (--password, --url and --username are required)
Runs on Cross-platform
Compiled for Windows No
Uses State File $TEMP/linuxfabrik-monitoring-plugins-cache.db

Help

usage: huawei-pacific-fan [-h] [-V] [--always-ok]
                          [--cache-expire CACHE_EXPIRE] [--insecure]
                          [--no-proxy] --password PASSWORD [--scope SCOPE]
                          [--timeout TIMEOUT] -u URL --username USERNAME

Checks the status of all fans on a Huawei OceanStor Pacific storage system via
the REST API (/hwm/fan endpoint). Alerts when any fan reports a non-normal
status.

options:
  -h, --help            show this help message and exit
  -V, --version         show program's version number and exit
  --always-ok           Always returns OK.
  --cache-expire CACHE_EXPIRE
                        The amount of time after which the credential/data
                        cache expires, in minutes. Default: 15
  --insecure            This option explicitly allows insecure SSL
                        connections.
  --no-proxy            Do not use a proxy.
  --password PASSWORD   Huawei OceanStor Pacific API password.
  --scope SCOPE         Huawei OceanStor Pacific API scope.
  --timeout TIMEOUT     Network timeout in seconds. Default: 3 (seconds)
  -u, --url URL         Huawei OceanStor Pacific API URL.
  --username USERNAME   Huawei OceanStor Pacific API username.

Usage Examples

./huawei-pacific-fan --url=https://oceanstor:8088 --username=monitoring --password=mypass

Output:

Everything is ok.

Chassis SN            ! Name ! Status ! State
----------------------+------+--------+------
2102355GLC10N9100002  ! Fan0 ! normal ! [OK]
2102355GLC10N9100002  ! Fan1 ! normal ! [OK]

Fetched API 2 times

States

  • OK if all fans report a status of "normal".
  • WARN if any fan reports a status other than "normal" (for example "fault", "absent" or "unknown").
  • UNKNOWN on invalid API responses or responses with error codes.
  • --always-ok suppresses all alerts and always returns OK.

Perfdata / Metrics

Name Type Description
\<chassis>_\<fan>_status Number Fan status. 0: normal, 1: not normal.

Troubleshooting

No valuable response from the API

Got no valuable response from https://...

Check the --url, --username and --password parameters. Verify that the API user has query permissions and that the storage system REST API is reachable.

Credits, License