HMCi is a utility that collects metrics from one or more IBM Power Hardware Management Consoles (HMC), without the need to install agents on logical partitions / virtual machines running on the IBM Power systems. The metric data is processed and saved into an InfluxDB time-series database. Grafana is used to visualize the metrics data from InfluxDB through provided dashboards, or your own customized dashboards.
Go to file
Mark Nellemann ebf84c8350 Cleanup code. 2020-12-01 11:48:05 +01:00
doc More refactoring work, from Groovy to plain Java. 2020-10-11 12:25:55 +02:00
gradle/wrapper Initial code commit 2020-08-07 08:13:48 +02:00
src Cleanup code. 2020-12-01 11:48:05 +01:00
.editorconfig Support for configuration file and multiple HMC's. 2020-08-13 17:50:26 +02:00
.gitattributes Initial code commit 2020-08-07 08:13:48 +02:00
.gitignore Cleanup code. 2020-12-01 11:48:05 +01:00
LICENSE Added LICENSE information 2020-08-18 13:49:48 +02:00
README.md More refactoring work, from Groovy to plain Java. 2020-10-11 12:25:55 +02:00
bitbucket-pipelines.yml Refactoring work for more Java compatibility and static compilation. 2020-10-09 10:20:50 +02:00
build.gradle Update 3rd party build deps. 2020-12-01 11:47:54 +01:00
gradle.properties Bump version. 2020-12-01 11:47:34 +01:00
gradlew Initial code commit 2020-08-07 08:13:48 +02:00
gradlew.bat Initial code commit 2020-08-07 08:13:48 +02:00
settings.gradle Initial code commit 2020-08-07 08:13:48 +02:00

README.md

HMC Insights

HMCi is a small utility to fetch metrics from one or more HMC's and push those to an InfluxDB time-series database.

This project is in no way associated with, supported or endorsed by, International Business Machines Corporation (IBM).

screenshot

Usage Instructions

  • Ensure you have correct date/time and use a NTP service to keep it accurate!
  • Install the HMCi package (.deb or .rpm) from downloads or compile from source.
  • Copy the doc/hmci.tpml configuration template into /etc/hmci.toml and edit the configuration to suit your environment. You can use the -c option if you place this file elsewhere.
  • Configure Grafana to communicate with your InfluxDB and import dashboards from doc/ into Grafana (The dashboards are slightly modified versions of the dashboard provided by the nmon2influxdb tool).
  • Run the bin/hmci program in a shell, as a @reboot cron task or setup a proper service :)

InfluxDB and Grafana Packages

You can download Grafana ppc64le and InfluxDB ppc64le packages for most Linux distributions and AIX on the Power DevOps site.

Binaries for amd64/x86 are available from the Grafana website and InfluxDB website and also directly from your Linux distribution repository in some cases.

Notes

Examples on how to change the default InfluxDB retention policy:

 ALTER RETENTION POLICY "autogen" ON "hmci" DURATION 156w
 ALTER RETENTION POLICY "autogen" ON "hmci" DURATION 90d

Development Information

You need JDK version 8 or later.

Build & Test

Use the gradle build tool, which will download all required dependencies.

./gradlew clean build

InfluxDB for local testing

Start the InfluxDB container

docker run --name=influxdb --rm -d -p 8086:8086 influxdb

To use the Influx client from the same container

docker exec -it influxdb influx

Grafana for local testing

Start the Grafana container, linking it to the InfluxDB container

docker run --name grafana --link influxdb:influxdb --rm -d -p 3000:3000 grafana/grafana:7.1.3

Configure a new InfluxDB datasource on http://influxdb:8086 named hmci to connect to the InfluxDB container. The database must be created beforehand, this can be done by running the hmci tool first. Grafana dashboards can be imported from the doc/ folder.