Create and manage destinations
Last updated on
Prerequisites
Section titled “Prerequisites”- You have a Telemetry Router instance Create and manage instances
Destination config object
Section titled “Destination config object”To configure a destination, you need to provide a destination uri, a type and an authentication.
You add the destination configuration as JSON key called config to the appropriate requests. The following table represents the available keys within this object:
| Key | Meaning | Type |
|---|---|---|
| accessToken | The individual access token of your service account | eyJhbGci0iJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIi0iIxMjM0NTY30DkwIiwibmFtZSI6IkpvaG4gRG91IiwiaXNTb2NpYWwiOnRydWV9.4pcPyMD09o1PSyXnrXCjTwXyr4BsezdI1AVTmud2fU4 |
| configType | Type of the destination (OpenTelemetry or S3) | string |
| openTelemetry | Object that describes an Open Telemetry destination. Refer to Configuration for Open Telemetry targets for more information. | object |
| s3 | Object that describes a S3 destination. Refer to Configuration for S3 targets for more information. | object |
| filter | An optional filter object. Read Filter to learn how filters work. | object |
Configuration for Open Telemetry targets
Section titled “Configuration for Open Telemetry targets”To configure an Open Telemetry destination, the openTelemetry object is mandatory. It consists of an URI and authentication parameters. For authentication, either basicAuth or bearerToken must be provided.
| Key | Meaning | Type |
|---|---|---|
| uri | The actual destination endpoint. It has a limit of 1024 characters. | string |
| basicAuth | A nested object that holds information to authenticate your Open Telemetry instance against your destination | See examples below |
| bearerToken | A token string to authenticate your Open Telemetry instance against your destination | string |
Basic Auth object
Section titled “Basic Auth object”The Basic-Auth object consists of two keys:
| Key | Meaning | Type |
|---|---|---|
| username | The username to authenticate against your endpoint | string |
| password | The password to authenticate against your endpoint | string |
Example of a config object
Section titled “Example of a config object”{ "configType": "OpenTelemetry", "openTelemetry": { "basicAuth": { "username": "stackit-open-telemetry-client", "password": "my-top-secret-password" }, "uri": "https://my-opentelemetry-destination.on-prem-cloud.example.com" }, "displayName": "My Open Telemetry destination"}Configuration for S3 targets
Section titled “Configuration for S3 targets”To configure a S3 destination, the s3 object is mandatory. It consists of an endpoint-bucket-combination and authentication parameters. For authentication, an accessKey must be provided.
| Key | Meaning | Type |
|---|---|---|
| accessKey | The access key for authentication | object |
| bucket | The identifier of your bucket. It has a limit of 63 characters. | string |
| endpoint | The endpoint URI. It has a limit of 1024 characters. | string |
Access key object
Section titled “Access key object”The access key object consists of two keys:
| Key | Meaning | Type |
|---|---|---|
| id | The id of your access key | string |
| secret | The secret to authenticate against your S3 endpoint | string |
Example of a config object
Section titled “Example of a config object”{
configType: "S3", s3: { "accessKey": { "id": "stackit-s3-client", "secret": "my-secret" }, bucket: "my-bucket", endpoint: "https://my-s3-bucket.on-prem-cloud.example.com" }, "displayName": "My S3 destination"}Create a destination
Section titled “Create a destination”To create a Telemetry Router destination, you need to call the appropriate endpoint.
Choose the properties for your new destination
Section titled “Choose the properties for your new destination”| Parameter | Meaning | Example |
|---|---|---|
| accessToken | The individual access token of your service account | eyJhbGci0iJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIi0iIxMjM0NTY30DkwIiwibmFtZSI6IkpvaG4gRG91IiwiaXNTb2NpYWwiOnRydWV9.4pcPyMD09o1PSyXnrXCjTwXyr4BsezdI1AVTmud2fU4 |
| projectId | Your individual project ID | 16dbfb51-7a75-42d3-a51d-99f87f48cd32 |
| regionId | The region your Telemetry Router instance is located | eu01 |
| telemetryRouterId | The ID of your Telemetry Router instance | d5b5cdcc-c155-4d66-82ef-4289db8e4557 |
| config | A JSON object that describes the actual destination | See #destination-config-object |
| displayName | A name for the destination | my-telemetry-destination |
| description | An optional description for your reference | My new Telemetry Router destination |
curl -X POST \'https://telemetry-router.api.stackit.cloud/v1beta/projects/[projectId]/regions/[regionId]/telemetry-routers/[telemetryRouterId]/destinations' \--header 'Authorization: Bearer [accessToken]' \--header 'Content-Type: application/json' \--data-raw '{ "displayName": [displayName], "description": [description], "config": [config]}'Example for an S3-compatible storage destination
Section titled “Example for an S3-compatible storage destination”curl -X POST \'https://telemetry-router.api.eu01.stackit.cloud/v1beta/projects/16dbfb51-7a75-42d3-a51d-99f87f48cd32/regions/eu01/telemetry-routers/d5b5cdcc-c155-4d66-82ef-4289db8e4557/destinations' \--header 'Authorization: Bearer eyJhbGci0iJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIi0iIxMjM0NTY30DkwIiwibmFtZSI6IkpvaG4gRG91IiwiaXNTb2NpYWwiOnRydWV9.4pcPyMD09o1PSyXnrXCjTwXyr4BsezdI1AVTmud2fU4' \--header 'Content-Type: application/json' \--data-raw '{ "displayName": "my-telemetry-destination", "description": "My telemetry destination", "config": { configType: "S3", s3: { "accessKey": { "id": "stackit-s3-client", "secret": "my-secret" }, bucket: "my-bucket", endpoint: "https://my-s3-bucket.on-prem-cloud.example.com" }, "displayName": "My S3 destination" }}'Example for an OpenTelemetry destination
Section titled “Example for an OpenTelemetry destination”curl -X POST \'https://telemetry-router.api.eu01.stackit.cloud/v1beta/projects/16dbfb51-7a75-42d3-a51d-99f87f48cd32/regions/eu01/telemetry-routers/d5b5cdcc-c155-4d66-82ef-4289db8e4557/destinations' \--header 'Authorization: Bearer eyJhbGci0iJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIi0iIxMjM0NTY30DkwIiwibmFtZSI6IkpvaG4gRG91IiwiaXNTb2NpYWwiOnRydWV9.4pcPyMD09o1PSyXnrXCjTwXyr4BsezdI1AVTmud2fU4' \--header 'Content-Type: application/json' \--data-raw '{ "displayName": "my-telemetry-destination", "description": "My telemetry destination", "config": { "configType": "OpenTelemetry", "openTelemetry": { "basicAuth": { "username": "stackit-open-telemetry-client", "password": "my-top-secret-password" }, "uri": "https://my-opentelemetry-destination.on-prem-cloud.example.com" }, "displayName": "My Open Telemetry destination" }}'List all destinations
Section titled “List all destinations”| Parameter | Meaning | Example |
|---|---|---|
| accessToken | The individual access token of your service account | eyJhbGci0iJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIi0iIxMjM0NTY30DkwIiwibmFtZSI6IkpvaG4gRG91IiwiaXNTb2NpYWwiOnRydWV9.4pcPyMD09o1PSyXnrXCjTwXyr4BsezdI1AVTmud2fU4 |
| projectId | Your individual project ID | 16dbfb51-7a75-42d3-a51d-99f87f48cd32 |
| regionId | The region your Telemetry Router instance is located | eu01 |
| telemetryRouterId | The ID of your Telemetry Router instance | d5b5cdcc-c155-4d66-82ef-4289db8e4557 |
curl -X GET \'https://telemetry-router.api.stackit.cloud/v1beta/projects/[projectId]/regions/[regionId]/telemetry-routers/[telemetryRouterId]/destinations' \--header 'Authorization: Bearer [accessToken]' \--header 'Content-Type: application/json'Example
Section titled “Example”curl -X GET \'https://telemetry-router.api.eu01.stackit.cloud/v1beta/projects/16dbfb51-7a75-42d3-a51d-99f87f48cd32/regions/eu01/telemetry-routers/d5b5cdcc-c155-4d66-82ef-4289db8e4557/destinations' \--header 'Authorization: Bearer eyJhbGci0iJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIi0iIxMjM0NTY30DkwIiwibmFtZSI6IkpvaG4gRG91IiwiaXNTb2NpYWwiOnRydWV9.4pcPyMD09o1PSyXnrXCjTwXyr4BsezdI1AVTmud2fU4' \--header 'Content-Type: application/json'View a destination
Section titled “View a destination”| Parameter | Meaning | Example |
|---|---|---|
| accessToken | The individual access token of your service account | eyJhbGci0iJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIi0iIxMjM0NTY30DkwIiwibmFtZSI6IkpvaG4gRG91IiwiaXNTb2NpYWwiOnRydWV9.4pcPyMD09o1PSyXnrXCjTwXyr4BsezdI1AVTmud2fU4 |
| projectId | Your individual project ID | 16dbfb51-7a75-42d3-a51d-99f87f48cd32 |
| regionId | The region your Telemetry Router instance is located | eu01 |
| telemetryRouterId | The ID of your Telemetry Router instance | d5b5cdcc-c155-4d66-82ef-4289db8e4557 |
| destinationId | The ID of your destination | 60e59099-8209-4b69-a553-239fd79038a3 |
curl -X GET \'https://telemetry-router.api.stackit.cloud/v1beta/projects/[projectId]/regions/[regionId]/telemetry-routers/[telemetryRouterId]/destinations/[destinationId]' \--header 'Authorization: Bearer [accessToken]' \--header 'Content-Type: application/json'Example
Section titled “Example”curl -X GET \'https://telemetry-router.api.eu01.stackit.cloud/v1beta/projects/16dbfb51-7a75-42d3-a51d-99f87f48cd32/regions/eu01/telemetry-routers/d5b5cdcc-c155-4d66-82ef-4289db8e4557/destinations/60e59099-8209-4b69-a553-239fd79038a3' \--header 'Authorization: Bearer eyJhbGci0iJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIi0iIxMjM0NTY30DkwIiwibmFtZSI6IkpvaG4gRG91IiwiaXNTb2NpYWwiOnRydWV9.4pcPyMD09o1PSyXnrXCjTwXyr4BsezdI1AVTmud2fU4' \--header 'Content-Type: application/json'Edit a destination
Section titled “Edit a destination”| Parameter | Meaning | Example |
|---|---|---|
| accessToken | The individual access token of your service account | eyJhbGci0iJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIi0iIxMjM0NTY30DkwIiwibmFtZSI6IkpvaG4gRG91IiwiaXNTb2NpYWwiOnRydWV9.4pcPyMD09o1PSyXnrXCjTwXyr4BsezdI1AVTmud2fU4 |
| projectId | Your individual project ID | 16dbfb51-7a75-42d3-a51d-99f87f48cd32 |
| regionId | The region your Telemetry Router instance is located | eu01 |
| telemetryRouterId | The ID of your Telemetry Router instance | d5b5cdcc-c155-4d66-82ef-4289db8e4557 |
| destinationId | The ID of your destination | 60e59099-8209-4b69-a553-239fd79038a3 |
| displayName | A name for the Telemetry Router instance. In this endpoint, the parameter is optional. | my-telemetry-router |
| description | An optional description for your reference | My Telemetry Router instance |
| config | An destination config object. | Read Destination config object to learn about the destination config syntax. |
curl -X PUT \'https://telemetry-router.api.stackit.cloud/v1beta/projects/[projectId]/regions/[regionId]/telemetry-routers/[telemetryRouterId]/destinations/[destinationId]' \--header 'Authorization: Bearer [accessToken]' \--header 'Content-Type: application/json'--data-raw '{ "displayName": [name], "description": [description], "config": [config]}'Example of editing a destination to an S3 compatible storage to an existing Telemetry Router instance
Section titled “Example of editing a destination to an S3 compatible storage to an existing Telemetry Router instance”curl -X PUT \'https://telemetry-router.api.eu01.stackit.cloud/v1beta/projects/16dbfb51-7a75-42d3-a51d-99f87f48cd32/regions/eu01/telemetry-routers/d5b5cdcc-c155-4d66-82ef-4289db8e4557/destinations/60e59099-8209-4b69-a553-239fd79038a3' \--header 'Authorization: Bearer eyJhbGci0iJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIi0iIxMjM0NTY30DkwIiwibmFtZSI6IkpvaG4gRG91IiwiaXNTb2NpYWwiOnRydWV9.4pcPyMD09o1PSyXnrXCjTwXyr4BsezdI1AVTmud2fU4' \--header 'Content-Type: application/json' \--data-raw '{ "config": { configType: "S3", s3: { "accessKey": { "id": "stackit-s3-client", "secret": "my-secret" }, bucket: "my-bucket", endpoint: "https://my-s3-bucket.on-prem-cloud.example.com" }, "displayName": "My S3 destination" }}'Example of editing a destination to an OpenTelemetry storage to an existing Telemetry Router instance
Section titled “Example of editing a destination to an OpenTelemetry storage to an existing Telemetry Router instance”curl -X PUT \'https://telemetry-router.api.eu01.stackit.cloud/v1beta/projects/16dbfb51-7a75-42d3-a51d-99f87f48cd32/regions/eu01/telemetry-routers/d5b5cdcc-c155-4d66-82ef-4289db8e4557/destinations/60e59099-8209-4b69-a553-239fd79038a3' \--header 'Authorization: Bearer eyJhbGci0iJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIi0iIxMjM0NTY30DkwIiwibmFtZSI6IkpvaG4gRG91IiwiaXNTb2NpYWwiOnRydWV9.4pcPyMD09o1PSyXnrXCjTwXyr4BsezdI1AVTmud2fU4' \--header 'Content-Type: application/json' \--data-raw '{ "config": { "configType": "OpenTelemetry", "openTelemetry": { "basicAuth": { "username": "stackit-open-telemetry-client", "password": "my-top-secret-password" }, "uri": "https://my-opentelemetry-destination.on-prem-cloud.example.com" }, "displayName": "My Open Telemetry destination" }}'Delete a destination
Section titled “Delete a destination”To delete a Telemetry Router instance, you need to call the DELETE endpoint.
| Parameter | Meaning | Example |
|---|---|---|
| accessToken | The individual access token of your service account | eyJhbGci0iJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIi0iIxMjM0NTY30DkwIiwibmFtZSI6IkpvaG4gRG91IiwiaXNTb2NpYWwiOnRydWV9.4pcPyMD09o1PSyXnrXCjTwXyr4BsezdI1AVTmud2fU4 |
| projectId | Your individual project ID | 16dbfb51-7a75-42d3-a51d-99f87f48cd32 |
| regionId | The region your Telemetry Router instance is located | eu01 |
| telemetryRouterId | The ID of your Telemetry Router instance | d5b5cdcc-c155-4d66-82ef-4289db8e4557 |
| destinationId | The ID of your destination | 60e59099-8209-4b69-a553-239fd79038a3 |
curl -X DELETE \'https://telemetry-router.api.stackit.cloud/v1beta/projects/[projectId]/regions/[regionId]/telemetry-routers/[telemetryRouterId]/destinations/[destinationId]' \--header 'Authorization: Bearer [accessToken]' \--header 'Content-Type: application/json' \Example:
curl -X DELETE \'https://telemetry-router.api.eu01.stackit.cloud/v1beta/projects/16dbfb51-7a75-42d3-a51d-99f87f48cd32/regions/eu01/telemetry-routers/d5b5cdcc-c155-4d66-82ef-4289db8e4557/destinations/60e59099-8209-4b69-a553-239fd79038a3' \--header 'Authorization: Bearer eyJhbGci0iJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIi0iIxMjM0NTY30DkwIiwibmFtZSI6IkpvaG4gRG91IiwiaXNTb2NpYWwiOnRydWV9.4pcPyMD09o1PSyXnrXCjTwXyr4BsezdI1AVTmud2fU4' \--header 'Content-Type: application/json' \