Language selection:
Skip to main navigation Skip to main content Skip to page footer

Didactum Monitoring and isyVmon Integration

Complete step-by-step guide for integrating Didactum monitoring devices and sensors into isyVmon via SNMP – including host creation, check commands, service configuration, SNMP traps, and email alerting.

Note on the software: isyVmon is fully based on Nagios (monitoring engine) and Centreon (web interface). Therefore, all configuration steps described here also apply to pure Nagios and Centreon installations. Configuration files and menu paths are identical.

  • Software: isyVmon (iT-CUBE SYSTEMS) – based on Nagios + Centreon
  • Protocol: SNMP v1 / v2c / v3 via check_snmp plugin
  • Devices: Didactum Monitoring System 100T / 300T / 500T / 550T
  • Sensors: Temperature, leakage, humidity, door contact, smoke

1. Prerequisites & System Overview

isyVmon Server

  • isyVmon installed as a virtual appliance or hardware appliance
  • Web interface accessible (default: <Server-IP>/centreon)
  • Nagios plugins installed (package nagios-plugins or monitoring-plugins)
  • Package snmp and snmp-mibs-downloader installed
  • UDP port 161 open outbound (SNMP polling)
  • UDP port 162 open inbound (SNMP traps)

Didactum Device

  • Monitoring System 100T / 300T / 500T or 550T
  • SNMP enabled (v2c or v3)
  • Network access to the isyVmon server
  • MIB file available in the web interface

Architecture

[isyVmon / Nagios + Centreon] [Didactum Monitoring System]
IP: 192.168.1.10 IP: 192.168.1.50
Web: 192.168.1.10/centreon
--SNMP Polling UDP 161-->
<--SNMP Traps UDP 162---

Important directories on the isyVmon server

/usr/local/nagios/etc/ <-- Nagios configuration
/usr/local/nagios/etc/objects/ <-- Hosts, services, commands
/usr/lib/nagios/plugins/ <-- check_snmp and other plugins
/usr/share/snmp/mibs/ <-- MIB files
/var/log/nagios/nagios.log <-- Nagios logfile

Note: 

Paths may vary slightly depending on the isyVmon version and installation type. Alternative paths: /etc/nagios/, /etc/centreon/.

2. Enable SNMP on the Didactum device

Step 1 – Open web interface

Open in browser: 192.168.1.50 (adjust IP of the Didactum device)

Step 2 – Open SNMP settings

System settings → SNMP

Step 3 – Enter the following values

Field in the Didactum web interfaceValue
Enable SNMPEnabled
SNMP versionv2c (recommended) or v3
Community string (v1/v2c)didactum_isyvmon (do not use “public”!)
SNMP port161
Trap receiver IP192.168.1.10 (IP of the isyVmon server)
Trap port162
Trap versionv2c

SNMPv3 settings (optional, increased security)

FieldValue
Security nameisyvmon_user
Auth protocolSHA
Auth passwordmin. 8 characters
Priv protocolAES
Priv passwordmin. 8 characters
Security levelauthPriv

3. Check Packages and the check_snmp Plugin

Step 1 – Log in to the isyVmon server via SSH

ssh root@192.168.1.10

Step 2 – Install SNMP packages

sudo apt update
sudo apt install -y snmp snmp-mibs-downloader nagios-plugins

Check availability of check_snmp
ls /usr/lib/nagios/plugins/check_snmp
/usr/lib/nagios/plugins/check_snmp --help | head -10

Step 3 – Test SNMP connection to the Didactum device

# List all sensors
snmpwalk -v 2c -c didactum_isyvmon 192.168.1.50 .1.3.6.1.4.1.46501

Query temperature value directly (raw value ÷ 10 = degrees Celsius)
snmpget -v 2c -c didactum_isyvmon 192.168.1.50
.1.3.6.1.4.1.46501.5.1.1.7.101001

Test check_snmp plugin directly
/usr/lib/nagios/plugins/check_snmp
-H 192.168.1.50 -C didactum_isyvmon -P 2
-o .1.3.6.1.4.1.46501.5.1.1.7.101001
-w 280 -c 350 -l "Temperature"

Expected output: SNMP OK - 235

4. Install MIB File

Step 1 – Download MIB from the Didactum web interface

System settings → SNMP → "Download MIB file" → didactum.mib

Step 2 – Install MIB on the server

sudo cp didactum.mib /usr/share/snmp/mibs/
echo "mibdirs /usr/share/snmp/mibs" | sudo tee -a /etc/snmp/snmp.conf
echo "mibs ALL" | sudo tee -a /etc/snmp/snmp.conf

Test using MIB name
snmpwalk -v 2c -c didactum_isyvmon -m ALL 192.168.1.50
DIDACTUM-MIB::sensorValue

5. Configure the SNMP Community in isyVmon/Centreon

isyVmon (Centreon) manages SNMP credentials as macros that are assigned to hosts and commands.

Navigation in the isyVmon/Centreon web interface

Configuration → Commands → Macros

Or directly in the host template (recommended):

Configuration → Hosts → Templates → "Didactum Template" edit
→ Macros → Add Macro
Macro nameValueDescription
$_HOSTSNMPCOMMUNITY$didactum_isyvmonCommunity string for SNMPv2c
$_HOSTSNMPVERSION$2SNMP version (1, 2 or 3)
$_HOSTSNMPPORT$161SNMP port

Additionally for SNMPv3:

Macro nameValue
$_HOSTSNMPUSER$isyvmon_user
$_HOSTSNMPAUTHPROTOCOL$SHA
$_HOSTSNMPAUTHPASS$Your auth password
$_HOSTSNMPPRIVPROTOCOL$AES
$_HOSTSNMPPRIVPASS$Your priv password

6. Create Didactum Host in isyVmon

Option A – Via the Centreon web interface (recommended)

Configuration → Hosts → Add
FieldValue
Host namedidactum-monitor-01
AliasDidactum Monitoring System 01
IP address / DNS192.168.1.50
SNMP community & versiondidactum_isyvmon / 2c
Monitored fromCentral (or desired poller)
Host groupsDidactum Monitoring (create new group)
Templatesgeneric-host or custom Didactum template
Active checks enabledYes
Notifications enabledYes
Notification period24x7

Click Save.

Option B – Directly as a Nagios configuration file

sudo nano /usr/local/nagios/etc/objects/didactum-hosts.cfg
# ================================================================

Didactum Monitoring System – Nagios host configuration
================================================================
define host {
host_name didactum-monitor-01
alias Didactum Monitoring System 01
address 192.168.1.50
check_command check-host-alive
max_check_attempts 3
check_interval 5
retry_interval 1
check_period 24x7
notification_interval 60
notification_period 24x7
notification_options d,u,r
contact_groups admins
hostgroups didactum-monitoring
# SNMP custom variables (for macros in commands)
_SNMPCOMMUNITY didactum_isyvmon
_SNMPVERSION 2
_SNMPPORT 161
}
define hostgroup {
hostgroup_name didactum-monitoring
alias Didactum Monitoring devices
members didactum-monitor-01
}

7. Define check_snmp Commands for Didactum

Option A – Via the Centreon web interface

Configuration → Commands → Checks → Add

Command: Didactum temperature

FieldValue
Command namecheck_didactum_temperature
Command typeCheck
Command line$USER1$/check_snmp -H $HOSTADDRESS$ -C $_HOSTSNMPCOMMUNITY$ -P $_HOSTSNMPVERSION$ -o $ARG1$ -w $ARG2$ -c $ARG3$ -l "Temperature" -u "0.1Degree"

Click “Describe arguments” and describe the following arguments:

ArgumentDescriptionExample value
ARG1OID of the temperature sensor.1.3.6.1.4.1.46501.5.1.1.7.101001
ARG2Warning threshold (raw value ×10)280 (= 28.0 °C)
ARG3Critical threshold (raw value ×10)350 (= 35.0 °C)

Command: Didactum leakage

FieldValue
Command namecheck_didactum_leakage
Command line$USER1$/check_snmp -H $HOSTADDRESS$ -C $_HOSTSNMPCOMMUNITY$ -P $_HOSTSNMPVERSION$ -o $ARG1$ -w 0:0 -c 1:1 -l "Leakage"

Command: Didactum sensor status (general)

FieldValue
Command namecheck_didactum_status
Command line$USER1$/check_snmp -H $HOSTADDRESS$ -C $_HOSTSNMPCOMMUNITY$ -P $_HOSTSNMPVERSION$ -o $ARG1$ -w 0:0 -c 1:2 -l "$ARG2$"

Option B – Directly as a Nagios configuration file

sudo nano /usr/local/nagios/etc/objects/didactum-commands.cfg
# ================================================================

Didactum SNMP check commands – Nagios configuration
================================================================
Temperature sensor with warning/critical thresholds
ARG1 = OID, ARG2 = Warning (×10), ARG3 = Critical (×10)
define command {
command_name check_didactum_temperature
command_line $USER1$/check_snmp -H $HOSTADDRESS$
-C $ARG4$ -P 2
-o $ARG1$ -w $ARG2$ -c $ARG3$
-l "Temperature" -u "0.1Degree"
}

Leakage sensor (0=OK, 1=CRITICAL)
define command {
command_name check_didactum_leakage
command_line $USER1$/check_snmp -H $HOSTADDRESS$
-C $ARG2$ -P 2
-o $ARG1$ -w 0:0 -c 1:1
-l "Leakage"
}

Sensor status (0=OK, 1=Alarm, 2=No signal)
define command {
command_name check_didactum_status
command_line $USER1$/check_snmp -H $HOSTADDRESS$
-C $ARG3$ -P 2
-o $ARG1$ -w 0:0 -c 1:2
-l "$ARG2$"
}

Humidity with thresholds in %
define command {
command_name check_didactum_humidity
command_line $USER1$/check_snmp -H $HOSTADDRESS$
-C $ARG4$ -P 2
-o $ARG1$ -w $ARG2$ -c $ARG3$
-l "Humidity" -u "%"
}

Door contact (0=closed=OK, 1=open=WARNING)
define command {
command_name check_didactum_door
command_line $USER1$/check_snmp -H $HOSTADDRESS$
-C $ARG2$ -P 2
-o $ARG1$ -w 1:1
-l "Door contact"
}

8. Create Services for All Sensor Types

Option A – Via the Centreon web interface

Configuration → Services → Add

Service: Temperature sensor

FieldValue
DescriptionDidactum Temperature Sensor 01
Linked with hostsdidactum-monitor-01
Check commandcheck_didactum_temperature
ARG1.1.3.6.1.4.1.46501.5.1.1.7.101001
ARG2 (Warning)280 (= 28.0 °C, raw value × 10)
ARG3 (Critical)350 (= 35.0 °C, raw value × 10)
Check interval5 minutes
Retry interval1 minute
Max check attempts3
Notifications enabledYes
Service groupsDidactum sensors

Service: Leakage sensor

FieldValue
DescriptionDidactum Leakage Sensor 01
Check commandcheck_didactum_leakage
ARG1.1.3.6.1.4.1.46501.5.1.1.7.107001
Check interval2 minutes
Max check attempts1 (immediately critical)

Service: Humidity

FieldValue
DescriptionDidactum Humidity Sensor 01
Check commandcheck_didactum_humidity
ARG1.1.3.6.1.4.1.46501.5.1.1.7.102001
ARG2 (Warning)80
ARG3 (Critical)90
Check interval5 minutes

Service: Door contact

FieldValue
DescriptionDidactum Door Contact 01
Check commandcheck_didactum_door
ARG1.1.3.6.1.4.1.46501.5.1.1.7.104001
Check interval1 minute

Service: Temperature sensor status

FieldValue
DescriptionDidactum Temp Status Sensor 01
Check commandcheck_didactum_status
ARG1.1.3.6.1.4.1.46501.5.1.1.6.101001
ARG2Temp status
Check interval5 minutes

Option B – Directly as a Nagios configuration file

sudo nano /usr/local/nagios/etc/objects/didactum-services.cfg
# ================================================================

Didactum services – Nagios configuration
================================================================
--- Temperature sensor -------------------------------------------
define service {
host_name didactum-monitor-01
service_description Didactum Temperature Sensor 01
check_command check_didactum_temperature!.1.3.6.1.4.1.46501.5.1.1.7.101001!280!350!didactum_isyvmon
max_check_attempts 3
check_interval 5
retry_interval 1
check_period 24x7
notification_interval 60
notification_period 24x7
notification_options w,c,r
contact_groups admins
servicegroups didactum-sensors
}

--- Temperature sensor status -----------------------------------
define service {
host_name didactum-monitor-01
service_description Didactum Temp Status Sensor 01
check_command check_didactum_status!.1.3.6.1.4.1.46501.5.1.1.6.101001!Temp status!didactum_isyvmon
max_check_attempts 3
check_interval 5
retry_interval 1
check_period 24x7
notification_interval 60
notification_period 24x7
notification_options c,r
contact_groups admins
}

--- Leakage sensor ---------------------------------------------
define service {
host_name didactum-monitor-01
service_description Didactum Leakage Sensor 01
check_command check_didactum_leakage!.1.3.6.1.4.1.46501.5.1.1.7.107001!didactum_isyvmon
max_check_attempts 1
check_interval 2
retry_interval 1
check_period 24x7
notification_interval 30
notification_period 24x7
notification_options c,r
contact_groups admins
servicegroups didactum-sensors
}

--- Humidity ---------------------------------------------------
define service {
host_name didactum-monitor-01
service_description Didactum Humidity Sensor 01
check_command check_didactum_humidity!.1.3.6.1.4.1.46501.5.1.1.7.102001!80!90!didactum_isyvmon
max_check_attempts 3
check_interval 5
retry_interval 1
check_period 24x7
notification_interval 60
notification_period 24x7
notification_options w,c,r
contact_groups admins
servicegroups didactum-sensors
}

--- Door contact -----------------------------------------------
define service {
host_name didactum-monitor-01
service_description Didactum Door Contact 01
check_command check_didactum_door!.1.3.6.1.4.1.46501.5.1.1.7.104001!didactum_isyvmon
max_check_attempts 1
check_interval 1
retry_interval 1
check_period 24x7
notification_interval 30
notification_period 24x7
notification_options w,r
contact_groups admins
servicegroups didactum-sensors
}
define servicegroup {
servicegroup_name didactum-sensors
alias Didactum sensor services
}

9. Receiving SNMP Traps

Nagios/isyVmon does not receive traps directly. The path goes via snmptrapd → Nagios passive check.

Step 1 – Install and configure snmptrapd

sudo apt install snmptrapd -y
sudo nano /etc/snmp/snmptrapd.conf
authCommunity execute,log,net didactum_isyvmon
traphandle .1.3.6.1.4.1.46501 /etc/nagios/scripts/didactum-trap-handler.sh

Step 2 – Create trap handler script

sudo mkdir -p /etc/nagios/scripts
sudo nano /etc/nagios/scripts/didactum-trap-handler.sh
#!/bin/bash

================================================================
Didactum SNMP trap handler for Nagios/isyVmon
================================================================
NAGIOS_CMD="/var/run/nagios/nagios.cmd"
HOST="didactum-monitor-01"
SERVICE="Didactum SNMP Trap"
STATE=2 # CRITICAL
TIMESTAMP=$(date +%s)
MESSAGE="CRITICAL: Didactum SNMP trap received from $1 – $*"

Submit passive check result to Nagios
echo "[$TIMESTAMP] PROCESS_SERVICE_CHECK_RESULT;$HOST;$SERVICE;$STATE;$MESSAGE"
>> $NAGIOS_CMD
sudo chmod +x /etc/nagios/scripts/didactum-trap-handler.sh

Step 3 – Create passive service in Nagios/Centreon

sudo nano /usr/local/nagios/etc/objects/didactum-trap-service.cfg
define service {
host_name didactum-monitor-01
service_description Didactum SNMP Trap
check_command check_dummy!0!"Waiting for SNMP traps..."
active_checks_enabled 0
passive_checks_enabled 1
max_check_attempts 1
check_interval 10
check_period 24x7
notification_interval 30
notification_period 24x7
notification_options c,r
contact_groups admins
}

Step 4 – Start snmptrapd

sudo systemctl enable snmptrapd
sudo systemctl start snmptrapd

10. SNMP OID Reference

All Didactum OIDs begin with .1.3.6.1.4.1.46501 (older firmware) or .1.3.6.1.4.1.39052 (newer models). The sensor ID is appended at the end.

OID fields per sensor

FieldMeaningExample
.1.x.SENSOR_IDSensor ID.1.3.6.1.4.1.46501.5.1.1.1.101001
.5.x.SENSOR_IDSensor name.1.3.6.1.4.1.46501.5.1.1.5.101001
.6.x.SENSOR_IDStatus (0=OK, 1=Alarm, 2=No signal).1.3.6.1.4.1.46501.5.1.1.6.101001
.7.x.SENSOR_IDMeasured value (current).1.3.6.1.4.1.46501.5.1.1.7.101001

Sensor types with OIDs

Sensor typeSensor IDOID measured valueOID statusUnit / note
Temperature sensor (digital)101001.1.3.6.1.4.1.46501.5.1.1.7.101001.1.3.6.1.4.1.46501.5.1.1.6.101001Raw value ÷ 10 = °C, enter threshold × 10
Temperature sensor (analog)201001.1.3.6.1.4.1.39052.5.2.1.7.201001.1.3.6.1.4.1.39052.5.2.1.6.201001Raw value ÷ 10 = °C
Water sensor / leakage107001.1.3.6.1.4.1.46501.5.1.1.7.107001.1.3.6.1.4.1.46501.5.1.1.6.1070010 = dry, 1 = water detected
Humidity102001.1.3.6.1.4.1.46501.5.1.1.7.102001.1.3.6.1.4.1.46501.5.1.1.6.102001Value in % (65 = 65%)
Potential-free contact101003.1.3.6.1.4.1.39052.5.1.1.7.101003.1.3.6.1.4.1.39052.5.1.1.6.1010030 = open, 1 = closed
Door contact104001.1.3.6.1.4.1.46501.5.1.1.7.104001.1.3.6.1.4.1.46501.5.1.1.6.1040010 = closed, 1 = open
Smoke detector106001.1.3.6.1.4.1.46501.5.1.1.7.106001.1.3.6.1.4.1.46501.5.1.1.6.1060010 = no smoke, 1 = alarm

Determine sensor ID: 

In the Didactum web interface under System tree → select sensor → details. This ID is appended to the end of the OID.

Temperature thresholds in check_snmp: 

check_snmp works with the raw value. Thresholds must be entered × 10. 28 °C = input value 280, 35 °C = input value 350.

MIB prefix per model: 

Older devices use .1.3.6.1.4.1.46501, newer models may use .1.3.6.1.4.1.39052. Refer to the exact OIDs in the MIB file of your device.

11. Configure Email Alerts

Step 1 – Create contact

In the Centreon/isyVmon web interface:

Configuration → Users → Contacts → Add
FieldValue
Full nameAdministrator
Aliasadmin
Emailadmin@yourdomain.com
Host notification period24x7
Host notification optionsd, u, r (Down, Unreachable, Recovery)
Service notification period24x7
Service notification optionsw, c, r (Warning, Critical, Recovery)
Host notification commandshost-notify-by-email
Service notification commandsnotify-service-by-email

Step 2 – Create contact group

Configuration → Users → Contact Groups → Add
Group Name: admins
Members: admin

Step 3 – Ensure mail delivery on the server

sudo apt install postfix mailutils -y

Select configuration type: "Internet Site"
Test:
echo "Test mail isyVmon" | mail -s "Test" admin@yourdomain.com

Step 4 – Check Nagios notification commands

# Default commands are already present in the Nagios configuration:
grep -A5 "notify-service-by-email" /usr/local/nagios/etc/objects/commands.cfg

The default Nagios notification commands automatically send emails when a service changes to WARNING, CRITICAL, or UNKNOWN state and a contact is assigned.

12. Export Configuration and Reload Nagios

All changes made via the Centreon/isyVmon web interface must be exported so that Nagios applies them.

Option A – Via the Centreon web interface (recommended)

Configuration → Pollers → Central → Export configuration

Enable the following options:

  • Generate configuration files: Yes
  • Run monitoring engine debug (-v): Yes (for initial test)
  • Move export files: Yes
  • Restart monitoring engine: Yes
  • Method: Restart

Click Export. Centreon generates the Nagios configuration files and restarts Nagios.

Option B – Directly via command line

# Check configuration for syntax errors
sudo nagios -v /usr/local/nagios/etc/nagios.cfg

Reload Nagios (no full restart required)
sudo systemctl reload nagios

If errors occur: full restart
sudo systemctl restart nagios

Check status
sudo systemctl status nagios

Option C – Include directly in isyVmon configuration file

sudo nano /usr/local/nagios/etc/nagios.cfg

Add the following lines (if not present):

cfg_file=/usr/local/nagios/etc/objects/didactum-hosts.cfg
cfg_file=/usr/local/nagios/etc/objects/didactum-commands.cfg
cfg_file=/usr/local/nagios/etc/objects/didactum-services.cfg
cfg_file=/usr/local/nagios/etc/objects/didactum-trap-service.cfg

13. Testing and Debugging

Test check_snmp directly

# Temperature value (expected: SNMP OK - 235)
/usr/lib/nagios/plugins/check_snmp
-H 192.168.1.50 -C didactum_isyvmon -P 2
-o .1.3.6.1.4.1.46501.5.1.1.7.101001
-w 280 -c 350 -l "Temperature"

Leakage status (expected: SNMP OK - 0)
/usr/lib/nagios/plugins/check_snmp
-H 192.168.1.50 -C didactum_isyvmon -P 2
-o .1.3.6.1.4.1.46501.5.1.1.7.107001
-w 0:0 -c 1:1 -l "Leakage"

Validate Nagios configuration

sudo nagios -v /usr/local/nagios/etc/nagios.cfg

Expected output: "Things look okay - No serious problems..."

Check service status in the Centreon/isyVmon web interface

Monitoring → Services → By Host
→ Host: didactum-monitor-01
→ View status of the Didactum services

Error messages and solutions

ProblemCause & solution
check_snmp: No response from remote hostFirewall blocks UDP 161; SNMP not enabled on Didactum; wrong IP or community
SNMP OK, but temperature 10× too highRaw value not considered → enter thresholds × 10 (28 °C = 280)
Service remains UNKNOWNcheck_snmp not found; wrong path in command_line → check with which check_snmp
Configuration error during exportRun nagios -v nagios.cfg, read errors and fix them
No email on alertPostfix not running; contact has no email; contact group not assigned to the service
Host does not appear in monitoring viewConfiguration not exported → Configuration → Pollers → Export
SNMP trap not receivedsnmptrapd not running; UDP 162 not open; trap handler script not executable

View Nagios logs

sudo tail -f /var/log/nagios/nagios.log
sudo tail -f /var/log/nagios/host-perfdata

14. Final Checklist

Didactum device

  • SNMP enabled (v2c or v3)
  • Community string set (not “public”)
  • Trap receiver IP set to isyVmon server
  • Trap port 162 configured
  • MIB file downloaded
  • snmpwalk test from the isyVmon server successful

isyVmon / Nagios server

  • Packages snmp, snmp-mibs-downloader, nagios-plugins installed
  • MIB file stored under /usr/share/snmp/mibs/
  • check_snmp successfully tested directly on the command line
  • Firewall: UDP 161 outbound, UDP 162 inbound open

Centreon / isyVmon web interface

  • SNMP community stored as host macro
  • Host “didactum-monitor-01” created (IP, community, template)
  • Check commands defined for all sensor types
  • Services created for temperature, leakage, humidity, door contact
  • Contact with email address and contact group created
  • Contact group assigned to the services
  • Configuration exported (Configuration → Pollers → Export)

Tests & validation

  • nagios -v: configuration error-free
  • Monitoring view: services show current status
  • Temperature thresholds: raw value × 10 entered correctly
  • Test alert triggered and email received
  • SNMP trap reception tested (optional)

This website uses cookies

This website uses cookies to improve user experience. By using our website you consent to all cookies in accordance with our Cookie Policy.

Essential cookies enable basic functions and are necessary for the website to function properly.
Statistics cookies collect information anonymously. This information helps us to understand how our visitors use our website.
Marketing cookies are used by third parties or publishers to display personalized advertisements. They do this by tracking visitors across websites.