We are using the modern nsca package named nsca-ng-server (https://nsca-ng.org/) on our fully up-to date CentOS 8 based Icinga 2 server.
On the client side (centos *) we are sending the passive checks with the centos package: nsca-ng-client.
On the icinga server side you will configure the “nsca-ng-server” as per below:
File: nsca-ng.cfg
command_file = "/run/icinga2/cmd/icinga2.cmd"
authorize "*" {
password = "your password"
#
# The original NSCA server permits all authenticated clients to submit
# arbitrary check results. To get this behaviour, enable the following
# lines:
#
hosts = ".*"
services = ".*"
}
Then the simply add user nagios (nsca-ng process owner) to the icingacmd group.
Finally you might also need to enable the command feature with: icinga2 feature enable command
As for the IBM host machines, you could try to compile nsca-ng
I was on vacation and just looked on this the first time since two weeks.
Thanks for the information how to use the command feature, this might be useful. Will have to test it though. There is one caveat though: According to Features - Icinga 2 the needed feature is deprecated and might be removed in the future.
Does anybode here have a schedule when this will happen?
So you might want to change your CentOS monitoring to an implementation with the Icinga2 agent (setup is quite straightforward, we use this for our Windows and Ubuntu Hosts).
And I don’t know whether NSCA can be compiled on the mainframes, we will have to check this.
The commandpipe is currently set to be removed with v2.14 of the Icinga 2 core:
I have no experience with NSCA, put as I read the terms “send passive check result” I thought:
Can’t this be achieved with a script that sends that to the API of the Icinga 2 core?
I could see security being a concern. Even if possible, it may be more difficult (i.e. prone to not being implemented correctly) to restrict API access properly.
Security is actually not the biggest concern to be honest. Our servers don’t have direct internet access.
The main issue I see with the API solution that one would need to develop the needed functionality for sending the data from the i5 machines to Icinga2 in the first place. Which is something where we don’t have resources. Of course outsourcing might be an option but I would like to get an idea, what to expect (in terms of approaches, effort and needed manpower/budget).