Zum Inhalt springen

Ziele erstellen und verwalten

Zuletzt aktualisiert am

Für jede Instanz des Telemetry Router definieren Sie Ziele, an die Ihr Datenstrom weitergeleitet wird. Sie können den Datenstrom an einen OpenTelemetry-kompatiblen Endpunkt oder an einen S3-kompatiblen STACKIT Object Storage senden. Für OpenTelemetry können entweder Basic- oder Token-Auth verwendet werden, damit sich Ihre Instanz des Telemetry Router gegenüber Ihrem Ziel authentifizieren kann. Den eigentlichen Ziel-Endpunkt definieren Sie mit einer URI.

Um ein Ziel zu konfigurieren, müssen Sie eine Ziel-uri, einen Typ und eine Authentifizierung angeben.

Sie fügen die Zielkonfiguration als JSON-Key namens config zu den entsprechenden Anfragen hinzu. Die folgende Tabelle zeigt die verfügbaren Keys innerhalb dieses Objekts:

Um ein OpenTelemetry-Ziel zu konfigurieren, ist das openTelemetry-Objekt obligatorisch. Es besteht aus einer URI und Authentifizierungsparametern. Für die Authentifizierung muss entweder basicAuth oder bearerToken angegeben werden.

Das Basic-Auth-Objekt besteht aus zwei Keys:

{
"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"
}

Um ein S3-Ziel zu konfigurieren, ist das s3-Objekt obligatorisch. Es besteht aus einer Endpunkt-Bucket-Kombination und Authentifizierungsparametern. Für die Authentifizierung muss ein accessKey angegeben werden.

Das Access-Key-Objekt besteht aus zwei Keys:

{
"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"
}

Um ein Ziel für den Telemetry Router zu erstellen, müssen Sie den entsprechenden Endpunkt aufrufen.

Terminal-Fenster
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]
}'
Terminal-Fenster
curl -X POST \
'https://telemetry-router.api.stackit.cloud/v1beta/projects/16dbfb51-7a75-42d3-a51d-99f87f48cd32/regions/eu01/telemetry-routers/d5b5cdcc-c155-4d66-82ef-4289db8e4557/destinations' \
--header 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzI1NiIsImtpZCI6ImE1NTZmYWI0MWY2YzQ1MGY3ZDU5YzRmNGVkNWI0NmMxIn0.eyJub3RpY2UiOiJDb25ncmF0dWxhdGlvbnMhIFlvdSBoYXZlIGRlY29kZWQgYSBiZWFyZXIgdG9rZW4gbWVhbnQgZm9yIGRlbW9uc3RyYXRpb24gcHVycG9zZXMuIFdlIGF0IFNUQUNLSVQgZW1waGFzaXplIHNlY3VyaXR5IGFuZCBkYXRhIGludGVncml0eS4gUGxlYXNlIHVzZSB5b3VyIG93biBhY2Nlc3MgdG9rZW4gZm9yIHlvdXIgcmVzb3VyY2VzLiJ9.LPOHfT45JNOpTSh_q6x4pDRVK052QwUwSFU9tLPB6gGrYjf4dTKjWJ-2aRdd2LlWsxO5y0it89VsZpbzVRvI5Q' \
--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"
}
}'
Terminal-Fenster
curl -X POST \
'https://telemetry-router.api.stackit.cloud/v1beta/projects/16dbfb51-7a75-42d3-a51d-99f87f48cd32/regions/eu01/telemetry-routers/d5b5cdcc-c155-4d66-82ef-4289db8e4557/destinations)' \
--header 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzI1NiIsImtpZCI6ImE1NTZmYWI0MWY2YzQ1MGY3ZDU5YzRmNGVkNWI0NmMxIn0.eyJub3RpY2UiOiJDb25ncmF0dWxhdGlvbnMhIFlvdSBoYXZlIGRlY29kZWQgYSBiZWFyZXIgdG9rZW4gbWVhbnQgZm9yIGRlbW9uc3RyYXRpb24gcHVycG9zZXMuIFdlIGF0IFNUQUNLSVQgZW1waGFzaXplIHNlY3VyaXR5IGFuZCBkYXRhIGludGVncml0eS4gUGxlYXNlIHVzZSB5b3VyIG93biBhY2Nlc3MgdG9rZW4gZm9yIHlvdXIgcmVzb3VyY2VzLiJ9.LPOHfT45JNOpTSh_q6x4pDRVK052QwUwSFU9tLPB6gGrYjf4dTKjWJ-2aRdd2LlWsxO5y0it89VsZpbzVRvI5Q' \
--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"
}
}'
Terminal-Fenster
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'
Terminal-Fenster
curl -X GET \
'https://telemetry-router.api.stackit.cloud/v1beta/projects/16dbfb51-7a75-42d3-a51d-99f87f48cd32/regions/eu01/telemetry-routers/d5b5cdcc-c155-4d66-82ef-4289db8e4557/destinations' \
--header 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzI1NiIsImtpZCI6ImE1NTZmYWI0MWY2YzQ1MGY3ZDU5YzRmNGVkNWI0NmMxIn0.eyJub3RpY2UiOiJDb25ncmF0dWxhdGlvbnMhIFlvdSBoYXZlIGRlY29kZWQgYSBiZWFyZXIgdG9rZW4gbWVhbnQgZm9yIGRlbW9uc3RyYXRpb24gcHVycG9zZXMuIFdlIGF0IFNUQUNLSVQgZW1waGFzaXplIHNlY3VyaXR5IGFuZCBkYXRhIGludGVncml0eS4gUGxlYXNlIHVzZSB5b3VyIG93biBhY2Nlc3MgdG9rZW4gZm9yIHlvdXIgcmVzb3VyY2VzLiJ9.LPOHfT45JNOpTSh_q6x4pDRVK052QwUwSFU9tLPB6gGrYjf4dTKjWJ-2aRdd2LlWsxO5y0it89VsZpbzVRvI5Q' \
--header 'Content-Type: application/json'
Terminal-Fenster
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'
Terminal-Fenster
curl -X GET \
'https://telemetry-router.api.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 eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzI1NiIsImtpZCI6ImE1NTZmYWI0MWY2YzQ1MGY3ZDU5YzRmNGVkNWI0NmMxIn0.eyJub3RpY2UiOiJDb25ncmF0dWxhdGlvbnMhIFlvdSBoYXZlIGRlY29kZWQgYSBiZWFyZXIgdG9rZW4gbWVhbnQgZm9yIGRlbW9uc3RyYXRpb24gcHVycG9zZXMuIFdlIGF0IFNUQUNLSVQgZW1waGFzaXplIHNlY3VyaXR5IGFuZCBkYXRhIGludGVncml0eS4gUGxlYXNlIHVzZSB5b3VyIG93biBhY2Nlc3MgdG9rZW4gZm9yIHlvdXIgcmVzb3VyY2VzLiJ9.LPOHfT45JNOpTSh_q6x4pDRVK052QwUwSFU9tLPB6gGrYjf4dTKjWJ-2aRdd2LlWsxO5y0it89VsZpbzVRvI5Q' \
--header 'Content-Type: application/json'
Terminal-Fenster
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]
}'

Beispiel für die Bearbeitung eines Ziels zu einem S3-kompatiblen Speicher für eine bestehende Telemetry Router-Instanz

Abschnitt betitelt „Beispiel für die Bearbeitung eines Ziels zu einem S3-kompatiblen Speicher für eine bestehende Telemetry Router-Instanz“
Terminal-Fenster
curl -X PUT \
'https://telemetry-router.api.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 eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzI1NiIsImtpZCI6ImE1NTZmYWI0MWY2YzQ1MGY3ZDU5YzRmNGVkNWI0NmMxIn0.eyJub3RpY2UiOiJDb25ncmF0dWxhdGlvbnMhIFlvdSBoYXZlIGRlY29kZWQgYSBiZWFyZXIgdG9rZW4gbWVhbnQgZm9yIGRlbW9uc3RyYXRpb24gcHVycG9zZXMuIFdlIGF0IFNUQUNLSVQgZW1waGFzaXplIHNlY3VyaXR5IGFuZCBkYXRhIGludGVncml0eS4gUGxlYXNlIHVzZSB5b3VyIG93biBhY2Nlc3MgdG9rZW4gZm9yIHlvdXIgcmVzb3VyY2VzLiJ9.LPOHfT45JNOpTSh_q6x4pDRVK052QwUwSFU9tLPB6gGrYjf4dTKjWJ-2aRdd2LlWsxO5y0it89VsZpbzVRvI5Q' \
--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"
}
}'

Beispiel für die Bearbeitung eines Ziels zu einem OpenTelemetry-Speicher für eine bestehende Telemetry Router-Instanz

Abschnitt betitelt „Beispiel für die Bearbeitung eines Ziels zu einem OpenTelemetry-Speicher für eine bestehende Telemetry Router-Instanz“
Terminal-Fenster
curl -X PUT \
'https://telemetry-router.api.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 eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzI1NiIsImtpZCI6ImE1NTZmYWI0MWY2YzQ1MGY3ZDU5YzRmNGVkNWI0NmMxIn0.eyJub3RpY2UiOiJDb25ncmF0dWxhdGlvbnMhIFlvdSBoYXZlIGRlY29kZWQgYSBiZWFyZXIgdG9rZW4gbWVhbnQgZm9yIGRlbW9uc3RyYXRpb24gcHVycG9zZXMuIFdlIGF0IFNUQUNLSVQgZW1waGFzaXplIHNlY3VyaXR5IGFuZCBkYXRhIGludGVncml0eS4gUGxlYXNlIHVzZSB5b3VyIG93biBhY2Nlc3MgdG9rZW4gZm9yIHlvdXIgcmVzb3VyY2VzLiJ9.LPOHfT45JNOpTSh_q6x4pDRVK052QwUwSFU9tLPB6gGrYjf4dTKjWJ-2aRdd2LlWsxO5y0it89VsZpbzVRvI5Q' \
--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"
}
}'

Um eine Telemetry Router-Instanz zu löschen, müssen Sie den DELETE-Endpunkt aufrufen.

Terminal-Fenster
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' \

Beispiel:

Terminal-Fenster
curl -X DELETE \
'https://telemetry-router.api.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 eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzI1NiIsImtpZCI6ImE1NTZmYWI0MWY2YzQ1MGY3ZDU5YzRmNGVkNWI0NmMxIn0.eyJub3RpY2UiOiJDb25ncmF0dWxhdGlvbnMhIFlvdSBoYXZlIGRlY29kZWQgYSBiZWFyZXIgdG9rZW4gbWVhbnQgZm9yIGRlbW9uc3RyYXRpb24gcHVycG9zZXMuIFdlIGF0IFNUQUNLSVQgZW1waGFzaXplIHNlY3VyaXR5IGFuZCBkYXRhIGludGVncml0eS4gUGxlYXNlIHVzZSB5b3VyIG93biBhY2Nlc3MgdG9rZW4gZm9yIHlvdXIgcmVzb3VyY2VzLiJ9.LPOHfT45JNOpTSh_q6x4pDRVK052QwUwSFU9tLPB6gGrYjf4dTKjWJ-2aRdd2LlWsxO5y0it89VsZpbzVRvI5Q' \
--header 'Content-Type: application/json' \

Im folgenden ein paar Beispiele, welche bearbeitet und angewendet werden können.

Logs können mit Matchers auf basis der angegebenen Attribute erlaubt werden.

Terminal-Fenster
curl --location 'https://telemetry-router.api.stackit.cloud/v1beta/projects/[projectId]/regions/[regionId]/telemetry-routers/[telemetryRouterId]/destinations' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer [accessToken]' \
--data '{
"name": "secrets-manager-destination",
"description": "Forwards only logs originating from the secrets-manager service",
"type": "OTLP",
"config": {
"configType": "OpenTelemetry",
"filter": {
"attributes": [
{
"key": "service.name",
"level": "logRecord",
"matcher": "=",
"values": [
"secrets-manager"
]
}
]
},
"uri": "https://my-opentelemetry-destination.logs.eu01.onstackit.cloud/otlp/v1/logs",
"bearerToken": "eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzI1NiIsImtpZCI6ImE1NTZmYWI0MWY2YzQ1MGY3ZDU5YzRmNGVkNWI0NmMxIn0.eyJub3RpY2UiOiJDb25ncmF0dWxhdGlvbnMhIFlvdSBoYXZlIGRlY29kZWQgYSBiZWFyZXIgdG9rZW4gbWVhbnQgZm9yIGRlbW9uc3RyYXRpb24gcHVycG9zZXMuIFdlIGF0IFNUQUNLSVQgZW1waGFzaXplIHNlY3VyaXR5IGFuZCBkYXRhIGludGVncml0eS4gUGxlYXNlIHVzZSB5b3VyIG93biBhY2Nlc3MgdG9rZW4gZm9yIHlvdXIgcmVzb3VyY2VzLiJ9.LPOHfT45JNOpTSh_q6x4pDRVK052QwUwSFU9tLPB6gGrYjf4dTKjWJ-2aRdd2LlWsxO5y0it89VsZpbzVRvI5Q"
}
}'

Logs können mit Filtern auf basis der angegebenen Attribute gefiltert werden.

Terminal-Fenster
curl --location 'https://telemetry-router.api.stackit.cloud/v1beta/projects/[projectId]/regions/[regionId]/telemetry-routers/[telemetryRouterId]/destinations' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer [accessToken]' \
--data '{
"name": "secrets-manager-destination",
"description": "Forwards only logs originating from the secrets-manager service",
"type": "OTLP",
"config": {
"configType": "OpenTelemetry",
"filter": {
"attributes": [
{
"key": "service.name",
"level": "logRecord",
"matcher": "!=",
"values": [
"secrets-manager"
]
}
]
},
"uri": "https://my-opentelemetry-destination.logs.eu01.onstackit.cloud/otlp/v1/logs",
"bearerToken": "eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzI1NiIsImtpZCI6ImE1NTZmYWI0MWY2YzQ1MGY3ZDU5YzRmNGVkNWI0NmMxIn0.eyJub3RpY2UiOiJDb25ncmF0dWxhdGlvbnMhIFlvdSBoYXZlIGRlY29kZWQgYSBiZWFyZXIgdG9rZW4gbWVhbnQgZm9yIGRlbW9uc3RyYXRpb24gcHVycG9zZXMuIFdlIGF0IFNUQUNLSVQgZW1waGFzaXplIHNlY3VyaXR5IGFuZCBkYXRhIGludGVncml0eS4gUGxlYXNlIHVzZSB5b3VyIG93biBhY2Nlc3MgdG9rZW4gZm9yIHlvdXIgcmVzb3VyY2VzLiJ9.LPOHfT45JNOpTSh_q6x4pDRVK052QwUwSFU9tLPB6gGrYjf4dTKjWJ-2aRdd2LlWsxO5y0it89VsZpbzVRvI5Q"
}
}'