Trap Forwarder
Overview
The Unified Assurance Trap Forwarder microservice is part of the microservice event pipeline. The Trap Forwarder is responsible for sending SNMP traps, by converting them from a JSON structure.
Prerequisites
-
A microservices cluster must be setup. Refer to Microservice Cluster Setup.
-
Apache Pulsar must be installed. Refer to Apache Pulsar microservice.
Setup
Standard Single Server deployment:
su - assure1
export NAMESPACE=a1-zone1-pri
export WEBFQDN=<Primary Presentation Web FQDN>
a1helm install trap-forwarder assure1/trap-forwarder -n $NAMESPACE --set global.imageRegistry=$WEBFQDN
Standard Multi-Server deployment and starts the microservice on a specific node:
su - assure1
export NAMESPACE=a1-zone1-pri
export WEBFQDN=<Primary Presentation Web FQDN>
export NODEFQDN=<Cluster Target Node FQDN>
a1helm install trap-forwarder assure1/trap-forwarder -n $NAMESPACE --set global.imageRegistry=$WEBFQDN --set nodeSelector."kubernetes\.io/hostname"=$NODEFQDN
Default Configuration
Name | Value | Possible Values | Notes |
---|---|---|---|
LOG_LEVEL | INFO | FATAL, ERROR, WARN, INFO, DEBUG | Logging level used by application. |
STREAM_INPUT | persistent://assure1/event/forward | Text, 255 characters | Apache Pulsar topic path. Topic at end of path may be any text value. |
STREAM_OUTPUT | udp://:10162/v2 | Text, 255 characters | UDP socket port. |
Configurations can be changed by passing the values to the a1helm install
prefixed with the configData parent key.
Example of setting the log level to DEBUG
a1helm install ... --set configData.LOG_LEVEL=DEBUG
Autoscaling
For microservice scaling options, please refer to the autoscaling docs.
On top of the standard autoscaling options, this microservice supports the following additional configurations:
Name | Value | Possible Values | Notes |
---|---|---|---|
thresholds.backlogSize | 1000 | Integer | The number of items that need to be in the backlog before the auto-scaling starts additional processes. |
thresholds.totalTrapsProcessed | 400 | Integer | Total traps processed by the microservice. If the average of total traps processed in five minutes exceeds the threshold, pods will be scaled. |
Example of changing the auto-scaling value
To change the thresholds used for this functionality, pass the following to the installation command:
a1helm install ... --set autoscaling.thresholds.backlogSize=2000
Microservice self-metrics
The Unified Assurance Trap Forwarder microservice exposes the following self-metrics to Prometheus.
Metric Name | Type | Description |
---|---|---|
event_netiq_backlog_size | Gauge | Number of items pending in the backlog |
total_traps_processed | Counter | Number of events processed |
processing_time_per_trap | Gauge | Processing time per event from receiving it to sending it to acknowledging it |