Go to file
2020-10-12 10:15:53 +02: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 More refactoring work, cleanup and improvements. 2020-10-12 10:15:53 +02: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 Disable java dependencies in rpm package. No common meta-package exists between RHEL and Suse. 2020-10-02 08:39:30 +02:00
bitbucket-pipelines.yml Refactoring work for more Java compatibility and static compilation. 2020-10-09 10:20:50 +02:00
build.gradle More refactoring work, cleanup and improvements. 2020-10-12 10:15:53 +02:00
gradle.properties More refactoring work, cleanup and improvements. 2020-10-12 10:15:53 +02: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
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
settings.gradle Initial code commit 2020-08-07 08:13:48 +02:00

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.