> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://docs.itential.com/itential-platform/6/monitor/log/smnp-mib-notifications/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.itential.com/_mcp/server. # SNMP MIB notifications > Monitor Platform health using SNMP traps and notifications Itential Platform supports SNMP (Simple Network Management Protocol) notifications to integrate with enterprise monitoring and management systems. ## SNMP MIB files Platform includes SNMP MIB (Management Information Base) files that define available notification types and their structures. ### MIB file locations **Platform 2023.2 and earlier:** ```bash /opt/pronghorn/current/node_modules/@itential/pronghorn-core/core/mibs/ ``` **Platform 6:** ```bash /opt/itential/platform/server/core/mibs/ ``` ### Available MIB files ```bash $ cd /opt/itential/platform/server/core/mibs/ $ ls -l -rw-r--r-- 1 itential itential 9252 Feb 15 12:39 ITENTIAL-MIB.txt -rw-r--r-- 1 itential itential 1490 Feb 15 12:13 ITENTIAL-SMI-MIB.txt ``` **ITENTIAL-SMI-MIB.txt:** * Structure of Management Information (SMI) definitions * Defines the Itential enterprise OID namespace * Root OID: `1.3.6.1.4.1.47688` **ITENTIAL-MIB.txt:** * Notification types and their associated variables * Object definitions for trap payloads * Severity levels and descriptions ## Notification types Platform sends SNMP notifications (traps) for critical system events, adapter status changes, and application lifecycle events. ### System notifications | Notification | OID | Description | | ------------------------ | ----------------------------- | -------------------------------------- | | `itenProngSystemRestart` | `1.3.6.1.4.1.47688.1.1.1.0.4` | Platform has restarted | | `itenProngSysErr` | `1.3.6.1.4.1.47688.1.1.1.0.5` | Critical error encountered by Platform | **Use cases:** * Alert operations team when Platform restarts unexpectedly * Capture critical system errors for root cause analysis * Trigger automated remediation workflows * Track Platform availability metrics ### Application notifications | Notification | OID | Description | | ------------------- | ----------------------------- | -------------------------------- | | `itenProngAppUp` | `1.3.6.1.4.1.47688.1.1.1.0.6` | Application is online | | `itenProngAppDown` | `1.3.6.1.4.1.47688.1.1.1.0.7` | Application is offline | | `itenProngAppCrash` | `1.3.6.1.4.1.47688.1.1.1.0.8` | Application crashed unexpectedly | **Use cases:** * Monitor critical application health (Workflow Engine, Operations Manager) * Alert when applications become unavailable * Track application stability metrics * Investigate crash patterns and root causes ### Adapter notifications | Notification | OID | Description | | ----------------------- | ------------------------------ | ------------------------------------- | | `itenSBAdapterUnreach` | `1.3.6.1.4.1.47688.1.1.1.0.1` | Adapter connection failed | | `itenSBAdapterEstab` | `1.3.6.1.4.1.47688.1.1.1.0.2` | Adapter connection established | | `itenSBAdapterFuncErr` | `1.3.6.1.4.1.47688.1.1.1.0.3` | Adapter functional error occurred | | `itenSBAdapterDegraded` | `1.3.6.1.4.1.47688.1.1.1.0.9` | Adapter connection degraded | | `itenSBAdapterFixed` | `1.3.6.1.4.1.47688.1.1.1.0.10` | Adapter connection no longer degraded | **Use cases:** * Alert when adapters cannot reach downstream systems * Monitor adapter health and connection stability * Track degraded connection states * Trigger remediation when adapters fail ## Notification objects Notifications include variable bindings that provide detailed context about the event. ### Object definitions | Object | OID | Type | Description | | -------------------------- | --------------------------- | ------------ | ---------------------------------------------- | | `itenProngComponentID` | `1.3.6.1.4.1.47688.1.1.2.1` | String | Unique identifier for application or adapter | | `itenProngAdapterIP4` | `1.3.6.1.4.1.47688.1.1.2.2` | IPv4 Address | IP address of the adapter instance | | `itenProngAdapterPort` | `1.3.6.1.4.1.47688.1.1.2.3` | Integer | Port number of the adapter instance | | `itenProngAdapterFunction` | `1.3.6.1.4.1.47688.1.1.2.4` | String | Adapter function/method that encountered error | | `itenProngAdapterError` | `1.3.6.1.4.1.47688.1.1.2.5` | String | Error message or description | | `itenProngSystemError` | `1.3.6.1.4.1.47688.1.1.2.6` | String | System error description | ### Notification payloads Each notification type includes specific variable bindings: **itenSBAdapterUnreach:** * `itenProngComponentID` - Adapter identifier (e.g., "nso-adapter-prod") * `itenProngAdapterIP4` - Target IP address (e.g., "10.1.2.3") * `itenProngAdapterPort` - Target port (e.g., 8888) **itenSBAdapterEstab:** * `itenProngComponentID` - Adapter identifier * `itenProngAdapterIP4` - Target IP address * `itenProngAdapterPort` - Target port **itenSBAdapterFuncErr:** * `itenProngComponentID` - Adapter identifier * `itenProngAdapterFunction` - Function name (e.g., "getDeviceConfig") * `itenProngAdapterError` - Error text (e.g., "Connection timeout") **itenProngSystemRestart:** * No additional objects (notification only) **itenProngSysErr:** * `itenProngSystemError` - Error description **itenProngAppUp:** * `itenProngComponentID` - Application identifier **itenProngAppDown:** * `itenProngComponentID` - Application identifier **itenProngAppCrash:** * `itenProngComponentID` - Application identifier **itenSBAdapterDegraded:** * `itenProngComponentID` - Adapter identifier * `itenProngAdapterIP4` - Target IP address * `itenProngAdapterPort` - Target port **itenSBAdapterFixed:** * `itenProngComponentID` - Adapter identifier * `itenProngAdapterIP4` - Target IP address * `itenProngAdapterPort` - Target port ## Configure SNMP notifications SNMP notification destinations are configured in the Platform profile or properties file. ### Platform 6 configuration **Environment variable (single destination):** ```bash export ITENTIAL_SNMP_ALARM_CONFIGS='[{"host":"nms.example.com","port":162,"community":"public"}]' ``` **Properties file:** ```properties # Single SNMP destination snmp_alarm_configs=[{"host":"nms.example.com","port":162,"community":"public"}] ``` **Multiple destinations:** ```bash export ITENTIAL_SNMP_ALARM_CONFIGS='[ {"host":"nms1.example.com","port":162,"community":"platform-prod"}, {"host":"nms2.example.com","port":162,"community":"platform-prod"}, {"host":"backup-nms.example.com","port":162,"community":"platform-backup"} ]' ``` ### Platform 2023.2 configuration Navigate to **Admin Essentials > Profiles** and edit the active profile. Add or modify the `snmpProps` section: ```json { "snmpProps": { "alarms": [ { "host": "nms.example.com", "port": 162, "community": "platform-prod" }, { "host": "backup-nms.example.com", "port": 162, "community": "platform-backup" } ] } } ``` ### Configuration parameters | Parameter | Type | Required | Description | | ----------- | ------- | -------- | ---------------------------------------------------- | | `host` | string | Yes | Hostname or IP address of SNMP manager/trap receiver | | `port` | integer | Yes | UDP port for SNMP traps (typically 162) | | `community` | string | Yes | SNMP community string for authentication | ## Integrate with monitoring systems ### Load MIB files Import Itential MIB files into your SNMP management system. **SolarWinds Network Performance Monitor:** 1. Copy MIB files to `C:\ProgramData\SolarWinds\MIBs\` 2. Run **MIB Browser** and import ITENTIAL-SMI-MIB.txt and ITENTIAL-MIB.txt 3. Configure trap receivers to accept traps from Platform servers **Cisco Prime Infrastructure:** 1. Navigate to **Administration > Settings > MIB Management** 2. Upload ITENTIAL-SMI-MIB.txt and ITENTIAL-MIB.txt 3. Configure trap destinations in SNMP settings **PRTG Network Monitor:** 1. Copy MIB files to `C:\Program Files (x86)\PRTG Network Monitor\snmplibs\` 2. Create SNMP Trap Receiver sensor 3. Configure trap rules based on Itential OIDs **Nagios:** 1. Place MIB files in `/usr/share/snmp/mibs/` 2. Configure SNMPTRAPD to accept traps 3. Create SNMPTT configuration for Itential traps 4. Map trap OIDs to Nagios alerts ### Example monitoring rules **Critical alert - Application crash:** ``` Trap OID: 1.3.6.1.4.1.47688.1.1.1.0.8 (itenProngAppCrash) Severity: Critical Action: Page on-call engineer, create incident ticket ``` **Warning alert - Adapter degraded:** ``` Trap OID: 1.3.6.1.4.1.47688.1.1.1.0.9 (itenSBAdapterDegraded) Severity: Warning Action: Email operations team, monitor for recovery ``` **Informational - System restart:** ``` Trap OID: 1.3.6.1.4.1.47688.1.1.1.0.4 (itenProngSystemRestart) Severity: Informational Action: Log event, check for unexpected restarts ``` ## Verify SNMP configuration ### Test SNMP connectivity **From Platform server:** ```bash # Test trap sending (requires net-snmp-utils) snmptrap -v 2c -c platform-prod nms.example.com:162 '' \ 1.3.6.1.4.1.47688.1.1.1.0.4 \ 1.3.6.1.4.1.47688.1.1.2.1 s "test-adapter" ``` **From SNMP manager:** ```bash # Listen for traps (on SNMP manager) snmptrapd -f -Lo -c /etc/snmp/snmptrapd.conf ``` ### Monitor Platform logs Check Platform logs for SNMP trap sending: ```bash grep -i "snmp\|trap" /var/log/itential/pronghorn.log ``` **Example log entries:** ``` [INFO] SNMP trap sent: itenSBAdapterUnreach, adapter=nso-adapter-prod, ip=10.1.2.3, port=8888 [DEBUG] SNMP destination: nms.example.com:162, community=platform-prod ``` ### Trigger test notifications Force Platform to generate test notifications: **Application restart:** ```bash # Restart a service to generate app up/down notifications systemctl restart itential-workflow-engine ``` **Adapter connection failure:** Temporarily block adapter connectivity to generate unreachable notification: ```bash # Block adapter port temporarily iptables -A OUTPUT -p tcp --dport 8888 -j DROP # Wait for adapter to detect failure (check adapter logs) # Restore connectivity iptables -D OUTPUT -p tcp --dport 8888 -j DROP ``` ## Troubleshooting ### Traps not received **Verify SNMP configuration:** ```bash # Platform 6 env | grep ITENTIAL_SNMP # Platform 2023.2 mongosh --eval "db.iap_profiles.findOne({_id: 'profile-id'}, {snmpProps: 1})" ``` **Check network connectivity:** ```bash # Test UDP connectivity to SNMP manager nc -u nms.example.com 162 < /dev/null # Check firewall rules iptables -L -n | grep 162 ``` **Verify SNMP manager listening:** ```bash # On SNMP manager, check trap receiver is running netstat -uln | grep 162 ``` ### Incorrect trap data **Verify MIB files loaded:** Ensure monitoring system has latest Itential MIB files loaded. **Check OID resolution:** ```bash # Translate OID to name snmptranslate -m +ITENTIAL-MIB 1.3.6.1.4.1.47688.1.1.1.0.4 # Should output: ITENTIAL-MIB::itenProngSystemRestart ``` ### High trap volume **Filter traps:** Configure monitoring system to filter or rate-limit expected notifications: * Application restart notifications during maintenance windows * Adapter connection flapping during network issues * Degraded state oscillations **Adjust adapter health check intervals:** Reduce health check frequency to decrease trap volume: ```properties service_health_check_interval=60 ``` ## Best practices ### Configuration * Use unique community strings per environment (dev, test, prod) * Configure multiple SNMP destinations for redundancy * Document trap handling procedures for operations team * Test SNMP configuration in non-production first * Restart Platform after SNMP configuration changes ### Monitoring * Create monitoring rules for all critical notification types * Set appropriate severity levels per notification type * Correlate SNMP traps with Platform logs * Implement automated remediation for common issues * Regularly review trap patterns and volumes ### Security * Use SNMPv3 with authentication and encryption (if supported) * Restrict SNMP trap traffic with firewall rules * Use non-default community strings * Rotate community strings regularly * Monitor for unauthorized SNMP trap sources ### Operations * Load Itential MIB files into all monitoring systems * Create runbooks for common SNMP notifications * Configure escalation policies for critical traps * Archive trap data for trend analysis * Review trap configuration after Platform upgrades ## Additional resources * [SNMP.org](https://www.snmp.com/) - SNMP protocol information * [Net-SNMP](http://www.net-snmp.org/) - Open source SNMP tools * [RFC 3411](https://www.rfc-editor.org/rfc/rfc3411) - SNMP Management Framework ## Next steps #### [Environment variables](/itential-platform/configure/environment-variables-properties-reference) Configuration reference > Monitor Platform health using SNMP traps and notifications