SNMP Agent

SNMP Agent

ID: uniflow.plugin.snmpagent Category: IT Infrastructure Version: v1.2.0 Min Uniflow Version: Uniflow ≥ v1.4.0

SNMP Agent Plugin Reference Manual

1. Overview

Plugin Name: SNMP Agent

Type: IT Infrastructure

Identifier: uniflow.plugin.snmpagent

Description

Expose internal data via SNMPv1/v2c/v3.


2. Technical Architecture

The SNMP Agent plugin implements an SNMP agent server supporting SNMPv1, SNMPv2c, and SNMPv3 listening on UDP port 161 (or custom port). It constructs a dynamic Management Information Base (MIB) OID tree from Uniflow catalog tags, responds to inbound GET, GET-NEXT, and SET requests, supports User-based Security Model (USM) authentication and privacy encryption (MD5/SHA1/SHA256 and DES/AES), and generates outbound SNMP TRAP/INFORM messages.

System Interaction & Exposed Catalog Routes

The SNMP Agent plugin runs an embedded SNMP v1/v2c/v3 Agent using Lextm.SharpSnmpLib. It responds to SNMP GET / GETNEXT queries for enterprise OIDs and dispatches unsolicited SNMP Trap / Inform notifications to NMS monitoring systems.

Catalog Routes & Node Integration

Input Event Triggers (Input Nodes):

  • snmp.get_request_received - Emitted when an NMS queries an agent OID.
  • snmp.trap_sent - Emitted when an SNMP Trap is dispatched.
  • snmp.agent_error - Agent protocol error event.
  • Executable Actions (Action Nodes):

  • snmp.send_trap - Dispatches an SNMP Trap to remote NMS.
  • snmp.update_oid_value - Updates internal OID variable value.
  • snmp.set_community - Reconfigures read/write community strings.
  • Architecture Diagram

    VISUAL ARCHITECTURE FLOW DIAGRAM
    Rendering Flow Architecture Diagram...

    3. Configuration Parameters

    The following configuration fields are available in the User Interface for this plugin:

    Configuration SettingDescription
    SNMP VersionSpecifies the snmp version.
    Listening PortNumeric value specifying the listening port.
    Read CommunitySpecifies the read community.
    Write CommunitySpecifies the write community.
    Security Name (Username)Specifies the security name (username).
    Context NameSpecifies the context name.
    Auth ProtocolSpecifies the auth protocol.
    Auth PasswordSpecifies the auth password (secure).
    Privacy ProtocolSpecifies the privacy protocol.
    Privacy PasswordSpecifies the privacy password (secure).

    4. Exposed Routes & Data Types

    This plugin exposes catalog fields across the following rule graph nodes:

    Input Source

    The Input Source node reads agent status and configured MIB OID telemetry data.

    Human-Readable Field NameData TypeDescription
    SNMP Agent State  Bool
    System status flag indicating if the SNMP agent service is active (True) or stopped (False).
    Configured MIB OID Point  Int32` / `String` / `Double` / `Bool
    Current value stored in local MIB OID tree for inbound GET queries.

    Output Target

    The Output Target node acts as an action sink node to update local MIB OID values.

    Target NameData TypeAssociated ParametersParameter Data TypeRequiredDescription
    Configured Writable MIB Point  Int32` / `String` / `Double` / `Bool
    ValueInt32 / String / Double / BoolTrueValue payload to write into local MIB OID table.

    5. Usage Examples

    Scenario A: Modbus Boiler Telemetry Mirrors to Internal MIB OID for IT NMS Polling

    Workflow Overview:

    Uniflow polls Modbus TCP boiler temperature (HoldingRegister 101). When a new temperature reading arrives, Uniflow updates (snmp.update_oid_value) the local SNMP MIB OID .1.3.6.1.4.1.55000.1.1 so enterprise IT monitoring systems (Zabbix / PRTG) can fetch the value via standard SNMP GET.

    Rule Node Configuration:

    1. Input Source Node: Modbus Client Poller

  • Register Type: Holding Register
  • Address: 101
  • Exposed Field: BoilerTemp (Double)
  • 2. Logic Pass-Through Node: Type Converter (Int32)

  • Value: BoilerTemp
  • 3. Output Target Node: SNMP Agent Writer

  • Action Target: Configured Writable MIB Point (snmp.update_oid_value)
  • OID: .1.3.6.1.4.1.55000.1.1
  • Value: BoilerTemp
  • Logic Flow Diagram:

    VISUAL ARCHITECTURE FLOW DIAGRAM
    Rendering Flow Architecture Diagram...

    Scenario B: Avigilon ACC Analytics Match Sends Outbound SNMP v2c Trap to Enterprise NMS

    Workflow Overview:

    When Avigilon ACC emits an analytics match event (ANALYTICS_RULE_MATCH), Uniflow constructs an SNMP v2c TRAP packet (OID: .1.3.6.1.4.1.55000.2.1, Value: "CAMERA_01_ANALYTICS_MATCH") and dispatches it (snmp.send_trap) to central NMS server 192.168.1.50:162.

    Rule Node Configuration:

    1. Event Input Node: Avigilon ACC Listener

  • Event Code: ANALYTICS_RULE_MATCH
  • Exposed Fields: CameraName (String), RuleName (String)
  • 2. Logic Formatter Node: Trap Message Builder

  • Payload: "{CameraName}_{RuleName}"
  • 3. Output Target Node: SNMP Agent Action

  • Action Target: Send Trap (snmp.send_trap)
  • Host: 192.168.1.50
  • Port: 162
  • Community: public
  • TrapOID: .1.3.6.1.4.1.55000.2.1
  • Logic Flow Diagram:

    VISUAL ARCHITECTURE FLOW DIAGRAM
    Rendering Flow Architecture Diagram...
    Architecture Flow Diagram — Full Preview