Checkmk 1.6.0 is no longer shipped with the classic Nagios UI, which includes the cgi-bin files. The authors have decided to remove it for security reasons and they don't intend to bring it back. This decision results in all third-party smartphone apps (such as aNag) to effectively stop working. This document explains how to get back Nagios cgi support.
Download the following file: checkmk-1.6.0-nagios-cgi.tar.bz2 (tested with Checkmk 1.6.0 / 2.0 / 2.1 / 2.2 / 2.3)
Transfer this to your Checkmk server. If you don't trust me, feel free to grab the original files from a Check_MK 1.5.0 installation. In our example, move the downloaded archive to /opt directory (and keep it there, you will likely need it again in the future).
As root, unpack the archive in the following directory, please remember to swap cmk-version with the currently running version (e.g. 2.2.0p1.cre).
cd /opt/omd/versions/cmk-version/lib/nagios/ tar -jxvf /opt/checkmk-1.6.0-nagios-cgi.tar.bz2
This will create a new cgi-bin directory inside your nagios/ folder. It includes the files needed for 3rd party tools to function. Remember you will need to do this again after every Checkmk update.
The unpacked files should look like this:
[root@kawuffelpeter nagios]# cd cgi-bin/ [root@kawuffelpeter cgi-bin]# ls -al total 3952 drwxrwxr-x. 2 root root 4096 Sep 11 16:21 . drwxr-xr-x. 4 root root 4096 Sep 25 00:32 .. -rwxrwxr-x. 1 root root 285496 Sep 9 00:18 avail.cgi -rwxrwxr-x. 1 root root 284112 Sep 9 00:18 cmd.cgi -rwxrwxr-x. 1 root root 252648 Sep 9 00:18 config.cgi -rwxrwxr-x. 1 root root 297752 Sep 9 00:18 extinfo.cgi -rwxrwxr-x. 1 root root 244640 Sep 9 00:18 histogram.cgi -rwxrwxr-x. 1 root root 228120 Sep 9 00:18 history.cgi -rwxrwxr-x. 1 root root 228104 Sep 9 00:18 notifications.cgi -rwxrwxr-x. 1 root root 223968 Sep 9 00:18 outages.cgi -rwxrwxr-x. 1 root root 223984 Sep 9 00:18 showlog.cgi -rwxrwxr-x. 1 root root 293672 Sep 9 00:18 status.cgi -rwxrwxr-x. 1 root root 244704 Sep 9 00:18 statusmap.cgi -rwxrwxr-x. 1 root root 240432 Sep 9 00:18 statuswml.cgi -rwxrwxr-x. 1 root root 228112 Sep 9 00:18 statuswrl.cgi -rwxrwxr-x. 1 root root 248640 Sep 9 00:18 summary.cgi -rwxrwxr-x. 1 root root 240448 Sep 9 00:18 tac.cgi -rwxrwxr-x. 1 root root 252832 Sep 9 00:18 trends.cgi [root@kawuffelpeter cgi-bin]# pwd /opt/omd/versions/2.2.0p1.cre/lib/nagios/cgi-bin
Now you need to create a new config file for Checkmk's included apache server. Remember to replace cmk-sitename with the name of your Checkmk site. In this example, as root we use the editor nano.
cd /opt/omd/sites/cmk-sitename/etc/apache/conf.d/ nano nagios.conf
Paste the following contents into your editor and again, replace cmk-sitename with the name of your Checkmk site. Remember, you have to edit 4 occasions. Once done, save the file:
# This will bring back nagios CGI support for 3rd party applications. # Enjoy! /Chot ScriptAlias /cmk-sitename/nagios/cgi-bin /omd/sites/cmk-sitename/lib/nagios/cgi-bin <Directory /omd/sites/cmk-sitename/lib/nagios/cgi-bin> Order allow,deny Allow from all SetEnv NAGIOS_CGI_CONFIG "/omd/sites/cmk-sitename/etc/nagios/cgi.cfg" </Directory>
I have tested that this file survives Checkmk version updates. Still, keep a copy of your edited file. You will have to unpack the nagios cgi archive into every future version of Checkmk after every Checkmk update. Yes, this works with Checkmk 2.2 / 2.3 eventhough the Web API got removed.
Finally, restart Checkmk so that Apache reads the new configuration.
omd restart
You're now able to use 3rd party tools again. I have tested and verified that this works with roles, permissions, contact groups. Access restrictions still apply as they should. I've also tested that aNag can still send commands.