We are in the process of migrating our Nagios Core installation to a new Nagios XI setup. We are also switching from using the old Nagios Core NRPE client connection to using the NCPA client. All of our servers are required by regulations to run with FIPS mode enabled, so we initially ran into the issue of the NCPA Client 2.4.1 failing to start on our Red Hat 8 servers, due to the OpenSSL issue.
After some research and digging, I discovered the NCPA 3.0 BETA downloads and decided to give those a try. I did a test install of the BETA NPCA client on one of our DEV Red Hat 8 servers and I managed to get the RPM to install manually. After the installation was done, everything initially seemed to work fine. I did notice that the manual RPM install didn't seem to automatically setup the services for the NCPA Listener and Passive components, but I was able to figure out how to manually start them for testing purposes. After getting the client started, I was able to connect to it from the Nagios XI server and add all of the initial, default Linux server checks.
However, when I went to add our additional custom plugin checks, the custom plugins checks failed with the logs showing a bunch of Python errors (see log output below). The custom plugins are simple bash scripts that I wrote and put into the "plugins" folder for the NPCA client. These custom plugin checks work fine with the NCPA 2.4.1 client on our Red Hat 7 servers, but show the following errors in the "ncpa_listener.log" file on the Red Hat 8 servers:
Code: Select all
2023-10-31 16:05:28,499 listener INFO before_request() - request.url: https://<ip removed>:5693/api/plugins/check_uvscan
2023-10-31 16:05:28,502 listener.server ERROR Exception on /api/plugins/check_uvscan [GET]
Traceback (most recent call last):
File "configparser.py", line 805, in get
File "collections/__init__.py", line 1004, in __getitem__
File "collections/__init__.py", line 996, in __missing__
KeyError: ''
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "listener/pluginnodes.py", line 66, in get_plugin_instructions
File "configparser.py", line 808, in get
configparser.NoOptionError: No option '' in section: 'plugin directives'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "flask/app.py", line 2190, in wsgi_app
File "flask/app.py", line 1486, in full_dispatch_request
File "flask/app.py", line 1484, in full_dispatch_request
File "flask/app.py", line 1469, in dispatch_request
File "listener/server.py", line 289, in token_auth_decoration
File "listener/server.py", line 1093, in api
File "listener/pluginnodes.py", line 54, in walk
File "listener/pluginnodes.py", line 83, in execute_plugin
File "listener/pluginnodes.py", line 67, in get_plugin_instructions
Also, is there any documentation available for the proper way to install the NCPA 3.0 BETA client, where it automatically creates the listener and passive services? I looked, but I could not find any documentation on the support site that was specific to the NCPA 3.0 BETA client installations.
Thank you in advance for any help towards this issue!
Thanks,
John