Receivers (Platform)
Streaming Receivers Overview
You can configure the Apstra 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 Apstra 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
From the left navigation menu, navigate to Platform > Streaming > Receivers to go to receivers. You can create and delete receivers.
Create Receiver
- From the left navigation menu of the Apstra GUI, navigate to Platform > Streaming > Receivers and click Create Receiver.
- Enter/select required values.
- Click Create to create the receiver and return to the table view.
Delete Receiver
- From the left navigation menu of the Apstra GUI, navigate to Platform > Streaming > Receivers and click the delete button for the receiver to delete.
- Click Delete to delete the receiver from the system and return to the table view.
Configure Receivers Using Telegraf Plugin
You can use the Apstra streaming input plugin for Telegraf to receive streaming telemetery from Apstra. In Juniper Apstra 5.1, the Apstra 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 Apstra environment. For more information, see the Apstra Streaming Guide.
You can configure streaming receivers in Apstra with the Telegraf plugin by providing it Apstra credentials. 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 from Apstra to this receiver
The remaining parameters are only necessary if you want the Apstra Telegraf plugin to configure the streaming receivers in Apstra via the API.
- aos_server - specifies the IP address of the Apstra 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"