hmci/README.md

57 lines
2.6 KiB
Markdown

# 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](https://bitbucket.org/mnellemann/hmci/downloads/HMCi.png)
## 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](https://bitbucket.org/mnellemann/hmci/downloads/) or compile from source.
- Copy the *doc/hmci.groovy.tpl* configuration template into */etc/hmci.groovy* and edit the configuration to suit your environment. You can use the *-c [conf-file]* switch 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](https://www.power-devops.com/grafana) and [InfluxDB ppc64le](https://www.power-devops.com/influxdb) packages for most Linux distributions and AIX on the [Power DevOps](https://www.power-devops.com/) site.
Binaries for amd64/x86 are available from the [Grafana website](https://grafana.com/grafana/download) and [InfluxDB website](https://portal.influxdata.com/downloads/) 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.