The installation takes place via 'hot deployment'. See the documentation of the Deploy Swiftlet for further information.
It is recommended to configure the Swiftlet via SwiftMQ Explorer. The Swiftlet appears in the Navigator after hot deployment and is disabled by default:
The Swiftlet maps all SNMP commands and operations internally to CLI and therefore holds an internal CLI connection with the router. Per default it uses a intra-VM connection factory and anonymous login. This can be changed if necessary:
The SNMP agent uses UDP to listen to SNMP requests. The IP address of the network interface can be configured via attribute "UDP Address". The default value is "0.0.0.0" which means to listen on all available network interfaces. If the SNMP agent should only listen on a particular interface, overwrite the attribute with the IP of this interface.
The standard port for SNMP is 161. Since this is a privileged port number, we use 10061 as default for "UDP Port". If the SwiftMQ process has the privilege to open the port 161, change it accordingly.
Attribute "Agent Startup Delay" specifies an artifical delay in seconds between startup of this Swiftlet and the internal start of the SNMP agent. This is necessary to catch all deployed Swiftlets during startup and should be 10 seconds. However, further hot deployments of Swiftlets are detected and the corresponding MIBs are automatically loaded.
If your SNMP management tools use SNMPv1 or SNMPv2, define at least one community:
If your SNMP management tools use SNMPv3, define your users here:
Enable the Swiftlet which starts the internal CLI connection and the SNMP agent:
You should see the internal CLI connection now in Network Swiftlet / Connections:
Last step is to save your changes into the routerconfig.xml:
The configuration of the SNMP Management Extension Swiftlet is defined within the element
<swiftlet name="xt$snmp" .../>
of the router's configuration file. One can use the SwiftMQ Exlorer or CLI for configuration as well. They both save into that file.
Attributes of Element "swiftlet"
Definition
| Attribute | Type | Mandatory | Description |
|---|---|---|---|
| enabled | java.lang.Boolean | No | Enables/Disables SNMP |
Values
| Attribute | Values |
|---|---|
| enabled | Default: false |
Element "agent", Parent Element: "swiftlet"
SNMP Agent Settings.
Definition
| Attribute | Type | Mandatory | Description |
|---|---|---|---|
| udp-address | java.lang.String | Yes | UDP Address to listen for SNMP Requests |
| udp-port | java.lang.Integer | Yes | UDP Port to listen for SNMP Requests |
| agent-startup-delay | java.lang.Integer | Yes | Delay between Swiftlet and Agent startup |
Values
| Attribute | Values |
|---|---|
| udp-address | Default: 0.0.0.0 |
| udp-port | Default: 10161 |
| agent-startup-delay | Min: 5 Default: 10 |
Element List "communities", Parent Element: "agent"
SNMPv1 SNMPv2 Community Settings. This element list contains zero or more "community" elements with this template definition:
Definition
| Attribute | Type | Mandatory | Description |
|---|---|---|---|
| name | java.lang.String | Yes | Name of this Community |
Element List "users", Parent Element: "agent"
SNMPv3 User Settings. This element list contains zero or more "user" elements with this template definition:
Definition
| Attribute | Type | Mandatory | Description |
|---|---|---|---|
| name | java.lang.String | Yes | Name of this User |
| auth-protocol | java.lang.String | Yes | Authentication Protocol |
| auth-passphrase | java.lang.String | Yes | Authentication Passphrase |
Values
| Attribute | Values |
|---|---|
| auth-protocol | Choice: SHA MD5 Default: SHA |
| auth-passphrase |
Element "cli-interface", Parent Element: "swiftlet"
CLI Interface Settings.
Definition
| Attribute | Type | Mandatory | Description |
|---|---|---|---|
| anonymous-user | java.lang.Boolean | No | Enables/Disables the use of the anonymous user to create the internal JMS Connection |
| cli-intravm-connection-factory | java.lang.String | Yes | Used from CLI to perform CLI commands |
| username | java.lang.String | No | JMS Username to create the internal JMS Connection |
| password | java.lang.String | No | JMS Password to create the internal JMS Connection |
Values
| Attribute | Values |
|---|---|
| anonymous-user | Default: true |
| cli-intravm-connection-factory | Default: IVMConnectionFactory |
| username | |
| password |
CLI Commands During Deployment
This Swiftlet performs the following CLI commands during deployment:
cc /sys$threadpool/pools
new snmp
cc /sys$threadpool/pools/snmp/threads
new extension.xt$snmp.%
CLI Commands During Undeployment
This Swiftlet performs the following CLI commands during undeployment:
cc /sys$threadpool/pools
delete snmp