Receivers (Streaming)
Streaming Receivers Overview
You can configure the server to stream alerts, events and perfmon, or any combination thereof. Each data type is sent to a streaming receiver over its own TCP socket. Even if all three data types are configured for the same streaming receiver, three (3) connections are created between the server and the streaming receiver. This also allows for all three types to be sent to three different streaming receivers.
Receivers include the following details:
-
Hostname - Hostname
-
Port - default: 4444
-
Message Type - alerts, events, perfmon
-
Sequencing Mode - unsequenced, sequenced
-
TLS Protected - toggle to encrypt data (new in version 6.0.0)
-
Require certificate validation - toggle to require certificate validation (appears if receiver is TLS-protected) (new in version 6.0.0)
-
Use certificate from local store - toggle off to use [standard certificate], toggle on to use a certificate from local store (appears if receiver is TLS-protected and if certificate validation is required) (new in version 6.0.0)
-
Selected certificates - (appears if receiver is TLS-protected) (new in version 6.0.0)
Create Receiver
To create a streaming receiver using the GUI:
Change Receiver Certificates
If a streaming receiver is TLS-protected and requires certificate validation, you can add and/or remove certificates.
To change certificates that are assigned to a receiver using the GUI:
Delete Receiver
To delete a streaming receiver using the GUI:
Configure Receivers Using Telegraf Plugin
You can use the streaming input plugin for Telegraf to receive streaming telemetery. The streaming plugin is an external plugin maintained and supported outside of Telegraf. Telegraf is an agent for collecting, processing, aggregating, and writing metrics. The Telegraf plugin handles the reception of the protobuf messages from the software environment. For more information, see the Streaming Guide.
Provide credentials to configure streaming receivers with the Telegraf plugin. We recommend that you use a separate Apstra account with only the streaming credentials. If you configure through the GUI, then there is no need to supply credentials in the Telegraf config file.
In the examples, the Telegraf receiver is run in a docker container. The
docker-compose.yml
snippet below shows the configuration for
the Telegraf container. Note that the image is built on Telegraf v1.21.3.
docker-compose.yml services: telegraf-aos: image: telegraf:1.31.3 command: telegraf volumes: - type: bind source: ./apstra-telegraf-plugin target: /apstra-telegraf-plugin read_only: true - ./aos-telegraf.conf:/etc/telegraf/telegraf.conf - ./plugin.conf:/etc/telegraf/apstra-telegraf-plugin.conf ports: - '7777:7777'
The Telegraf configuration file - ./aos-telegraf.conf
- is mapped to
/etc/telegraf/apstra-telegraf-plugin.conf
on the container. It
includes the following parameters:
- address - specifies the IP address of the streaming receiver
- port - specifies the port that the streaming receiver will be listening on
- streaming_type - specifies the type of data to be streamed to this receiver
To configure the Telegraf plugin to stream receivers via the API, the remaining parameters are necessary.
- aos_server - specifies the IP address of the server
- aos_port - should always be 443
- aos_login - Apstra username
- aos_password - Apstra password
The Apstra input plugin configurations are shown in the snippet below.
[[inputs.aos]] # TCP Port to listen for incoming sessions from the Apstra Server. port = 7777 # Address of the server running Telegraf. It must to be reachable from the Apstra Server. address = "<telegraf-server-ip>" # Streaming Type Can be "perfmon", "alerts" or "events". streaming_type = [ "perfmon", "alerts" ] # Define parameters to configure the Apstra Server using the REST API. # These paramters are not required when the receiver is configured from the Apstra GUI. aos_server = "<apstra-server-ip>" aos_port = 443 aos_login = "admin" aos_password = "admin" aos_protocol = "https"