Monitoring a foreman instance

We discussed internally today, if there are already projects which monitors a foreman (+ katello) instance on a server? As there are many monitoring solutions out there, the question is also, if it would make sense to have some scripts which grabs the state of a foreman and provide the data in a common format (key:value, yaml, json). The monitoring system is then (hopefully) able to parse the common format and handle the monitoring data.

I use this Announce: Yet Another Nagios/Icinga Foreman Check Plugin

it uses existing endpoints

1 Like

What kind of monitoring are you looking for? For Application Performance Monitoring I can highly recommend Elastic APM. We’ve made a plugin for this a while ago.

I added some options based on checks I typically use to our training material: foreman-training/07_monitoring.md at gh-pages · NETWAYS/foreman-training · GitHub

It will not only work with Icinga, but also Nagios and other forks of it.

2 Likes

We do have hammer ping and the API endpoint you can call from your script.

Then there is telemetry which you can turn on and have more insigts into what the deployment is actually doing. However keep in mind that the Ruby Prometheus library does not perform well because it does not work very well with multiple instances of Puma. I suggest to use statsd and statsd_exporter if you need get reasonable data.

What is the common format you refer to? Until today, I thought that every single monitoring system has its own format and many of them do undesrtand the gold Nagios standard. But feel free to create RPM/DEB packages for such scripts I think we will be more than happy to include them in the standard repositories.