Trap Collector
Overview
The Unified Assurance Trap Collector microservice is part of the microservice event pipeline. The Trap Collector is responsible for receiving SNMP traps, converting them into a JSON structure. The event structure includes the trap OID, varbinds, network socket information, and timestamp. By default, the output topic is for the fcom-processor.
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-collector assure1/trap-collector -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-collector assure1/trap-collector -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 | udp://:162 | Text, 255 characters | UDP socket port. |
STREAM_OUTPUT | persistent://assure1/event/collection | Text, 255 characters | Apache Pulsar topic path. Topic at end of path may be any text value. |
LOOKUP_CACHE_TTL | 120 | Number | DNS reverse lookup cache record TTL in seconds. |
REDUNDANCY_POLL_PERIOD | 5 | Integer | How often the secondary service checks to see if the primary is online, in seconds. |
REDUNDANCY_FAILOVER_THRESHOLD | 4 | Integer | The number of failed polls before the secondary becomes the active application. |
REDUNDANCY_FALLBACK_THRESHOLD | 1 | Integer | The number of successful polls before the secondary goes back to sleep. |
SNMPV1_RFC3584S312_TRANSLATION | false | Bool | Please refer to section 3.1.2 of RFC3584 Document |
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
Example of enabling redundancy
Redundancy will not be enabled by default. To enable this functionality, pass the following to the installation command:
a1helm install ... --set redundancy.enabled=true
Microservice self-metrics
The Unified Assurance Trap Collector microservice exposes the following self-metrics to Prometheus.
Metric Name | Type | Description |
---|---|---|
total_traps_processed | Counter | Number of traps processed |
processing_time_per_trap | Gauge | Processing time per trap from receiving it to sending |
receive_queue_length | Gauge | Indicates the length of the receive queue waiting to be read |