There are a few things you need to prepare before we can start… Let’s get everything ready.
Installation
BPMON itself consists of a single binary with no dependencies. There are a couple of options to get a BPMON binary on your system:
From Source
To install BPMON, you need Go 1.11.x. Please refer to the official documentation to do so.
As soon as your Go environment is set up simply run the following command (don’t forget the three dots at the end!):
# go get -u github.com/unprofession-al/bpmon/...
This will fetch the source and its compile time dependencies and install it under $GOPATH/bin/bpmon
Get a Binary Release
(coming soon)
Via Docker Hub
(coming soon)
Preparing ICINGA 2 API Access
No problem. BPMON comes with a tiny Icinga Mock Server to get your hands dirty without having ICINGA ready…
BPMON fetches the status of the required services via the ICINGA 2 API. Therefore we have to enable the API as well as create a user for BPMON. Refer to the official documentation to do so…
Make sure you apply the correct permissions:
object ApiUser "bpmon" {
password = "..."
permissions = ["objects/query/Host","objects/query/Service","status/*"]
}
Setting up an Influx Database (optional)
A feature of bpmon is to write all measurements in an Influx database on order to have historical data of our up- and downtimes as well as the reasons for potential incidents. This is a neat feature for reporting etc.
If you want to get your hands on this feature you need to have an Influx database as well as a username/password with read/write access at hand.
Visit their documentaiton to learn how to set things up.