Didactum Monitoring and GroundWork Monitor Integration
A complete step-by-step guide on integrating Didactum monitoring devices and sensors into GroundWork Monitor via SNMP - including host profiles, command configuration, service checks for all sensor types, SNMP trap integration via SNMPTT, and email alerting.
Architectural Note:
GroundWork Monitor utilizes Nagios as its polling and notification engine, as well as Nagios plugins to execute service checks. For SNMP queries, Nagios invokes a local SNMP client and passes the host address and OID. Configuration can be performed either via the graphical Monarch web interface or directly through Nagios configuration files.
- Software: GroundWork Monitor (Open Source or Enterprise Edition)
- Engine: Nagios + Monarch (Web Configuration Tool)
- SNMP Traps: SNMPTT (SNMP Trap Translator)
- Protocol: SNMP v1 / v2c / v3
- Devices: Didactum Monitoring System 100 / 500T / 500 II
- Sensors: Temperature, Leakage, Humidity, Door Contact, Smoke
1. Prerequisites and System Overview
GroundWork Monitor Server
- GroundWork Monitor installed (Open Source or Enterprise)
- Web interface (Monarch) accessible: <Server-IP>/monarch
- Status console accessible: <Server-IP>/gwos
- UDP port 161 open outbound for SNMP polling
- UDP port 162 open inbound for SNMP traps (Enterprise Edition)
- Network access to the Didactum device
Didactum Device
- Monitoring System 100T, 300T, 500T or 550T
- SNMP enabled (v2c recommended)
- Device reachable via ICMP from the GroundWork server
- MIB file available in the web interface
Architecture & Data Flow
[GroundWork Monitor Server] [Didactum Monitoring System]
IP: 192.168.1.10 IP: 192.168.1.50
/usr/groundwork/
Monarch (Web Config)
Nagios (Polling Engine)
SNMPTT (Trap Handler)
--check_snmp UDP/161-->
<--SNMP Traps UDP/162--
Important GroundWork Paths
/usr/groundwork/nagios/etc/ <-- Nagios configuration /usr/groundwork/nagios/etc/objects/ <-- Hosts, services, commands /usr/groundwork/etc/snmptt/ <-- SNMPTT configuration /usr/share/snmp/mibs/ <-- MIB files /usr/groundwork/nagios/plugins/ <-- Nagios plugins (check_snmp)
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 Interface | Value |
|---|---|
| Enable SNMP | Enabled |
| SNMP Version | v2c (recommended) |
| Community String | didactum_groundwork (do not use “public”!) |
| SNMP Port | 161 |
| Trap Receiver IP | 192.168.1.10 (IP of the GroundWork server) |
| Trap Port | 162 |
| Trap Version | v2c |
SNMPv3 Settings (optional)
| Field | Value |
|---|---|
| Security Name | groundwork_user |
| Auth Protocol | SHA |
| Auth Password | min. 8 characters |
| Priv Protocol | AES |
| Priv Password | min. 8 characters |
| Security Level | authPriv |
3. Install Packages & Plugins on the GroundWork Server
# Install SNMP tools and plugins
sudo apt update
sudo apt install -y snmp snmp-mibs-downloader \
nagios-plugins monitoring-plugins
# Test check_snmp plugin
/usr/lib/nagios/plugins/check_snmp --help | head -5
# Alternative: GroundWork-specific plugin path
ls /usr/groundwork/nagios/plugins/check_snmp
Test SNMP connection to the Didactum device in advance:
# List all sensor values
snmpwalk -v 2c -c didactum_groundwork 192.168.1.50 \
.1.3.6.1.4.1.46501.5.1.1
# Temperature value (raw value ÷ 10 = degrees Celsius)
snmpget -v 2c -c didactum_groundwork 192.168.1.50 \
.1.3.6.1.4.1.46501.5.1.1.7.101001
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 GroundWork 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_groundwork -m ALL 192.168.1.50 \
DIDACTUM-MIB::sensorValue
Step 3 – Provide MIB for SNMPTT (Trap Reception)
sudo cp didactum.mib /usr/groundwork/etc/snmptt/mibs/ # or: sudo cp didactum.mib /usr/share/snmp/mibs/
5. Defining check_snmp Commands in Monarch
Option A – Via the Monarch Web Interface
Monarch → Configuration → Commands → Add Command
Command: Didactum Temperature
| Field | Value |
|---|---|
| Command Name | check_didactum_temperature |
| Command Type | check |
| Command Line | $USER1$/check_snmp -H $HOSTADDRESS$ -C $ARG1$ -P 2 -o $ARG2$ -w $ARG3$ -c $ARG4$ -l "Temperature" -u "0.1Degree" |
Command: Didactum Leakage
| Field | Value |
|---|---|
| Command Name | check_didactum_leakage |
| Command Line | $USER1$/check_snmp -H $HOSTADDRESS$ -C $ARG1$ -P 2 -o $ARG2$ -w 0:0 -c 1:1 -l "Leakage" |
Command: Didactum Sensor Status
| Field | Value |
|---|---|
| Command Name | check_didactum_status |
| Command Line | $USER1$/check_snmp -H $HOSTADDRESS$ -C $ARG1$ -P 2 -o $ARG2$ -w 0:0 -c 1:2 -l "$ARG3$" |
Command: Didactum Humidity
| Field | Value |
|---|---|
| Command Name | check_didactum_humidity |
| Command Line | $USER1$/check_snmp -H $HOSTADDRESS$ -C $ARG1$ -P 2 -o $ARG2$ -w $ARG3$ -c $ARG4$ -l "Humidity" -u "%" |
Option B – Directly as a Nagios Configuration File
sudo nano /usr/groundwork/nagios/etc/objects/didactum-commands.cfg
# ================================================================
# Didactum SNMP Check Commands
# File: /usr/groundwork/nagios/etc/objects/didactum-commands.cfg
# ================================================================
# ARG1=Community, ARG2=OID, ARG3=Warning, ARG4=Critical
define command {
command_name check_didactum_temperature
command_line $USER1$/check_snmp -H $HOSTADDRESS$ \
-C $ARG1$ -P 2 -o $ARG2$ \
-w $ARG3$ -c $ARG4$ \
-l "Temperature" -u "0.1Degree"
}
# ARG1=Community, ARG2=OID
define command {
command_name check_didactum_leakage
command_line $USER1$/check_snmp -H $HOSTADDRESS$ \
-C $ARG1$ -P 2 -o $ARG2$ \
-w 0:0 -c 1:1 -l "Leakage"
}
# ARG1=Community, ARG2=OID, ARG3=Label
define command {
command_name check_didactum_status
command_line $USER1$/check_snmp -H $HOSTADDRESS$ \
-C $ARG1$ -P 2 -o $ARG2$ \
-w 0:0 -c 1:2 -l "$ARG3$"
}
# ARG1=Community, ARG2=OID, ARG3=Warning, ARG4=Critical
define command {
command_name check_didactum_humidity
command_line $USER1$/check_snmp -H $HOSTADDRESS$ \
-C $ARG1$ -P 2 -o $ARG2$ \
-w $ARG3$ -c $ARG4$ \
-l "Humidity" -u "%"
}
# ARG1=Community, ARG2=OID
define command {
command_name check_didactum_door
command_line $USER1$/check_snmp -H $HOSTADDRESS$ \
-C $ARG1$ -P 2 -o $ARG2$ \
-w 1:1 -l "Door contact"
}
6. Create Host Profile for Didactum (Monarch)
Host profiles in Monarch bundle host templates and service profiles for reuse across multiple devices.
Step 1 – Create Host Template
Monarch → Configuration → Host Templates → Add Template
| Field | Value |
|---|---|
| Name | didactum-monitoring-template |
| 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 |
Step 2 – Create Service Profile for Didactum
Monarch → Configuration → Service Profiles → Add Profile Profile Name: Didactum Sensors Description: SNMP service checks for Didactum monitoring system
Assign all Didactum services to this profile (after creating the services in section 8).
Step 3 – Create Host Profile
Monarch → Configuration → Host Profiles → Add Profile Profile Name: Didactum Monitoring System Host Template: didactum-monitoring-template Service Profile: Didactum Sensors
7. Integrate Didactum Host
Option A – Via the Monarch Web Interface
Monarch → Configuration → Hosts → Add Host
| Field | Value |
|---|---|
| Host Name | didactum-monitor-01 |
| Alias | Didactum Monitoring System 01 |
| IP Address | 192.168.1.50 |
| Host Profile | Didactum Monitoring System |
| Contact Groups | admins |
| Host Groups | Didactum Monitoring (create new group) |
Click Save.
Option B – As a Nagios Configuration File
sudo nano /usr/groundwork/nagios/etc/objects/didactum-hosts.cfg
# ================================================================
# Didactum Host Configuration
# File: /usr/groundwork/nagios/etc/objects/didactum-hosts.cfg
# ================================================================
define host {
use didactum-monitoring-template
host_name didactum-monitor-01
alias Didactum Monitoring System 01
address 192.168.1.50
contact_groups admins
hostgroups didactum-monitoring
}
define hostgroup {
hostgroup_name didactum-monitoring
alias Didactum Monitoring Devices
members didactum-monitor-01
}
8. Create Service Checks for All Sensor Types
Option A – Via the Monarch Web Interface
Monarch → Configuration → Services → Add Service
Service: Temperature Sensor
| Field | Value |
|---|---|
| Service Name | Didactum-Temperature-Sensor-01 |
| Host Name | didactum-monitor-01 |
| Check Command | check_didactum_temperature |
| ARG1 (Community) | didactum_groundwork |
| ARG2 (OID) | .1.3.6.1.4.1.46501.5.1.1.7.101001 |
| ARG3 (Warning) | 280 (= 28.0 °C – raw value × 10) |
| ARG4 (Critical) | 350 (= 35.0 °C – raw value × 10) |
| Check Interval | 5 minutes |
| Max Check Attempts | 3 |
| Service Groups | Didactum Sensors |
Service: Leakage Sensor
| Field | Value |
|---|---|
| Service Name | Didactum-Leakage-Sensor-01 |
| Check Command | check_didactum_leakage |
| ARG1 (Community) | didactum_groundwork |
| ARG2 (OID) | .1.3.6.1.4.1.46501.5.1.1.7.107001 |
| Check Interval | 2 minutes |
| Max Check Attempts | 1 (immediately critical) |
Service: Temperature Sensor Status
| Field | Value |
|---|---|
| Service Name | Didactum-Temp-Status-Sensor-01 |
| Check Command | check_didactum_status |
| ARG1 (Community) | didactum_groundwork |
| ARG2 (OID) | .1.3.6.1.4.1.46501.5.1.1.6.101001 |
| ARG3 (Label) | Temp-Status |
Service: Humidity
| Field | Value |
|---|---|
| Service Name | Didactum-Humidity-Sensor-01 |
| Check Command | check_didactum_humidity |
| ARG1 | didactum_groundwork |
| ARG2 | .1.3.6.1.4.1.46501.5.1.1.7.102001 |
| ARG3 (Warning) | 80 |
| ARG4 (Critical) | 90 |
Service: Door Contact
| Field | Value |
|---|---|
| Service Name | Didactum-DoorContact-01 |
| Check Command | check_didactum_door |
| ARG1 | didactum_groundwork |
| ARG2 | .1.3.6.1.4.1.46501.5.1.1.7.104001 |
| Check Interval | 1 minute |
Option B – All Services as a Nagios Configuration File
sudo nano /usr/groundwork/nagios/etc/objects/didactum-services.cfg
# ================================================================
# Didactum Service Configuration
# File: /usr/groundwork/nagios/etc/objects/didactum-services.cfg
# IMPORTANT: Temperature thresholds are raw values × 10
# 28°C = 280, 35°C = 350
# ================================================================
define servicegroup {
servicegroup_name Didactum-Sensors
alias Didactum Sensor Services
}
# --- Temperature measurement ---
define service {
use generic-service
host_name didactum-monitor-01
service_description Didactum-Temperature-Sensor-01
check_command check_didactum_temperature!didactum_groundwork!.1.3.6.1.4.1.46501.5.1.1.7.101001!280!350
check_interval 5
retry_interval 1
max_check_attempts 3
notification_interval 60
notification_options w,c,r
contact_groups admins
servicegroups Didactum-Sensors
}
# --- Temperature status ---
define service {
use generic-service
host_name didactum-monitor-01
service_description Didactum-Temp-Status-Sensor-01
check_command check_didactum_status!didactum_groundwork!.1.3.6.1.4.1.46501.5.1.1.6.101001!Temp-Status
check_interval 5
retry_interval 1
max_check_attempts 3
notification_options c,r
contact_groups admins
servicegroups Didactum-Sensors
}
# --- Leakage sensor ---
define service {
use generic-service
host_name didactum-monitor-01
service_description Didactum-Leakage-Sensor-01
check_command check_didactum_leakage!didactum_groundwork!.1.3.6.1.4.1.46501.5.1.1.7.107001
check_interval 2
retry_interval 1
max_check_attempts 1
notification_interval 30
notification_options c,r
contact_groups admins
servicegroups Didactum-Sensors
}
# --- Humidity ---
define service {
use generic-service
host_name didactum-monitor-01
service_description Didactum-Humidity-Sensor-01
check_command check_didactum_humidity!didactum_groundwork!.1.3.6.1.4.1.46501.5.1.1.7.102001!80!90
check_interval 5
retry_interval 1
max_check_attempts 3
notification_options w,c,r
contact_groups admins
servicegroups Didactum-Sensors
}
# --- Door contact ---
define service {
use generic-service
host_name didactum-monitor-01
service_description Didactum-DoorContact-01
check_command check_didactum_door!didactum_groundwork!.1.3.6.1.4.1.46501.5.1.1.7.104001
check_interval 1
retry_interval 1
max_check_attempts 1
notification_interval 30
notification_options w,r
contact_groups admins
servicegroups Didactum-Sensors
}
# --- Smoke detector ---
define service {
use generic-service
host_name didactum-monitor-01
service_description Didactum-Smoke-Detector-01
check_command check_didactum_leakage!didactum_groundwork!.1.3.6.1.4.1.46501.5.1.1.7.106001
check_interval 1
retry_interval 1
max_check_attempts 1
notification_interval 30
notification_options c,r
contact_groups admins
servicegroups Didactum-Sensors
}
Include configuration in nagios.cfg
sudo nano /usr/groundwork/nagios/etc/nagios.cfg
Add the following lines:
cfg_file=/usr/groundwork/nagios/etc/objects/didactum-commands.cfg cfg_file=/usr/groundwork/nagios/etc/objects/didactum-hosts.cfg cfg_file=/usr/groundwork/nagios/etc/objects/didactum-services.cfg
9. Receiving SNMP Traps with SNMPTT
SNMPTT (SNMP Trap Translator) is an SNMP trap handler written in Perl for use with the Net-SNMP snmptrapd program. SNMPTT supports Linux, UNIX, and Windows and can send traps to text logs, syslog, NT event log, or an SQL database, as well as call external programs to forward translated traps to email clients or Nagios.
Step 1 – Install SNMPTT
sudo apt install snmptrapd snmptt -y
Step 2 – Configure snmptrapd
sudo nano /etc/snmp/snmptrapd.conf
# Community string for trap reception authCommunity execute,log,net didactum_groundwork # Forward all traps to SNMPTT traphandle default /usr/sbin/snmptthandler
Step 3 – Create SNMPTT Configuration for Didactum
sudo nano /usr/groundwork/etc/snmptt/snmptt.conf
Insert the following block:
# ================================================================ # Didactum SNMP Trap Definitions for SNMPTT # ================================================================ # Leakage trap: water detected EVENT didactumLeakAlarm .1.3.6.1.4.1.46501.5.1.1.7.107001 "Status Events" Critical FORMAT DIDACTUM LEAKAGE ALARM: Water detected – Sensor $2 – Value: $4 EXEC /usr/groundwork/nagios/etc/snmptt-to-nagios.sh "didactum-monitor-01" "Didactum-Leakage-Sensor-01" "2" "CRITICAL: Leakage detected – Value: $4" SDESC Didactum water sensor has detected water (value = 1) EDESC # Temperature alarm trap EVENT didactumTempAlarm .1.3.6.1.4.1.46501.5.1.1.6.101001 "Status Events" Critical FORMAT DIDACTUM TEMPERATURE ALARM: Sensor $2 – Status: $4 EXEC /usr/groundwork/nagios/etc/snmptt-to-nagios.sh "didactum-monitor-01" "Didactum-Temp-Status-Sensor-01" "2" "CRITICAL: Temperature alarm – Status: $4" SDESC Didactum temperature sensor reports alarm condition EDESC # Smoke detector trap EVENT didactumSmokeAlarm .1.3.6.1.4.1.46501.5.1.1.7.106001 "Status Events" Critical FORMAT DIDACTUM SMOKE DETECTOR ALARM: Smoke detected – Sensor $2 EXEC /usr/groundwork/nagios/etc/snmptt-to-nagios.sh "didactum-monitor-01" "Didactum-Smoke-Detector-01" "2" "CRITICAL: Smoke detected!" SDESC Didactum smoke detector has detected smoke EDESC # Door alarm trap EVENT didactumDoorAlarm .1.3.6.1.4.1.46501.5.1.1.7.104001 "Status Events" Warning FORMAT DIDACTUM DOOR ALARM: Door opened – Sensor $2 EXEC /usr/groundwork/nagios/etc/snmptt-to-nagios.sh "didactum-monitor-01" "Didactum-DoorContact-01" "1" "WARNING: Door opened" SDESC Didactum door contact reports opened door EDESC
Step 4 – Create Nagios Passive Check Script
sudo nano /usr/groundwork/nagios/etc/snmptt-to-nagios.sh
#!/bin/bash
# ================================================================
# SNMPTT → Nagios Passive Check Forwarding
# Arguments: $1=Hostname, $2=Service, $3=Status(0-3), $4=Message
# ================================================================
NAGIOS_CMD="/usr/groundwork/nagios/var/rw/nagios.cmd"
HOST="$1"
SERVICE="$2"
STATUS="$3"
MESSAGE="$4"
TIMESTAMP=$(date +%s)
if [ -p "$NAGIOS_CMD" ]; then
echo "[$TIMESTAMP] PROCESS_SERVICE_CHECK_RESULT;$HOST;$SERVICE;$STATUS;$MESSAGE" \
>> "$NAGIOS_CMD"
fi
sudo chmod +x /usr/groundwork/nagios/etc/snmptt-to-nagios.sh
Step 5 – Create Passive Services for Trap Reception
Add the following to the configuration file (passive reception without active polling):
define service {
host_name didactum-monitor-01
service_description Didactum-SNMP-Trap-Receiver
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 6 – Start Services
sudo systemctl enable snmptrapd snmptt sudo systemctl start snmptrapd snmptt
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
| Field | Meaning | Example |
|---|---|---|
| .1.x.SENSOR_ID | Sensor ID | .1.3.6.1.4.1.46501.5.1.1.1.101001 |
| .5.x.SENSOR_ID | Sensor name | .1.3.6.1.4.1.46501.5.1.1.5.101001 |
| .6.x.SENSOR_ID | Status (0=OK, 1=Alarm, 2=No signal) | .1.3.6.1.4.1.46501.5.1.1.6.101001 |
| .7.x.SENSOR_ID | Measured value (current) | .1.3.6.1.4.1.46501.5.1.1.7.101001 |
Sensor Types with OIDs and Thresholds
| Sensor type | Sensor ID | OID value | OID status | check_snmp threshold |
|---|---|---|---|---|
| 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.101001 | -w 280 -c 350 (raw value × 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.201001 | -w 280 -c 350 |
| Water sensor / leakage | 107001 | .1.3.6.1.4.1.46501.5.1.1.7.107001 | .1.3.6.1.4.1.46501.5.1.1.6.107001 | -w 0:0 -c 1:1 |
| Humidity | 102001 | .1.3.6.1.4.1.46501.5.1.1.7.102001 | .1.3.6.1.4.1.46501.5.1.1.6.102001 | -w 80 -c 90 (direct in %) |
| Potential-free contact | 101003 | .1.3.6.1.4.1.39052.5.1.1.7.101003 | .1.3.6.1.4.1.39052.5.1.1.6.101003 | -w 1:1 (1=closed=warning) |
| Door contact | 104001 | .1.3.6.1.4.1.46501.5.1.1.7.104001 | .1.3.6.1.4.1.46501.5.1.1.6.104001 | -w 1:1 (1=open=warning) |
| Smoke detector | 106001 | .1.3.6.1.4.1.46501.5.1.1.7.106001 | .1.3.6.1.4.1.46501.5.1.1.6.106001 | -w 0:0 -c 1:1 |
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:
The Didactum device provides temperature values as raw value × 10. 28.0 °C = OID value 280. Therefore, all check_snmp thresholds must also be specified × 10.
MIB prefix per model:
Older devices use .1.3.6.1.4.1.46501, newer ones may use .1.3.6.1.4.1.39052. Refer to the MIB file of your device for the exact OIDs.
11. Configure Email Alerts
Step 1 – Create Contact
Monarch → Configuration → Contacts → Add Contact
| Field | Value |
|---|---|
| Contact Name | admin |
| Alias | Administrator |
| admin@yourdomain.com | |
| Host Notification Period | 24x7 |
| Host Notification Options | d, u, r |
| Service Notification Period | 24x7 |
| Service Notification Options | w, c, r |
| Host Notification Commands | notify-host-by-email |
| Service Notification Commands | notify-service-by-email |
Step 2 – Create Contact Group
Monarch → Configuration → Contact Groups → Add Group Group Name: admins Alias: Administrators Members: admin
Step 3 – Ensure Email Sending
sudo apt install postfix mailutils -y echo "Test GroundWork" | mail -s "Test" admin@yourdomain.com
Step 4 – Verify GroundWork Notification Commands
# Show existing notification commands:
grep -A5 "notify-service-by-email" \
/usr/groundwork/nagios/etc/objects/commands.cfg
12. Testing and Debugging
Validate Nagios Configuration
# Check configuration
sudo /usr/groundwork/nagios/bin/nagios -v \
/usr/groundwork/nagios/etc/nagios.cfg
# Expected output: "Things look okay - No serious problems..."
# Reload Nagios
sudo /usr/groundwork/bin/gwservices restart nagios
# or:
sudo systemctl reload nagios
Test check_snmp directly
# Temperature value (raw value ÷ 10 = degrees Celsius)
/usr/lib/nagios/plugins/check_snmp \
-H 192.168.1.50 -C didactum_groundwork -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
# Leakage status
/usr/lib/nagios/plugins/check_snmp \
-H 192.168.1.50 -C didactum_groundwork -P 2 \
-o .1.3.6.1.4.1.46501.5.1.1.7.107001 \
-w 0:0 -c 1:1 -l "Leakage"
# Expected output when sensor is dry: SNMP OK - 0
Check Service Status in GroundWork
GroundWork status console: 192.168.1.10/gwos → Services → Filter: Host = didactum-monitor-01 → Display status of all Didactum services
Error Messages and Solutions
| Problem | Cause & Solution |
|---|---|
| check_snmp: No response | Firewall blocks UDP 161; SNMP not enabled on Didactum; incorrect community string |
| Service remains UNKNOWN | Plugin not found; incorrect |
13. Completion Checklist
Didactum Device
- SNMP enabled (v2c or v3)
- Community string set (not “public”): didactum_groundwork
- Trap receiver IP set to GroundWork server
- Trap port 162 configured
- MIB file downloaded
- snmpwalk test from the GroundWork server successful
GroundWork Server – Packages & MIB
- Packages snmp, snmp-mibs-downloader, nagios-plugins installed
- MIB file stored under /usr/share/snmp/mibs/
- check_snmp plugin available and functional
- UDP 161 outbound, UDP 162 inbound open
Monarch / Nagios Configuration
- check_snmp commands defined for all sensor types
- Host template and host profile for Didactum created
- Host didactum-monitor-01 added
- Services created for temperature, leakage, humidity, door contact, smoke detector
- Temperature thresholds entered × 10 (28°C = 280)
- Configuration validated with nagios -v (no errors)
- Monarch: Commit and Deploy executed
- Status console: All services visible and green
SNMP Traps (Enterprise Edition)
- snmptrapd and snmptt installed and configured
- snmptt.conf: Didactum trap definitions added
- Nagios passive check script created and executable
- Passive service for trap reception created
- Test trap received and visible in Nagios
Notification
- Postfix / mail delivery working (test email received)
- Contact with email address created
- Contact group admins assigned to host/service
- Test alarm triggered and email received