SNMP
Overview
SNMP (Simple Network Management Protocol) is a network protocol and is used to manage, control and monitor network elements (agents). These are for example, routers, printers and switches. Management/monitoring systems (managers) take on the task of administration and monitoring.
waveware offers an SNMP manager with which you can query data from the agents and, if intended by the agents, carry out actions on it. With the System Rule Editor you can evaluate the received data and for example, visualize in dashboards. Use in escalation management is also conceivable, e.g. to be warned if important hardware fails and to detect weak points in the network.
Network communication takes place via the User Datagram Protocol/Internet Protocol (UDP/IP) and by default uses port 161 for requests to an SNMP agent and port 162 for receiving trap and inform notifications from an SNMP agent.
The following protocol versions are supported:
- SNMPv1 (RFC 1155, RFC 1157)
- SNMPv2c (RFC 1901, RFC 1905, RFC 1906, RFC 2578)
- SNMPv3 (RFC 1905, RFC 1906, RFC 3411, RFC 3412, RFC 3414, RFC 3415)
https://www.msxfaq.de/netzwerk/snmp/snmpbasics.htm
https://tools.ietf.org/html/rfc1157
Setup
To use the SNMP module, the following settings and requirements must be met.
Activate SNMP-Support in the waveware Server
Since many functionalities of the SNMP module are server-side components, the SNMP support must first be activated in the waveware server settings.
To do this, click on the 'waveware Server' button in the 'Tools' menu of DataManagement and scroll down to the 'SNMP Settings' setting. Activate the option 'Activate SNMP Support' and save the changes.
Activate/Deactivate SNMP Module
The SNMP module must be activated explicitly for each data world (install ID). To do this, set the data world (install ID) for which you want to activate/deactivate SNMP in the 'Data World' area in the 'Tools' menu ribbon of DataManagement (in the sample figure below, the data world with the install ID "waveware"). Then click on the 'SNMP' button.
In the 'SNMP settings' window you can now view and change the status of the SNMP module. You can also see whether the SNMP support was successfully activated in the waveware server.
- 'Setting: SNMP Server Status' & 'Current: SNMP Server Status'
The status under 'Settings' explains whether SNMP support has already been activated in the waveware server settings. The status under 'Current' indicates whether the waveware server has accepted the setting and the functionality is therefore available (e.g. after restarting the waveware server). These statuses are for information only and cannot be changed here. - 'Setting: SNMP Module Status' & 'Current: SNMP Mode Status'
As described in the previous point, the status for 'Setting: ...' shows the status of the configuration and 'Current: ...' shows the transfer of the configuration to the software. These two pieces of information differ e.g. when the setting made has not yet been saved/loaded.
To enable the SNMP module, check the box next to 'Setting: SNMP module status' in the second line. The configuration status then changes to 'Active'. When you click on the 'Save' button you will receive the following message:
- Save current configuration
Choose this option if you want the current settings to remain until the next start/restart of the data world (Install ID). - Save and apply current configuration
This option saves the changes and applies them immediately. A configuration that is already active is accordingly discarded and the new settings are imported into the SNMP module. A restart of the data world (Install-ID) is not required. - Cancel
Cancels the saving process and returns to editing the configuration.
Prepare to Receive SNMP Trap and Inform
After you enable the SNMP module, the function is ready to receive SNMP trap and inform notifications. SNMP trap and inform notifications are information sent unsolicited/automatically by an SNMP agent to an SNMP manager. An SNMP agent usually triggers these notifications when critical or unforeseen events occur. By default, UDP port 162 is used for transmission. However, this port depends on the configuration and can also be done via another UDP port.
Basically, SNMP inform notifications fulfill the same function as SNMP traps, but the receipt of an SNMP inform is confirmed by the SNMP manager by informing the SNMP agent that the notification has been received (so-called 'acknowledged trap'). ).
These notifications can come in different forms, depending on the SNMP version used. This is taken into account when creating the configuration by specifying the SNMP version.
The configuration in waveware allows you to create different and client-related receivers (receivers for SNMP traps and informs) on various UDP ports. This is done first by defining the following basic elements:
- Community
The definition is based on the name and the SNMP version - User
The definition is based on the name of the security settings and the associated engine IDs. (Since a user name can occur more than once depending on the system and security configuration, an internal key is required to identify the entry.) - Clients
The definition is based on the client IDs, which can be read directly from the waveware system (data world). - Receiver
Definition of the available UDP ports over which messages can be received.
A member (member/participant) is formed by linking (assignment) between clients and community (v1, v2) or user (v3):
- Client + Community = Member (v1, v2)
- Client + User = Member (v3)
Finally, the receiver (receiver) is created by linking (associating) the previously formed member with a port:
- Member + Port = Receiver
The following figure shows the structure schematically:
The notifications received are processed in the System Rule Editor in the trigger rule 'Server.Snmp.MessageReceived'.
Communities (SNMP v1, v2)
The community is required for SNMP versions 1 and 2. This is similar to a username or password, which the parties (agent and manager) use to authenticate each other and grant the appropriate access.
Switch to 'Community' in the DataManagement ribbon 'SNMP Settings' to get an overview of the configuration options of the communities.
Available Communities The configured communities are shown here in table form. The elements can be edited directly within the cells. |
|
Add and Configure Community Use this button to add another entry. Fill in the information directly in the created table row.
Community entries must contain a completed label and be unique. The uniqueness results from the combination of name (field 'Community') + version. Invalid entries are displayed visually. You receive a description of the error as a tool tip, for example via the "!" symbol. The configuration can be saved despite invalid entries. The entries are ignored by the SNMP module during processing.
|
|
Remove the Selected Community Mark the community to be removed in the list and then click this button. Confirm the deletion in the dialog or cancel to keep the entry. |
|
Assigned Clients (Member) Select a community to get an overview of the assigned clients. These elements correspond to the members (v1, v2) from the Client Management, but from the community's point of view. You have the option of activating/deactivating individual assignments using the checkbox. |
|
Activate selected elements (selected assignments) |
|
Deactivate selected elements (selected assignments) In the 'Assigned clients' overview, select the entries that are to be deactivated and click on this button to carry out the action. You can use keyboard shortcuts for multiple selection. |
|
Available Clients The table provides you with the configured clients that have not yet been assigned to the selected community. |
|
Add/Remove Assignments Mark the entries in the 'Available Clients' table and use the [ < ] button to assign the selected entries to the community. Use the [ << ] button to assign all entries. To remove, mark the entries in the 'Assigned Clients' table and use the [ > ] button to remove the assignment for the selected entries. Use the [ >> ] button to remove all assignments. |
After making all changes, click 'Save' to apply the settings. 'Reset' undoes the unsaved settings.
User (SNMP v3)
A user is used with SNMP version 3. Username/password authentication is used here. The option of encryption via a pre-shared key is also provided. A distinction is usually made between the following variants:
- noAuthNoPriv
No authentication, no encryption, a username is required. - authNoPriv
Authentication via username and password, no encryption. - authPriv
Authentication via username and password, encryption using a pre-shared key.
Encryption without authentication is therefore not possible.
Open the 'User Management' via the 'SNMP Settings' ribbon to get an overview of the configured users.
Available User The users already configured are displayed here in table form. The elements can be edited directly within the cells. |
|
Add and Configure User Use this button to add another user entry. Fill in the information directly in the table row.
A user entry must contain a filled-in name and must be unique. The uniqueness is determined by the ID. Invalid entries are displayed visually. |
|
Remove user Highlight the user to be removed from the list and click this button. Then click on 'Delete' in the subsequent dialog to permanently remove the entry. Please note that this will also remove any existing assignments (members and receivers) in which this user is used. |
|
Assigned Clients Choose a user to get an overview of the assigned clients. These elements correspond to the member (v3) in the Client Management, but from the user's point of view. You have the option of activating/deactivating individual assignments using the 'Active' checkbox. |
|
Activate selected elements (selected assignments) In the 'Assigned clients' overview, select the entries that are to be activated and click on this button to carry out the action. You can use keyboard shortcuts for multiple selection in this table; e.g. [Ctrl]+click, [Shift]+click, [Ctrl]+[A]. |
|
Deactivate selected elements (selected assignments) In the 'Assigned clients' overview, select the entries that are to be deactivated and click on this button to carry out the action. You can use keyboard shortcuts for multiple selection in this table; e.g. [Ctrl]+click, [Shift]+click, [Ctrl]+[A]. |
|
Available Clients The table provides the configured clients that have not yet been assigned to the selected user. |
|
Add/Remove Assignments Mark the entries in the table 'Available Clients' or 'Available Engine IDs' and use the [ < ] button to assign the selected entries to the user. Use the [ << ] button to assign all entries. To remove, mark the entries in the 'Assigned Clients' or 'Assigned Engine IDs' table and use the [ > ] button to remove the assignment for the selected entries. Use the [ >> ] button to remove all assignments. |
|
Assigned Engine IDs Choose a user to get an overview of the assigned engine IDs. These items correspond to the assigned users in Engine ID Management. |
|
Available Engine IDs The table provides you with already configured engine IDs. Use the corresponding buttons to manage the assignments as described in points 5, 6 and 8. For more information on the Engine IDs see 'Engine IDs'.
|
After making all changes, click 'Save' to apply the settings. 'Reset' undoes the unsaved settings.
Engine IDs (SNMP v3)
Engine IDs are only used in SNMP version 3 and are assigned to one or more users. It serves as an "end-to-end" identification of an SNMP agent and is defined and provided by the SNMP agent ('Local Engine ID'). As a rule, you should already be familiar with the information on managing the engine IDs. The engine IDs configured in the waveware SNMP module are generally also referred to as "Remote Engine IDs" and are usually specified as a hexadecimal character string.
Open the 'Engine Management' via the 'SNMP Settings' ribbon to get an overview of the configured IDs.
Available Engine IDs The engine IDs that have already been configured are displayed here in table form. The elements can be edited directly in the cells. |
|
Add and Configure Engine ID Use this button to add another engine ID entry. Fill in the information directly in the table row.
An Engine ID entry must contain a populated Engine ID and must be unique. Uniqueness is determined using this ID. Invalid entries are displayed visually. |
|
Remove Engine ID Mark the engine ID to be removed in the list and press this button. Then click on 'Delete' in the subsequent dialog to permanently remove the entry. Please note that all existing assignments to the users will also be removed. |
|
Assigned User Choose an engine ID to get an overview of the assigned users. These elements correspond to the assigned engine IDs in the user management, but from the user's point of view. You have the option of activating/deactivating individual assignments using the 'Active' checkbox. |
|
Activate selected elements (selected assignments) In the 'Assigned users' overview, select the entries that are to be activated and click on this button to carry out the action. You can use keyboard shortcuts for multiple selection in this table; e.g. [Ctrl]+click, [Shift]+click, [Ctrl]+[A]. |
|
Deactivate selected elements (selected assignments) In the 'Assigned users' overview, select the entries that are to be deactivated and click on this button to carry out the action. You can use keyboard shortcuts for multiple selection in this table; e.g. [Ctrl]+click, [Shift]+click, [Ctrl]+[A]. |
|
Available Users The table provides the configured users that have not yet been assigned to the selected Engine ID. |
|
Add/Remove Assignments Mark the entries in the table 'Available Users' and use the [ < ] button to assign the selected entries to the Engine ID. Use the [ << ] button to assign all entries. To remove, mark the entries in the 'Assigned Users' and use the [ > ] button to remove the assignment for the selected entries. Use the [ >> ] button to remove all assignments. |
After making all changes, click 'Save' to apply the settings. 'Reset' undoes the unsaved settings.
Clients
In this area you configure the clients and members (participants). A member is formed by assigning previously configured Communities (v1, v2) and the Users (v3) to the clients. This allows the configuration to be dedicated to individual clients.
Open the 'Client Management' via the 'SNMP Settings' ribbon to get an overview of the configured IDs.
Available Clients The clients that have already been configured are displayed in the form of a table. You can edit the elements directly within the cells. |
|
Add and Configure Clients Use this button to add another client entry. Fill in the information directly in the table row. Clients can also be read directly from the data world in order to make data entry easier. More under 'Import Clients'. The client entered must exist in the current data world so that the corresponding rules are triggered when a trap/inform is received.
A client entry must contain a populated client ID and must be unique. The uniqueness is determined by the ID. Invalid entries are displayed visually. |
|
Remove User Mark the client to be removed in the list and click on this button. Then click on 'Delete' in the subsequent dialog to permanently remove the entry. Please note that all existing members (assignments to users and communities) will also be removed. |
|
Members to Clients (v3) / Assigned Users Select a client to get an overview of the members (assigned users). These elements correspond to the assigned clients in the user management, but from the perspective of the client. You have the option of activating/deactivating individual assignments using the 'Active' checkbox. |
|
Activate selected elements (Selected assignments). In the 'Member to client (v3)' overview, select the entries that are to be activated and click this button to carry out the action. You can use keyboard shortcuts for multiple selection in this table; e.g. [Ctrl]+click, [Shift]+click, [Ctrl]+[A]. |
|
Deactivate selected elements (Selected assignments). In the 'Member to the Clients (v3)' overview, select the entries that are to be deactivated and click this button to carry out the action. You can use keyboard shortcuts for multiple selection in this table; e.g. [Ctrl]+click, [Shift]+click, [Ctrl]+[A]. |
|
Available User The table provides the configured users who have not yet been assigned to the selected client. For more information, see 'User (SNMP v3)'. |
|
Add/Remove Assignment Mark the entries in the 'Available Users' or 'Available Communities' table and use the [ < ] button to assign the selected entries to the client. Use the [ << ] button to assign all entries. To remove, mark the entries in the table 'Member to Client (v3)' or 'Member to Client (v1/v2)' and use the [ > ] button to remove the assignment for the selected entries. Use the [ >> ] button to remove all assignments. |
|
Member to the Clients (v1/v2) / Assigned Communities Select a client to get an overview of the members (v1, v2) (assigned communities). |
|
Available Communities The table provides already configured communities that have not yet been assigned to the selected client. Use the appropriate buttons to manage the assignments as described in points 5, 6 and 8. For more information see 'Communities (SNMP v1, v2)'.
|
After you have made all the settings, click on 'Save' to apply the changes. 'Reset' undoes the unsaved settings.
Import Clients
To simplify client management, you can also take clients directly from the data world/database.
In the 'Client Management', click on the 'Transfer clients from the database' button. Only clients that are not yet included in the configuration are determined. These are displayed in a dialog.
Confirm the dialog with the 'Transfer Clients' button to include the clients listed there in the configuration. To cancel the process, close the dialog or use the 'Cancel' button.
The client description is then checked. The comparison is based on the client ID. If a client name differs from an existing description, the following dialog appears:
You can choose between 'Retain existing name' (name is not taken from the database) and 'Apply new name' (take client name from the database).
The dialog appears again for each different name of other clients. You can therefore choose whether your decision should be automatically applied to all reports ('Note decision for further conflicts').
Receiver
The receiver configuration is used to set the UDP ports via which the trap/inform notifications are received. UDP port 162 is provided for this by default. This port can be changed or additional ports can be configured. You then set which ports should be used to receive the notifications from the individual members.
Use the 'SNMP Receiver Management', which you can open via the 'SNMP Settings' ribbon, to get an overview of the existing ports and receivers.
SNMP Ports Ports that have already been set are shown here in table form. You can edit the elements directly within the cells (see point 2). |
|
Add and Configure SNMP Port Use this button to add another port entry. Fill in the information directly in the table row.
A port entry must have a valid port number and be unique. Invalid entries are displayed visually. |
|
Remove SNMP Port Mark the port to be removed in the list and click this button. Then click on 'Delete' in the subsequent dialog to permanently remove the entry. Please note that all existing receivers (assignments of the members to the port) will also be removed. |
|
Receiver (v3) / Assigned Member Select a port to get an overview of the receivers (assigned members). You have the option of activating/deactivating individual assignments using the 'Active' checkbox. |
|
Activate selected elements (Selected Receivers). In the 'Receiver (v3)' overview, select the entries that are to be activated and click this button to carry out the action. You can use keyboard shortcuts for multiple selection in this table; e.g. [Ctrl]+click, [Shift]+click, [Ctrl]+[A]. |
|
Deactivate selected elements (Selected Receivers). In the 'Receiver (v3)' or 'Receiver (v1/v2)' overview, select the entries that are to be deactivated and click on this button to carry out the action. You can use keyboard shortcuts for multiple selection in this table; e.g. [Ctrl]+click, [Shift]+click, [Ctrl]+[A]. |
|
Available Users The table provides the configured members (v3) that have not yet been assigned to the selected port. |
|
Add/Remove Assignments Mark the entries in the table 'Available Members (v3)' or 'Available Members (v1/v2)' and use the [ < ] button to assign the selected entries to the client. Use the [ << ] button to assign all entries. To remove, mark the entries in the 'Receiver (v3)' or 'Receiver (v1/v2)' table and use the [ > ] button to remove the assignment for the selected entries. Use the [ >> ] button to remove all assignments. |
|
Receiver (v1/v2) /Assigned Member Select a port to get an overview of Receivers (v1/v2) (assigned members). |
|
Available Members (v1/v2) The table provides already configured members (v1/v2) that have not yet been assigned to the selected port. Use the corresponding buttons to manage the assignment as described in points 5, 6 and 8.
|
After making all the settings, save to apply the changes. 'Reset' undoes the unsaved settings.
Receive and Process SNMP Trap and Inform
After you have completed all the preparations (see 'Prepare to Receive SNMP Trap and Inform'), trap and inform notifications can be received. In the 'Live View', which you can open via the DataManagement, you get an overview of all receivers (receivers) that are active or registered for the current data world. All relevant information is presented in a table.
- Runtime Ident
This is an identification token that is made at runtime or during registration. It is formed using the following format and is used to uniquely identify a recipient: "[Port]_[InstallId]_[MandantId]_[UserId][Community/User]_[Version]". - Port
The port on which to receive the trap and inform notifications. - Description
Remark of the port specified in the configuration. - Client
ID of the client for which the notifications should be processed. - Client Description
The description set in the client configuration. - Version
SNMP version applied. - ID
With SNMP v3, shows the internal user ID from the configuration. - Community/User
With SNMP v3, displays the user name; with SNMP v1/v2 the community is displayed. - Description
Description set in the user's or community's configuration. - Alg.
In the case of SNMP v3, shows the algorithm used to authenticate the user. - Encrypt.
In the case of SNMP v3, shows the encryption used.
Upon successful receipt of a Trap or Inform notification, the 'MessageReceived' trigger fires.
To process the received information, create a rule using the 'MessageReceived' trigger in your package (or in customer package 1). A number of building blocks are available to you that simplify the processing of the data: