Monitoring through SNMP using Checkmk



Many devices like Routers, Switches, Sensors or Operating Systems could be monitored via SNMP (Simple Network Management Protocol). Before you continue, make sure you already have read Monitoring through Checkmk.

Try to fetch SNMP data from the target device

Before you start please check that your monitoring server is able to query data from the target device via SNMP. You can use the program snmpwalk to test if you can reach the target device.

In this example we query a Ubuntu Linux running snmpd using SNMP Version 2c with the community public.

snmpwalk -v2c -c public 172.16.166.103

You should get an output similar to this:

In case that your system is unable to connect please check if a firewall blocks the connection or if you are using a wrong version of SNMP.

Monitor a Linux host through SNMP via Checkmk

In the context menu of hosts select the option Checkmk discovery

Pick the Execute SNMP discovery option and click on Execute discovery.

The system will ask you for the required SNMP parameters. The SNMP configuration will be saved per host so you don't have to type in this data again. Press Save and run SNMP discovery to continue.

As soon as the discovery process is finished you can select all services you like to monitor. Press Continue to proceed.

To enable the new configuration, you need to run Refresh monitoring configuration.

Press Launch refresh to apply the new configuration.

After a few seconds the system will start to monitor the selected services and also generate charts whenever possible.

Create missing service templates for Checkmk

Depending on which device you are going to discover it could happen that the Options select box is empty and the information text Before you are able to monitor the following services, it is required that an appropriate service template has been created. followed by a table appears.

In this case you need to create the missing service templates first.

Create missing service templates for Checkmk

Open a new Browser windows and navigate to Templates Service Templates and press on + New

Create service template for hp_procurve_cpu

It is recommended to use the same name for the service template, as Checkmk uses (MK Check). In this case the MK Check is hp_procurve_cpu so we use CHECK_MK_HP_PROCURVE_CPU as service template name. Set Checkmk templates as service template type. Also disable active checks and use check_none as check command. Set the value from Parameters out of the table as ARG1.

Confirm with Create service template..

Service template parameter overview:

Parameter Value
Template name CHECK_MK_HP_PROCURVE_CPU
Service name CHECK_MK_HP_PROCURVE_CPU
Template type Checkmk templates
Enable active checks No
Check command check_none
ARG1 (80.0, 90.0)
Check period 24x7
Max. number of check attempts 1
Check interval 60
Retry interval 60

Repeat this step for all missing service templates.

Link service templates to MK Checks

Navigate to Check MK Mk Checks and press on + New

Set hp_procurve_cpu as Check name and select the corresponding service template CHECK_MK_HP_PROCURVE_CPU.

Repeat this for all service templates.

Create services

Now you are ready to create the services you like to monitor. Re-run the SNMP discovery and pick all services from the list.

To enable the new configuration, you need to run Refresh monitoring configuration.

After a few seconds your services are monitored by the system.

Mix monitoring methods

You can also use SNMP and the Checkmk Agent at the same time. Just rescan the host, and select "Execute remote discovery" to also query the Checkmk Agent.