Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym przewodniku konfiguracji pokazano, jak skonfigurować Azure Container Apps do przekazywania dzienników, śladów i metryk do usługi Elastic przy użyciu zarządzanego agenta OpenTelemetry.
Aby uzyskać więcej informacji na temat zarządzanego agenta OpenTelemetry, zobacz temat Agenci OpenTelemetry w usłudze Azure Container Apps.
Z tego przewodnika dowiesz się, jak wykonywać następujące działania:
- Utwórz token pozyskiwania danych Elastic.
- Skonfiguruj miejsce docelowe Elastic OTLP za pomocą narzędzia Bicep lub portalu Azure.
- Skonfiguruj wymagane zmienne środowiskowe aplikacji.
- Zastosuj aktualizacje konfiguracji do istniejącego środowiska i aplikacji usługi Container Apps.
- Sprawdź telemetrię w Elastic.
Wymagania wstępne
- Subskrypcja platformy Azure
- Konto Elastic oraz docelowe wdrożenie lub projekt, które przyjmuje dane przez OTLP.
- Azure CLI zainstalowane i zalogowane na koncie Azure.
- Zainstalowano rozszerzenie interfejsu wiersza polecenia Azure Container Apps (dla Bicep).
az extension add --name containerapp --upgrade
Tworzenie elastycznego tokenu pozyskiwania
Utwórz klucz API Elastic, który umożliwia pozyskiwanie danych OpenTelemetry dla docelowego wdrożenia.
Wymagane uprawnienia powinny zezwalać na zapisywanie danych telemetrycznych dla tych sygnałów:
- Przyjmowanie/zapisywanie dzienników
- Ślady przyjmowania/zapisu
- Pozyskiwanie/zapisywanie metryk
Aby uzyskać wskazówki dotyczące uprawnień tokenu i kluczy interfejsu API, zobacz Elastic API keys (Klucze elastycznego interfejsu API).
Konfigurowanie miejsc docelowych OpenTelemetry
Użyj jednej z poniższych opcji, aby skonfigurować Elastic jako punkt końcowy OTel w środowisku usługi Container Apps.
Ważna
Skonfigurowanie zarządzanego miejsca docelowego OpenTelemetry nie powoduje automatycznego generowania danych telemetrycznych. Aplikacja musi być już wyposażona w instrumentację, aby emitować ślady, metryki i dzienniki przy użyciu pakietu SDK OpenTelemetry.
Ustaw zmienne interfejsu wiersza polecenia dla wdrożenia:
$RESOURCE_GROUP = "<RESOURCE_GROUP_NAME>"
$ELASTIC_OTLP_ENDPOINT = "https://<YOUR_ELASTIC_ENDPOINT>:443"
$ELASTIC_API_KEY = "<ELASTIC_API_KEY_WITHOUT_PREFIX>"
Użyj formatu podstawowego punktu końcowego Elastic OTLP:
https://<YOUR_ELASTIC_ENDPOINT>:443
Użyj formatu nagłówka tokenu autoryzacji:
- Klucz nagłówka:
Authorization - Wartość nagłówka:
ApiKey <TOKEN>
Użyj tego przykładowego zasobu środowiska zarządzanego, aby skonfigurować routing docelowy:
@secure()
param elasticApiKey string
param elasticOtlpEndpoint string = 'https://<YOUR_ELASTIC_ENDPOINT>:443'
var elasticDestinationName = 'elastic-otlp'
var elasticAuthHeaderValue = 'ApiKey ${elasticApiKey}'
resource environment 'Microsoft.App/managedEnvironments@2026-03-02-preview' = {
name: '<MANAGED_ENVIRONMENT_NAME>'
location: '<REGION>'
properties: {
openTelemetryConfiguration: {
destinationsConfiguration: {
otlpConfigurations: [
{
name: elasticDestinationName
endpoint: elasticOtlpEndpoint
protocol: 'http'
insecure: false
headers: [
{
key: 'Authorization'
value: elasticAuthHeaderValue
}
]
}
]
}
tracesConfiguration: {
destinations: [
elasticDestinationName
]
}
logsConfiguration: {
destinations: [
elasticDestinationName
]
}
metricsConfiguration: {
destinations: [
elasticDestinationName
]
}
}
}
}
Użyj tego przykładu zasobu aplikacji, aby ustawić wymagane zmienne środowiskowe aplikacji:
resource app 'Microsoft.App/containerApps@2023-05-01' = {
name: '<CONTAINER_APP_NAME>'
location: '<REGION>'
properties: {
managedEnvironmentId: environment.id
template: {
containers: [
{
name: '<CONTAINER_NAME>'
image: '<IMAGE_NAME>'
env: [
{
name: 'OTEL_SERVICE_NAME'
value: '<SERVICE_NAME>'
}
{
name: 'OTEL_TRACES_EXPORTER'
value: 'otlp'
}
{
name: 'OTEL_METRICS_EXPORTER'
value: 'otlp'
}
{
name: 'OTEL_LOGS_EXPORTER'
value: 'otlp'
}
{
name: 'OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE'
value: 'cumulative'
}
]
}
]
}
}
}
Zastosuj konfigurację Bicep z katalogu głównego repozytorium:
az deployment group create `
--resource-group $RESOURCE_GROUP `
--template-file infra/main.bicep `
--parameters @infra/main.parameters.json `
--parameters elasticOtlpEndpoint="$ELASTIC_OTLP_ENDPOINT" `
--parameters elasticApiKey="$ELASTIC_API_KEY"
Aplikacja kontenera jest teraz skonfigurowana do wysyłania danych telemetrycznych do usługi Elastic.
Sprawdź telemetrię w Elastic
Po skonfigurowaniu sprawdź, czy dzienniki, ślady i metryki napływają z Twojej aplikacji i są przypisywane do oczekiwanej tożsamości usługi.
Użyj widoków elastycznych pasujących do przepływu pracy.
Aby uzyskać więcej informacji na temat eksploracji i analizy w Elastic, zobacz dokumentację Elastic Observability.