PI Interface for SNMP logic
- Last UpdatedFeb 13, 2023
- 2 minute read
- PI System
- PI Interface for SNMP 1.7.0.37
- Interfaces
The interface behaves like an SNMP Manager. It retrieves information from network devices using the SNMP agent running on these devices. The following figure shows a typical configuration for the PI Interface for SNMP.

To retrieve data from SNMP-enabled network devices, you configure PI points that refer to the desired SNMP statistic for the network element to be monitored. At startup, the interface loads its points from the PI Data Archive. To determine which points it maintains and how to process them, the interface checks the following point attributes:
-
location1 and pointsource: Verify that the interface ID and point source configured for the point matches those configured for this interface instance.
-
exdesc: The interface reads the OID (Object Identifier) from the extend descriptor (exdesc). For backwards compatibility, if a password file has not been used, then the interface will also read the version from the exdesc.
-
instrumenttag: Reads the hostname or IP address of the SNMP agent.
-
location2: Indicates whether the point is an input or output point.
-
location3: If set to 1, indicates that the point is part of a group that references a common SNMP agent. By default, PI Interface for SNMP sends a single request for each PI point to retrieve its corresponding OID value
When the interface is ready to poll SNMP agents for data, it creates a separate thread for each agent. After the thread receives a value for a particular OID from an SNMP agent, the interface applies the conversion factor (for numeric points) and sends the resulting value to the interface, which forwards it to PI Data Archive.
After startup is complete, the interface enters its processing loop, which includes the following tasks:
-
Servicing scan-based input points, processing each scan class in turn.
-
Servicing output points as events arrive.
-
Servicing triggered input points as events arrive.
-
Check the PI point database for points that are added, edited, and deleted.
If the interface detects new points or changes to existing points, it reloads points from the PI Data Archive. To ensure that reloading does not interfere with data collection, the interface processes 25 point updates at a time. If more than 25 updates need to be loaded, the interface pauses between batches, waiting 30 seconds or the point update interval that is configured for the instance, whichever is lower. If you’ve changed a large number of PI points, stop and restart the interface, to enable it to load all the changes efficiently during startup instead of in batches during normal data collection.
Informational and error messages generated by the interface are logged to the PI message log file during interface startup, during data collection, and during shutdown. Additional messages are logged if you enable debugging. For more information about reading message logs, see the OSIsoft Knowledge Base article How to read new UniInt 4.5.0.x and later Interface message logs.