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

Didactum Monitoring & Pandora FMS Integration

Complete step-by-step guide for integrating Didactum Monitoring devices and sensors into Pandora FMS via SNMP – including agent configuration, remote SNMP modules, SNMP module configuration via agent file, MIB import, post-processing for temperature scaling, alert templates, alert actions (email) and SNMP Trap Console.

Product Note: Pandora FMS is an open-source NMS that monitors SNMP devices via so-called Remote Network Modules. Each OID is defined as its own module of an agent. The Network Server module of Pandora FMS actively polls the OIDs via SNMP-GET. In addition, Didactum can send SNMP Traps to the Pandora FMS server, which are received in the SNMP Trap Console and processed via trap alert rules. The integration is possible in two variants: via the Web Console (graphical) or directly via the agent configuration file (text file with module_snmpget blocks).

  • Software: Pandora FMS 7.x / 8.x (Community or Enterprise)
  • Protocol: SNMP v1 / v2c / v3 (Polling) + SNMP Traps (optional)
  • Devices: Didactum Monitoring System 100T / 300T / 500T / 550T
  • Sensors: Temperature, Leakage, Humidity, Door Contact, Smoke

1. Prerequisites & System Overview

Pandora FMS Server

  • Pandora FMS 7.x or 8.x installed (Linux, typically CentOS/RHEL or Ubuntu)
  • Pandora FMS Network Server enabled (networkserver 1 in pandora_server.conf)
  • SNMP tools installed: net-snmp, net-snmp-utils
  • Web Console accessible at: <Server-IP>/pandora_console
  • UDP Port 161 outbound open for SNMP polling
  • UDP Port 162 inbound open for SNMP Traps (optional)
  • Network access from the Network Server to the Didactum device available

Didactum Device

  • Monitoring System 100T, 300T, 500T or 550T
  • SNMP enabled (v2c recommended)
  • Device reachable via ICMP from the Pandora FMS server
  • MIB file available in the web interface (Download under Preferences → SNMP)

Architecture & Data Flow

[Pandora FMS Server]                     [Didactum Monitoring System]
  Linux Server                            IP: 192.168.1.50
  Web Console: <IP>/pandora_console
  |
  +-- [Pandora FMS Network Server]
        (Perl process, actively polls OIDs)
                    -- SNMP GET UDP 161 (active polling) -->
                    <-- SNMP Traps UDP 162 (passive, optional) -
  |
  +-- [Pandora FMS Data Server]
        (processes all incoming module data, triggers alerts)

Pandora FMS Architecture (relevant for Didactum)

  • Network Server: Performs SNMP polling of Remote Network Modules; requires network access to the Didactum device
  • Data Server: Processes all incoming module data, checks thresholds and triggers alerts
  • SNMP Trap Console: Receives SNMP Traps from the Didactum device; enables rule-based alert forwarding
  • Web Console: Browser-based configuration interface for agents, modules, alerts and reports

Enable Pandora FMS Network Server

# /etc/pandora/pandora_server.conf
networkserver 1
network_threads 10

# Restart
sudo systemctl restart pandora_server

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 – Access SNMP Settings

Preferences → SNMP

Step 3 – Enter the following values

Field in Didactum Web InterfaceValue
Enable SNMPEnabled
SNMP Versionv2c (recommended)
Community Stringdidactum_pfms (do not use "public"!)
SNMP Port161
Trap Receiver IPIP of the Pandora FMS server (e.g. 192.168.1.10)
Trap Port162
Trap Versionv2c

Save settings. Test SNMP connection in advance from the Pandora FMS server:

snmpwalk -v2c -c didactum_pfms 192.168.1.50 .1.3.6.1.4.1.46501.5.1.1

3. Import MIB File into Pandora FMS

Pandora FMS has a MIB Uploader in the Web Console. After import, numeric OIDs are automatically translated with their symbolic names.

Step 1 – Download MIB File

# In the Didactum Web Interface:
# Preferences → SNMP → Download MIB file
# Save file as DIDACTUM-ENV-MIB.mib

Step 2 – Upload MIB to Pandora FMS

Pandora FMS Web Console:
  Operation → Monitoring → SNMP → MIB uploader
  → "Browse" → Select DIDACTUM-ENV-MIB.mib
  → Click "Upload"

The MIB is copied to the directory /usr/share/snmp/mibs/ on the server and registered in the Pandora FMS translation database.

Step 3 – Make MIB available server-side (optional, for SNMP Traps)

# On the Pandora FMS server:
sudo cp DIDACTUM-ENV-MIB.mib /usr/share/snmp/mibs/
sudo systemctl restart snmptrapd

# Activate SNMP Trap translation in pandora_server.conf:
# /etc/pandora/pandora_server.conf
translate_variable_bindings 1
translate_enterprise_strings 1

sudo systemctl restart pandora_server

MIB Template for Import

If no MIB is available from the device, save the following template as DIDACTUM-ENV-MIB.mib:

-- ============================================================
-- DIDACTUM-ENV-MIB  |  Enterprise OID: 1.3.6.1.4.1.46501
-- ============================================================

DIDACTUM-ENV-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, Integer32, enterprises
        FROM SNMPv2-SMI
    DisplayString
        FROM SNMPv2-TC;

didactum MODULE-IDENTITY
    LAST-UPDATED "202401010000Z"
    ORGANIZATION "Didactum Security GmbH"
    CONTACT-INFO "support@didactum-security.com"
    DESCRIPTION  "MIB for Didactum Environmental Monitoring Systems"
    ::= { enterprises 46501 }

didactumSensors     OBJECT IDENTIFIER ::= { didactum 5 }
didactumSensorTable OBJECT IDENTIFIER ::= { didactumSensors 1 }
didactumSensorEntry OBJECT IDENTIFIER ::= { didactumSensorTable 1 }

sensorName OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Sensor designation"
    ::= { didactumSensorEntry 5 }

sensorStatus OBJECT-TYPE
    SYNTAX      Integer32 (0..3)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Status: 0=Normal 1=Warning 2=Critical 3=Error"
    ::= { didactumSensorEntry 6 }

sensorValue OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Measured value: Temp raw value div 10 = °C; Leakage 0 or 1"
    ::= { didactumSensorEntry 7 }

END

4. OID Reference for Didactum Sensors

All Didactum OIDs start with .1.3.6.1.4.1.46501. The sensor ID is appended at the end and can be determined via snmpwalk or the integrated SNMP Explorer in Pandora FMS.

OID Fields per Sensor

FieldMeaningExample OID
.5.x.SENSOR_IDSensor Name (String).1.3.6.1.4.1.46501.5.1.1.5.101001
.6.x.SENSOR_IDStatus: 0=Normal, 1=Warning, 2=Critical, 3=Error.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, Pandora FMS Module Type and Thresholds

Sensor TypeSensor IDOID Measured ValuePandora Module TypePost-ProcessingWarning ThresholdCritical Threshold
Temperature Sensor Port 1101001.1.3.6.1.4.1.46501.5.1.1.7.101001remote_snmp÷ 10 (= °C)2835
Temperature Sensor Port 2101002.1.3.6.1.4.1.46501.5.1.1.7.101002remote_snmp÷ 10 (= °C)2835
Humidity Sensor Port 1102001.1.3.6.1.4.1.46501.5.1.1.7.102001remote_snmpnone (%rH direct)8090
Combined Sensor Temperature (CAN)103001.1.3.6.1.4.1.46501.5.1.1.7.103001remote_snmp÷ 10 (= °C)2835
Combined Sensor Humidity (CAN)103002.1.3.6.1.4.1.46501.5.1.1.7.103002remote_snmpnone (%rH direct)8090
Door Contact104001.1.3.6.1.4.1.46501.5.1.1.7.104001remote_snmpnone (0/1)> 0
Smoke Detector106001.1.3.6.1.4.1.46501.5.1.1.7.106001remote_snmpnone (0/1)> 0
Leakage Sensor (Spot)107001.1.3.6.1.4.1.46501.5.1.1.7.107001remote_snmpnone (0/1)> 0
Leakage Sensor (Cable)107002.1.3.6.1.4.1.46501.5.1.1.7.107002remote_snmpnone (0/1)> 0
Sensor Status101001.1.3.6.1.4.1.46501.5.1.1.6.101001remote_snmpnone (0/1/2/3)> 0> 1
System State (device overall).1.3.6.1.4.1.46501.1.1.0remote_snmpnone (0/1/2)> 0> 1

Post-Processing / Scaling: Pandora FMS offers a Post-process field in the module with which the SNMP raw value can be automatically multiplied or divided. For Didactum temperature sensors: Post-process = 0.1 (divided by 10). This correctly displays raw value 215 → 21.5 °C and thresholds can be entered directly in °C (28 / 35).

Determine Sensor ID: In the Didactum Web Interface under System Tree → Sensor → Details or via SNMP Walk.

# Determine all sensor names and IDs
snmpwalk -v2c -c didactum_pfms 192.168.1.50 .1.3.6.1.4.1.46501.5.1.1.5
# All measured values
snmpwalk -v2c -c didactum_pfms 192.168.1.50 .1.3.6.1.4.1.46501.5.1.1.7

5. Create Agents and Modules in the Web Console

In Pandora FMS, each monitored device represents an agent. Each OID is defined as an individual module within this agent.

Step 1 – Create Agent for the Didactum Device

Web Console → Management → Resources → Manage agents
→ Click "Create agent"
FieldValue
Agent nameDidactum-Serverroom
IP address192.168.1.50
OSOther
GroupServerroom (create new group if necessary)
ServerSelect Network Server
Interval300 (5 minutes)
DescriptionDidactum Monitoring System – Temperature, Leakage, Humidity

Click Create.

Step 2 – Create Remote SNMP Module for Temperature Sensor

Web Console → Management → Resources → Manage agents
→ Open agent "Didactum-Serverroom" → Tab "Modules"
→ Select "Create network module"
FieldValue
Module nameTemperature_Sensor_01
Module typeRemote SNMP (remote_snmp)
SNMP communitydidactum_pfms
SNMP version2c
SNMP OID.1.3.6.1.4.1.46501.5.1.1.7.101001
Target IP192.168.1.50
Port161
Unit°C
Post-process0.1 (raw value ÷ 10 = °C)
Warning min / max28 / empty
Critical min / max35 / empty
DescriptionServer room temperature (raw value / 10 = °C)

Click Create. The module becomes active during the next polling cycle (agent interval).

Step 3 – Create Modules for Additional Sensors

Same procedure as in Step 2 – one module per sensor. Relevant fields:

ModuleOIDPost-processWarning maxCritical maxUnit
Temperature_Sensor_01.1.3.6.1.4.1.46501.5.1.1.7.1010010.12835°C
Temperature_Sensor_02.1.3.6.1.4.1.46501.5.1.1.7.1010020.12835°C
Humidity_Sensor_01.1.3.6.1.4.1.46501.5.1.1.7.1020011 (no post-process)8090%
Leakage_Sensor_01.1.3.6.1.4.1.46501.5.1.1.7.1070011empty0.5 (from 1 = Critical)Status
Leakage_Sensor_02.1.3.6.1.4.1.46501.5.1.1.7.1070021empty0.5Status
DoorContact_01.1.3.6.1.4.1.46501.5.1.1.7.10400110.5 (from 1 = Warning)emptyStatus
SmokeDetector_01.1.3.6.1.4.1.46501.5.1.1.7.1060011empty0.5Status
Sensor_Status_01.1.3.6.1.4.1.46501.5.1.1.6.10100110.51.5Status

6. Agent Configuration File (Alternative to Web Console)

Pandora FMS also supports direct configuration via text file with module_snmpget blocks. This method is faster with many sensors and ideal for automation.

Configuration File: /etc/pandora/agents/didactum-serverroom.conf

# ============================================================
# Pandora FMS Agent Configuration for Didactum Server Room
# Remote SNMP Modules via module_snmpget
# ============================================================

agent_name   Didactum-Serverroom
description  Didactum Environmental Monitoring Server Room
group        Serverroom
interval     300
server_ip    192.168.1.10

# --- Temperature Sensor Port 1 ---
module_begin
module_name       Temperature_Sensor_01
module_type       generic_data
module_description Server room temperature (raw value / 10 = °C)
module_snmpget
module_snmpversion 2c
module_snmp_community didactum_pfms
module_snmp_agent 192.168.1.50
module_snmp_oid   .1.3.6.1.4.1.46501.5.1.1.7.101001
module_postprocess 0.1
module_min_warning 28
module_max_warning 28
module_min_critical 35
module_max_critical 35
module_unit        °C
module_end

# --- Temperature Sensor Port 2 ---
module_begin
module_name       Temperature_Sensor_02
module_type       generic_data
module_description Rack 2 temperature (raw value / 10 = °C)
module_snmpget
module_snmpversion 2c
module_snmp_community didactum_pfms
module_snmp_agent 192.168.1.50
module_snmp_oid   .1.3.6.1.4.1.46501.5.1.1.7.101002
module_postprocess 0.1
module_min_warning 28
module_max_warning 28
module_min_critical 35
module_max_critical 35
module_unit        °C
module_end

# --- Humidity Sensor Port 1 ---
module_begin
module_name       Humidity_Sensor_01
module_type       generic_data
module_description Server room humidity in percent
module_snmpget
module_snmpversion 2c
module_snmp_community didactum_pfms
module_snmp_agent 192.168.1.50
module_snmp_oid   .1.3.6.1.4.1.46501.5.1.1.7.102001
module_min_warning 80
module_max_warning 80
module_min_critical 90
module_max_critical 90
module_unit        %rH
module_end

# --- Leakage Sensor Spot ---
module_begin
module_name       Leakage_Sensor_01
module_type       generic_data
module_description Water sensor underfloor (0=dry 1=water)
module_snmpget
module_snmpversion 2c
module_snmp_community didactum_pfms
module_snmp_agent 192.168.1.50
module_snmp_oid   .1.3.6.1.4.1.46501.5.1.1.7.107001
module_min_critical 0.5
module_max_critical 0.5
module_unit        Status
module_end

# --- Leakage Sensor Cable ---
module_begin
module_name       Leakage_Sensor_02
module_type       generic_data
module_description Leakage protection cable air conditioning (0=dry 1=water)
module_snmpget
module_snmpversion 2c
module_snmp_community didactum_pfms
module_snmp_agent 192.168.1.50
module_snmp_oid   .1.3.6.1.4.1.46501.5.1.1.7.107002
module_min_critical 0.5
module_max_critical 0.5
module_unit        Status
module_end

# --- Door Contact ---
module_begin
module_name       DoorContact_01
module_type       generic_data
module_description Door contact server room (0=closed 1=open)
module_snmpget
module_snmpversion 2c
module_snmp_community didactum_pfms
module_snmp_agent 192.168.1.50
module_snmp_oid   .1.3.6.1.4.1.46501.5.1.1.7.104001
module_min_warning 0.5
module_max_warning 0.5
module_unit        Status
module_end

# --- Smoke Detector ---
module_begin
module_name       SmokeDetector_01
module_type       generic_data
module_description Smoke detector server room (0=OK 1=Alarm)
module_snmpget
module_snmpversion 2c
module_snmp_community didactum_pfms
module_snmp_agent 192.168.1.50
module_snmp_oid   .1.3.6.1.4.1.46501.5.1.1.7.106001
module_min_critical 0.5
module_max_critical 0.5
module_unit        Status
module_end

# --- Sensor Status (Didactum overall status) ---
module_begin
module_name       Device_Status
module_type       generic_data
module_description Didactum system state (0=OK 1=Warning 2=Critical)
module_snmpget
module_snmpversion 2c
module_snmp_community didactum_pfms
module_snmp_agent 192.168.1.50
module_snmp_oid   .1.3.6.1.4.1.46501.1.1.0
module_min_warning 0.5
module_max_warning 0.5
module_min_critical 1.5
module_max_critical 1.5
module_unit        Status
module_end

7. Configure Alert System

The Pandora FMS alert system is based on three levels: Commands (what is executed), Actions (how it is executed – with concrete parameters) and Templates (when it is executed – threshold and time conditions).

Step 1 – Configure SMTP Settings

Web Console → Management → Settings → General setup → Mail settings

  SMTP Server:    mail.yourdomain.com
  SMTP Port:      25 or 587
  SMTP User:      pandora@yourdomain.com
  SMTP Password:  Your SMTP password
  From address:   pandora@yourdomain.com
  From name:      Pandora FMS Alarm

Click Update. Send test email and check inbox.

Step 2 – Configure Alert Action "Mail to Admin"

Web Console → Management → Alerts → Actions → "Mail to admin"
  (predefined action in Pandora FMS, just adjust email address)

  To address (field1):  admin@yourdomain.com
  Subject (field2):     [Pandora ALARM] _agent_ - _module_ - _severity_
  Message (field3):     Alarm: _module_ | Value: _data_ | Status: _status_
→ Update

Additional email recipients can be created as further actions (e.g. Mail to NOC).

Step 3 – Create Alert Template for Critical Sensors

Web Console → Management → Alerts → Templates
→ Click "Create"

Template: Didactum_Critical_Sensors

FieldValue
Template nameDidactum_Critical_Sensors
Condition typeCritical (module is in Critical status)
Time threshold0 (immediately on first critical value)
Min. number of alerts1
Max. number of alertsempty (unlimited)
Recovery notifyYes (send email also on normalization)

Template: Didactum_Warning_Sensors

FieldValue
Template nameDidactum_Warning_Sensors
Condition typeWarning
Time threshold300 (only after 5 min in Warning status)
Min. number of alerts1
Recovery notifyYes

Save templates with Create.

Step 4 – Assign Alerts to Modules

Web Console → Management → Resources → Manage agents
→ Open agent "Didactum-Serverroom" → Tab "Alerts"
→ Click "Add alert"
ModuleTemplateAction
Temperature_Sensor_01Didactum_Critical_SensorsMail to admin
Temperature_Sensor_01Didactum_Warning_SensorsMail to admin
Temperature_Sensor_02Didactum_Critical_SensorsMail to admin
Leakage_Sensor_01Didactum_Critical_SensorsMail to admin
Leakage_Sensor_02Didactum_Critical_SensorsMail to admin
SmokeDetector_01Didactum_Critical_SensorsMail to admin
DoorContact_01Didactum_Warning_SensorsMail to admin
Humidity_Sensor_01Didactum_Warning_SensorsMail to admin
Device_StatusDidactum_Warning_SensorsMail to admin

Multiple templates (Warning + Critical) can be assigned per module.

8. Configure SNMP Trap Console (optional)

In addition to active SNMP polling, Pandora FMS can receive SNMP Traps that the Didactum device sends automatically on events. This enables immediate notification without waiting for the next polling cycle.

Step 1 – Activate SNMP Trap Console in pandora_server.conf

# /etc/pandora/pandora_server.conf
snmpconsole 1
snmpconsole_threads 1

# Restart
sudo systemctl restart pandora_server

Step 2 – Configure snmptrapd

# /etc/snmp/snmptrapd.conf
authCommunity log,execute,net didactum_pfms
disableAuthorization yes

# Forward to Pandora FMS
traphandle default /usr/lib/pandora/pandora_snmptrapd.pl
sudo systemctl restart snmptrapd

Step 3 – Create Trap Alert Rule

Web Console → Operation → Monitoring → SNMP → SNMP Console
→ Tab "SNMP Traps" → Click "Add trap alert"
FieldValue
Source IP192.168.1.50 (Didactum device)
OID (Enterprise).1.3.6.1.4.1.46501
Custom OID (Regex).*107.* (Leakage Traps) or .* (all)
Trap typeGeneric (v2c)
Alert actionMail to admin
Alert templateDidactum_Critical_Sensors

Click Create. Received traps appear in the SNMP Console under Operation → Monitoring → SNMP → SNMP Console.

9. Test & Troubleshooting

Test SNMP Connection and OIDs

# From the Pandora FMS server:
snmpwalk -v2c -c didactum_pfms 192.168.1.50 .1.3.6.1.4.1.46501.5.1.1

# Check single temperature value (raw value / 10 = °C)
snmpget -v2c -c didactum_pfms 192.168.1.50 .1.3.6.1.4.1.46501.5.1.1.7.101001
# Example output: INTEGER: 215 → 21.5 °C

# Leakage status (0=dry, 1=water detected)
snmpget -v2c -c didactum_pfms 192.168.1.50 .1.3.6.1.4.1.46501.5.1.1.7.107001

Check Polling Status

Web Console → Monitoring → Views → Agent detail
→ Select agent "Didactum-Serverroom"
→ All modules with current value and status visible
→ Module status color: Green = OK, Yellow = Warning, Red = Critical, Gray = Unknown

Error Messages and Solutions

ProblemCause & Solution
Module remains in "Unknown" statusNetwork Server not reachable or polling not yet executed → check Network Server status: pandora_server --status; wait for agent interval
SNMP polling failsCommunity String wrong; UDP 161 blocked; SNMP not active on Didactum → test snmpwalk manually
Temperature value wrong (10× too high)Post-process missing or set to 1 → set Post-process to 0.1 (÷ 10)
Leakage does not trigger Critical statusCritical threshold wrong → set Critical max to 0.5 (at value 1 Critical is triggered)
MIB upload failsInvalid MIB syntax or missing dependencies → upload SNMPv2-SMI and SNMPv2-TC first
No email on alarmCheck SMTP settings; alert action not assigned to module; template condition not met
SNMP Traps do not appear in consolesnmptrapd not started; Community String not entered in snmptrapd.conf; Pandora FMS snmpconsole not enabled

View Pandora FMS Logs

# Server log
tail -f /var/log/pandora/pandora_server.log

# Network Server specific
grep "network" /var/log/pandora/pandora_server.log | tail -50

# SNMP Trap Log
tail -f /var/log/pandora/pandora_snmptrapd.log

# Events in the Web Console
Operation → Events → View events
→ Filter: Agent "Didactum-Serverroom"

10. Final Checklist

Didactum Device

  • SNMP enabled (v2c or v3)
  • Community String set (not "public"): didactum_pfms
  • Device reachable via ping from Pandora FMS server
  • Trap receiver IP set to Pandora FMS server (optional)
  • MIB file downloaded
  • snmpwalk from Pandora FMS server successful

Pandora FMS – Basic Configuration

  • Network Server enabled (networkserver 1 in pandora_server.conf)
  • MIB DIDACTUM-ENV-MIB.mib imported via MIB Uploader
  • Agent Didactum-Serverroom created (IP: 192.168.1.50, Server: Network Server)

Modules

  • Remote SNMP module created for each sensor
  • Post-process 0.1 set for all temperature sensors
  • Warning and Critical thresholds configured in °C (thanks to post-process directly in degrees)
  • Leakage modules: Critical max = 0.5 (from raw value 1 = Critical)
  • All modules show current value in the agent detail view

Alerts & Notification

  • SMTP settings configured, test email received
  • Alert action Mail to admin configured with correct email address
  • Alert templates Didactum_Critical_Sensors and Didactum_Warning_Sensors created
  • Alerts assigned to all relevant modules (Temperature, Leakage, Smoke, Door, Humidity)
  • Test alarm triggered and email received
  • Recovery notification enabled (normalization email)

SNMP Trap Console (optional)

  • SNMP Trap Console enabled (snmpconsole 1 in pandora_server.conf)
  • snmptrapd configured and started
  • Trap alert rules created for Didactum Enterprise OID
  • Test trap received and visible in SNMP Console

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.