How-to monitor TCP/UDP ports

This manual will show you some options to monitor tcp/udp ports with Checkmk.

LAST TESTED ON CHECKMK 2.3.0P1

Table of Contents

Active checks

We do provide some active checks to monitor the functionality of applications like DNS/HTML. For more information, read the Active Checks section of the documentation.

Agent Plugin "Established TCP/UDP connections."

We do provide a netstat plugin collecting the network statistics. To configure the plugin, you have two ways:

Manual Configuration

Copy the corresponding plugin to the monitored host as described in the documentation:

./share/check_mk/agents/plugins/netstat.solaris
./share/check_mk/agents/plugins/netstat.aix
./share/check_mk/agents/plugins/netstat.linux
./share/check_mk/agents/windows/plugins/netstat_an.bat

By Using the Agent Bakery

Setup → Agents → Windows, Linux, Solaris, AIX → Agent rules → Established TCP/UDP connections → New rule:

Screenshot of new rule for TCP and UDP connections.

Next, bake the new agent and to install it on the monitored host.

Start monitoring the ports

After the plugin is in place, you now need to  configure the corresponding service rule. In that case, it's an enforced service.

Setup → Services → Enforced services → Monitor specific TCP/UDP connections and listeners → New rule:

Screenshot of options enabled. Connection name is apache and the protocol set to tcp. Local IP is 127.0.0.1 and the port is 80.

Useful for troubleshooting:

If this does not work, please make sure that the net-tools plugin is installed on your Linux machine. At the moment, it is still shipped by default on Ubuntu and Debian systems, but it might be replaced with ss.


If net-tools is already installed but it still does not work, execute the command manually and check if it generates output or not. The command executed by the plugin:

netstat -ntua | grep -E '^(tcp|udp)' | sed -e 's/LISTEN/LISTENING/g'


If everything works, the below section will be added to the agent output:

<<<netstat>>>