Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Deze configuratiehandleiding laat zien hoe u Azure Container Apps configureert voor het doorsturen van logboeken, traceringen en metrische gegevens naar Elastic met behulp van de beheerde OpenTelemetry-agent.
Zie OpenTelemetry-agents in Azure Container Apps voor meer informatie over de beheerde OpenTelemetry-agent.
In deze handleiding leert u het volgende:
- Maak een Elastic ingest-token.
- Configureer een Elastisch OTLP-doel met behulp van Bicep of de Azure-portal.
- Configureer vereiste omgevingsvariabelen voor apps.
- Pas configuratie-updates toe op uw bestaande Container Apps-omgeving en -app.
- Controleer telemetrie in Elastic.
Prerequisites
- Een Azure-abonnement
- Een Elastic-account en een doeldeployment of doelproject dat OTLP-inname accepteert.
- Azure CLI geïnstalleerd en aangemeld bij uw Azure-account.
- Azure Container Apps CLI-extensie geïnstalleerd (voor Bicep).
az extension add --name containerapp --upgrade
Een Elastic-invoertoken maken
Maak een elastische API-sleutel die OpenTelemetry-gegevens kan opnemen voor uw doelimplementatie.
De vereiste machtigingen moeten het schrijven van telemetriegegevens voor deze signalen toestaan:
- Logboeken opnemen/schrijven
- Traceringen opnemen/schrijven
- Metrische gegevens opnemen/schrijven
Zie Elastic API-sleutels voor richtlijnen voor providers voor tokenmachtigingen en API-sleutels.
OpenTelemetry-bestemmingen configureren
Gebruik een van de volgende opties om Elastic te configureren als een OTel-eindpunt in uw Container Apps-omgeving.
Important
Het configureren van een beheerde OpenTelemetry-bestemming produceert niet automatisch telemetrie. Uw toepassing moet al zijn geïnstrueerd om traceringen, metrische gegevens en logboeken te verzenden met behulp van een OpenTelemetry SDK.
CLI-variabelen instellen voor implementatie:
$RESOURCE_GROUP = "<RESOURCE_GROUP_NAME>"
$ELASTIC_OTLP_ENDPOINT = "https://<YOUR_ELASTIC_ENDPOINT>:443"
$ELASTIC_API_KEY = "<ELASTIC_API_KEY_WITHOUT_PREFIX>"
Gebruik de elastic OTLP-basiseindpuntindeling:
https://<YOUR_ELASTIC_ENDPOINT>:443
Gebruik de headerindeling van het autorisatietoken:
- Headersleutel:
Authorization - Kopwaarde:
ApiKey <TOKEN>
Gebruik dit voorbeeld van een beheerde omgevingsresource om doelroutering te configureren:
@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
]
}
}
}
}
Gebruik dit voorbeeld van een app-resource om vereiste omgevingsvariabelen voor apps in te stellen:
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'
}
]
}
]
}
}
}
Pas uw Bicep-configuratie toe vanuit de hoofdmap van de repository:
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"
Uw container-app is nu geconfigureerd voor het verzenden van telemetrie naar Elastic.
Telemetrie controleren in Elastic
Controleer na de configuratie of logboeken, traceringen en metrische gegevens afkomstig zijn van uw toepassing en wijs deze toe aan de verwachte service-identiteit.
Gebruik de elastische weergaven die passen bij uw werkstroom.
Zie de documentatie voor Elastic Waarneembaarheid voor meer informatie over verkennen en analyseren in Elastic.