Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Den här konfigurationsguiden visar hur du konfigurerar Azure Container Apps att vidarebefordra loggar, spårningar och mått till Elastic med hjälp av den hanterade OpenTelemetry-agenten.
Mer information om den hanterade OpenTelemetry-agenten finns i OpenTelemetry-agenter i Azure Container Apps.
I den här guiden lär du dig att:
- Skapa en Elastic-inmatningstoken.
- Konfigurera ett Elastiskt OTLP-mål med hjälp av Bicep eller Azure-portalen.
- Konfigurera nödvändiga appmiljövariabler.
- Tillämpa konfigurationsuppdateringar på din befintliga Container Apps-miljö och -app.
- Kontrollera telemetri i Elastic.
Förutsättningar
- En prenumeration på Azure
- Ett elastiskt konto och måldistribution eller projekt som accepterar OTLP-inmatning.
- Azure CLI installerat och loggat in på ditt Azure-konto.
- Azure Container Apps CLI-tillägget installerat (för Bicep).
az extension add --name containerapp --upgrade
Skapa en Elastic-inmatningstoken
Skapa en elastisk API-nyckel som kan mata in OpenTelemetry-data för måldistributionen.
De behörigheter som krävs bör tillåta att telemetridata skrivs för dessa signaler:
- Inmatning/skrivning av loggar
- Spårningar för inmatning/skrivning
- Insamling/skrivning av mätvärden
Vägledning om tokenbehörigheter och API-nycklar finns i Elastiska API-nycklar.
Konfigurera OpenTelemetry-mål
Använd något av följande alternativ för att konfigurera Elastic som en OTel-slutpunkt i containerappmiljön.
Important
När du konfigurerar ett hanterat OpenTelemetry-mål genereras inte telemetri automatiskt. Programmet måste redan vara instrumenterat för att generera spårningar, mått och loggar med hjälp av en OpenTelemetry SDK.
Ange CLI-variabler för distribution:
$RESOURCE_GROUP = "<RESOURCE_GROUP_NAME>"
$ELASTIC_OTLP_ENDPOINT = "https://<YOUR_ELASTIC_ENDPOINT>:443"
$ELASTIC_API_KEY = "<ELASTIC_API_KEY_WITHOUT_PREFIX>"
Använd det elastiska OTLP-basslutpunktsformatet:
https://<YOUR_ELASTIC_ENDPOINT>:443
Använd rubrikformatet för auktoriseringstoken:
- Rubriknyckel:
Authorization - Rubrikvärde:
ApiKey <TOKEN>
Använd det här resursexemplet för hanterad miljö för att konfigurera målroutning:
@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
]
}
}
}
}
Använd det här appresursexemplet för att ange nödvändiga appmiljövariabler:
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'
}
]
}
]
}
}
}
Använd din Bicep-konfiguration från rotkatalogen i lagringsplatsen:
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"
Containerappen är nu konfigurerad för att skicka telemetri till Elastic.
Kontrollera telemetri i Elastic
Efter konfigurationen kontrollerar du att loggar, spårningar och mått kommer från ditt program och mappar till den förväntade tjänstidentiteten.
Använd de elastiska vyer som passar ditt arbetsflöde.
Mer information om utforskning och analys i Elastic finns i dokumentationen om elastisk observerbarhet.