Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questa guida di configurazione illustra come configurare App contenitore di Azure per inoltrare log, tracce e metriche a Elastic usando l'agente OpenTelemetry gestito.
Per altre informazioni sull'agente OpenTelemetry gestito, vedere OpenTelemetry agents in App contenitore di Azure.
In questa guida si apprenderà come:
- Creare un token di inserimento elastico.
- Configura una destinazione Elastic OTLP usando Bicep o il portale di Azure.
- Configurare le variabili di ambiente dell'app necessarie.
- Applica gli aggiornamenti di configurazione all'ambiente e all'app Container Apps esistenti.
- Controllare i dati di telemetria in Elastic.
Prerequisiti
- Una sottoscrizione di Azure
- Un account elastico e una disptribuzione o progetto di destinazione che accetta l'acquisizione OTLP.
- interfaccia della riga di comando di Azure installata e accesso effettuato al proprio account Azure.
- Estensione CLI di App contenitore di Azure installata (per Bicep).
az extension add --name containerapp --upgrade
Creare un token di acquisizione Elastic
Crea una chiave API di Elastic in grado di acquisire dati OpenTelemetry per la distribuzione di destinazione.
Le autorizzazioni necessarie devono consentire la scrittura dei dati di telemetria per questi segnali:
- Inserimento/scrittura dei log
- Acquisizione/scrittura di tracce
- Inserimento/scrittura di metriche
Per le indicazioni del provider sui permessi dei token e sulle chiavi API, vedi chiavi API di Elastic.
Configurare le destinazioni OpenTelemetry
Usare una delle opzioni seguenti per configurare Elastic come endpoint OTel nell'ambiente App contenitore.
Importante
La configurazione di una destinazione OpenTelemetry gestita non produce automaticamente dati di telemetria. L'applicazione deve essere già instrumentata per generare tracce, metriche e log usando OpenTelemetry SDK.
Imposta le variabili CLI per la distribuzione:
$RESOURCE_GROUP = "<RESOURCE_GROUP_NAME>"
$ELASTIC_OTLP_ENDPOINT = "https://<YOUR_ELASTIC_ENDPOINT>:443"
$ELASTIC_API_KEY = "<ELASTIC_API_KEY_WITHOUT_PREFIX>"
Usa il formato dell'endpoint base OTLP di Elastic:
https://<YOUR_ELASTIC_ENDPOINT>:443
Utilizzare il formato dell'header del token di autorizzazione:
- Chiave dell'intestazione:
Authorization - Valore dell'intestazione:
ApiKey <TOKEN>
Usare questo esempio di risorsa dell'ambiente gestito per configurare il routing di destinazione:
@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
]
}
}
}
}
Usare questo esempio di risorsa dell'app per impostare le variabili di ambiente dell'app necessarie:
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'
}
]
}
]
}
}
}
Applicate la configurazione Bicep a partire dalla radice del 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"
L'app contenitore è ora configurata per inviare dati di telemetria a Elastic.
Controllare i dati di telemetria in Elastic
Dopo la configurazione, verificare che i log, le tracce e le metriche provengano dall'applicazione e siano associati all'identità di servizio prevista.
Usare le visualizzazioni Elastic che soddisfano il flusso di lavoro.
Per altre informazioni sull'esplorazione e l'analisi in Elastic, vedere la documentazione sull'osservabilità elastica.