We have been looking at providing a plug-and-play monitoring solution for the IBM i specifically for our HA4i product after a request from one of our customers (details of this can be found in a previous post). The plan was to be base the solution around the Nagios XI product which is a subscription based offering which in turn is based on the Nagios Core product which is open source. The problem we encountered was that without a license you can only run the Nagios XI product for 30 days and extensions to that time period are not granted lightly if at all. Once the time period was over the product stopped allowing a number of pretty significant features to work. We did ask about a free developer license to allow us to complete the development and testing but were informed that no such license existed. However the customer we were working with did agree to letting us use their developer license which will allow us to complete the project.
We wanted to get started ASAP as we were not sure how much effort we would need to put into the project and the client wanted something sooner rather than later. This meant we had to look for another Open Source project which was based around the Nagios Core in the hopes that any development we did would be consistent with the Nagios XI product. This is where we came across the NEMS for Linux appliance, it is based on the Nagios Core and built to run on a Raspberry Pi.
We purchased a couple of Pi 4B boards and set about installing the NEMS for Linux appliance using the instructions provided by the developer. The install took some time (mainly due to the Pi running from a Micro SD card which needed to be flashed from a binary image) once installed we soon had some simple monitoring set up on our in-house network. The performance was very good considering the fact we were using a Pi to carry out all of the monitoring tasks including monitoring the Pi itself. We did play around with adding some of the other infrastructure to test its capabilities but the main purpose was to show how we could monitor the IBM i so we re-flashed the Micro SD and started from scratch again.
Unfortunately the IBM i cannot be monitored out of the box using the NEMS for Linux appliance, so we had to figure out how we could add an IBM i monitoring solution to the existing code and configuration. A chat with the main developer soon told us we were probably on our own here as he had no way to test anything built specifically for the task, so while we wait for his inclusion we set about building our own version that includes the IBM i monitoring. The plan is to eventually get it built into the base code so that others can contribute to the project.
The NEMS for Linux appliance includes a number of changes to the Nagios Core code, plus a number of changes to the original NConf code (now managed via a database) so we had to figure out how we could add new capabilities to the appliance. Fortunately after some poking around we figured out how we could add the required functionality without affecting other updates issued by the developers. We now have the IBM i plugin that was designed for Nagios up and running plus we added some new functionality aimed at monitoring our HA4i product.
After a lot of testing and probing we have managed to establish a stable installation and configuration process that works on the NEMS for Linux appliance. This means we can offer a Pi based appliance for our customers which will allow Enterprise level monitoring of their IBM i environments at an affordable cost, plus it can also include their non IBM i infrastructure in the same monitoring interface. It has also provided us with a lot of insight into how we can build the HA4i monitoring into Nagios with much of the code being able to be carried over and just needing to be packaged in a different manner..
The following are some of the screens available after configuration was completed and we had monitoring set up against a couple of LPAR’s that run our HA4i product.