Redundant SNMP agent

The SNMP driver can establish connection to a redundant SNMP agent in case the first agent is not available anymore. The driver communicates only with one agent at the same time. To configure a redundant SNMP agent refer to Configuration of the SNMP driver. The second agent (if correctly configured) is only alive checked. The driver only switches to the second agent if the first agent is not available anymore.

There is no preferred agent, which means that the driver does not switch back to the first agent. The driver communicates with second agent as long as it is available. If it is not available anymore, the driver switches back to the first agent.

In case of an agent switch, the driver sends the last unsuccessful request to the second agent. If the second agent is also unavailable the request is discarded.

After startup, the driver will always try to communicate with the first target.

Redundancy switch

Depending on the SNMP agent configuration the driver can switch to the redundant agent in the following cases:

  • redu switch on timeout: defines if an agent switch shall be performed if the response of a read or write request returns the TIMEOUT status

  • redu switch on keepAlive-error: defines if an agent switch should be performed if a keepAlive check fails

  • redu switch on timeout and/or keepAlive-error: defines if an agent switch shall be performed if a keepAlive check fails or a read/write request returns the TIMEOUT status

SNMP in redundant WinCC OA System

From Version 3.20, the redundant SNMP driver can use communication with both redundant agents.

The relevant "<DP>_2" datapoints are automatically created for the internal datapoints of the second system.
Note:
The _SNMPAgent and _SNMPV3Entity datapoints have been separated to facilitate this behavior.
Note:
As a fallback option the redundancy behaviour can be reset to the legacy behaviour by setting the config entry [snmpdrv] useReduPostfix to "false" if absolutely required. This should however only be done in strictly necessary cases, as the fwdDpType config.redu entries related to the datapoints must be removed manually to reach the exact behaviour.