Quick Start¶
If you are familiar with the BIG-IP system, and generally familiar with REST and using APIs, this section contains the minimum amount of information to get you up and running with F5 BIG-IP Telemetry Streaming.
- Download the latest RPM package from the Release Assets on GitHub.
- Upload and install the RPM package on the using the BIG-IP GUI:
- Main tab > iApps > Package Management LX > Import
- Select the downloaded file and click Upload
- For complete instructions see Installing F5 BIG-IP Telemetry Streaming using the BIG-IP Configuration utility or Installing F5 BIG-IP Telemetry Streaming using cURL from the Linux shell.
- Be sure to see the known issues on GitHub (https://github.com/F5Networks/f5-telemetry-streaming/issues) to review any known issues and other important information before you attempt to use Telemetry Streaming.
- Provide authorization (basic auth) to the BIG-IP system:
- If using a RESTful API client like Postman, in the Authorization tab, type the user name and password for a BIG-IP user account with Administrator permissions.
- If using cURL, see Installing F5 BIG-IP Telemetry Streaming using cURL from the Linux shell.
- Using a RESTful API client like Postman, send a GET request to the URI
https://{{host}}/mgmt/shared/telemetry/info
to ensure F5 BIG-IP Telemetry Streaming is running properly. - Copy one of the Example Declarations which best matches the configuration you want to use. Alternatively, you can use the simple “Hello World” example below, which is a good start if you don’t have an example in mind.
- Paste the declaration into your API client, and modify names and IP addresses as applicable.
- POST to the URI
https://<BIG-IP>/mgmt/shared/telemetry/declare
Quick Start Example¶
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | { "class": "Telemetry", "My_System": { "class": "Telemetry_System", "systemPoller": { "interval": 60 } }, "My_Listener": { "class": "Telemetry_Listener", "port": 6514 }, "My_Consumer": { "class": "Telemetry_Consumer", "type": "Splunk", "host": "192.168.2.1", "protocol": "https", "port": 8088, "passphrase": { "cipherText": "apikey" } } } |
Components of the declaration¶
This section provides more information about the options in the Quick Start example, and breaks down the example declaration into each class so you can understand the options when composing your declaration. The tables below the examples contain descriptions and options for the parameters included in this example only.
For a list of all the F5 BIG-IP Telemetry Streaming classes and options, see Using F5 BIG-IP Telemetry Streaming.
If there is a default value, it is shown in bold in the Options column.
Base components¶
The first few lines of your declaration are a part of the base components and define top-level options. When you POST a declaration, depending on the complexity of your declaration and the modules you are provisioning, it may take some time before the system returns a success message. Note that the controls class is optional and used for logging and debugging (see Logging).
1 2 3 4 5 6 | { "class": "Telemetry", "controls": { "class": "Controls", "logLevel": "info" }, |
Parameter | Options | Description/Notes |
---|---|---|
class | Controls | Describes top-level TS options. The optional class for controls must always be Controls, do not change this value. Controls are for logging and debugging. |
logLevel | info, debug, error | This value determines how much information you want TS to log. See the Logging section for more information. |
F5 BIG-IP Telemetry System class¶
The next lines of the declaration define the target system. You can define and configure the system poller inside of the System declaration to collect and normalize statistics. These statistics include device statistics, virtual server statistics, pool statistics, individual pool member statistics, and more. For more information, including an optional iHealth poller, see Telemetry System class.
7 8 9 10 11 12 | "My_System": { "class": "Telemetry_System", "systemPoller": { "interval": 60 } }, |
Parameter | Options | Description/Notes |
---|---|---|
class | Telemetry_System | The class for BIG-IP Telemetry System must always be Telemetry_System, do not change this value. |
systemPoller | systemPoller | This value Polls a system on a defined interval for information such as device statistics, virtual server statistics, pool statistics and much more. |
F5 BIG-IP Telemetry Listener class¶
The next lines of the declaration sets the Event Listener, on both TCP and UDP protocols, that can accept events in a specific format and process them. Currently, the BIG-IP TS Listener sends all logging telemetry data.
To see the type of information that the event listener processes, see Example Output.
Event Format: key1="value",key2="value"
13 14 15 16 | "My_Listener": { "class": "Telemetry_Listener", "port": 6514 }, |
Parameter | Options | Description/Notes |
---|---|---|
class | Telemetry_Listener | The class for listener must always be Telemetry_Listener, do not change this value. |
port | 6514 | Specifies the port of the TCP and UDP listener |
F5 BIG-IP Telemetry Consumer class¶
The next lines of the declaration sets the Consumer, which accepts all telemetry information from whatever systems you configure it to. The consumer provides the tools to process that information. To see examples of configurations for consumers like Splunk, Azure Log Analytics, AWS CloudWatch, AWS S3, Graphite, and others, see the Push Consumers section of this guide.
Note
TS 1.11 adds support for the Pull Consumer class. See Pull Consumers.
17 18 19 20 21 22 23 24 25 26 | "My_Consumer": { "class": "Telemetry_Consumer", "type": "Splunk", "host": "192.168.2.1", "protocol": "https", "port": "8088", "passphrase": { "cipherText": "apikey" } } |
Parameter | Options | Description/Notes |
---|---|---|
class | Telemetry_Consumer | The class for consumer must always be Telemetry_Consumer, do not change this value. |
type | Splunk, AWS_S3, etc. | Specifies the consumer type you would like to send Telemetry information to. See the Push Consumers section for more information. |
host | 192.168.2.1 | The address of the instance that runs the HTTP event collector |
protocol | http, https | The protocol of the consumer |
port | 8088 | The port of the consumer system |
passphrase | xxxxx | The secret password to use when sending data to the consumer system |