Trap Forwarder
The Trap Forwarder microservice converts the Unified Assurance JSON event structure for SNMP traps back into SNMP trap format and forwards them to a UDP socket.
This microservice is part of the Event microservice pipeline. See Understanding the Event Pipeline in Unified Assurance Concepts for conceptual information.
Autoscaling is enabled by default for this microservice. You can optionally disable autoscaling when you deploy the microservice. See Configuring Autoscaling.
This microservice provides additional Prometheus monitoring metrics. See Trap Forwarder Self-Monitoring Metrics.
Trap Forwarder Prerequisites
Before deploying the microservice, confirm that the following prerequisites are met:
-
A microservice cluster is set up. See Microservice Cluster Setup.
-
The Apache Pulsar microservice is deployed. See Pulsar.
-
You know the UDP socket port.
Deploying Trap Forwarder
To deploy the microservice in a single server environment, run the following commands:
su - assure1
export NAMESPACE=<namespace>
export WEBFQDN=<WebFQDN>
a1helm install <microservice-release-name> assure1/trap-forwarder -n $NAMESPACE --set global.imageRegistry=$WEBFQDN
In a multi-server environment, deploy the Trap Collector microservice to a specific node by running the following commands:
su - assure1
export NAMESPACE=<namespace>
export WEBFQDN=<WebFQDN>
export NODEFQDN=<NodeFQDN>
a1helm install <microservice-release-name> assure1/trap-forwarder -n $NAMESPACE --set global.imageRegistry=$WEBFQDN --set nodeSelector."kubernetes\.io/hostname"=$NODEFQDN
In the commands:
-
<namespace> is the namespace where you are deploying the microservice. The default namespace is a1-zone1-pri, but you can change the zone number and, when deploying to a redundant cluster, change pri to sec.
-
<WebFQDN> is the fully-qualified domain name of the primary presentation server for the cluster.
-
<NodeFQDN> is the FQDN of the cluster node to deploy the microservice to.
-
<microservice-release-name> is the name to use for the microservice instance. Oracle recommends using the microservice name (trap-forwarder) unless you are deploying multiple instances of the microservice to the same cluster.
You can also use the Unified Assurance UI to deploy microservices. See Deploying a Microservice by Using the UI for more information.
Changing Trap Forwarder Configuration Parameters
When running the install command, you can optionally change default configuration parameter values by including them in the command with additional --set arguments. You can add as many additional --set arguments as you need.
For example:
-
Set a parameter described in Default Trap Forwarder Configuration by adding --set configData.<parameter_name>=<parameter_value>. For example, --set configData.LOG_LEVEL=DEBUG.
-
Disable autoscaling for the microservice by adding --set autoscaling.enabled=false.
-
Set an autoscaling parameter described in Trap Forwarder Autoscaling Configuration by adding --set autoscaling.<parameter_name>=<parameter_value>. For example, --set autoscaling.thresholds.backlogSize=2000.
Default Trap Forwarder Configuration
The following table describes the default configuration parameters found in the Helm chart under configData for the microservice.
Name | Default 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. |
Trap Forwarder Autoscaling Configuration
Autoscaling is supported for the MS microservice. See Configuring Autoscaling for general information and details about the standard autoscaling configurations.
The MS microservice also supports the additional configurations described in the following table.
Name | Default Value | Possible Values | Notes |
---|---|---|---|
thresholds.backlogSize | 1000 | Integer | The number of items that need to be in the backlog before the autoscaling 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. |
Trap Forwarder Self-Monitoring Metrics
The Trap Forwarder microservice exposes the self-monitoring metrics described in the following table 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 |
Note:
Metric names in the database include a prefix that indicates the service that inserted them. The prefix is prom_ for metrics inserted by Prometheus. For example, total_traps_processed is stored as prom_total_traps_processed in the database.