Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Este guia de configuração mostra como configurar o Azure Container Apps para encaminhar registos, rastreios e métricas para o Elastic, utilizando o agente OpenTelemetry gerido.
Para mais informações sobre o agente OpenTelemetry gerido, consulte OpenTelemetry agents em Azure Container Apps.
Neste guia, você aprenderá a:
- Crie um token de ingestão do Elastic.
- Configure um destino OTLP elástico usando o Bicep ou o portal Azure.
- Configure as variáveis necessárias do ambiente da aplicação.
- Aplique atualizações de configuração ao seu ambiente e aplicação Container Apps existentes.
- Verifique a telemetria no Elastic.
Pré-requisitos
- Uma assinatura do Azure
- Uma conta Elastic e uma implementação ou projeto alvo que aceita a ingestão OTLP.
- CLI do Azure instalado e iniciado sessão na sua conta Azure.
- Extensão da CLI do Azure Container Apps instalada (para o Bicep).
az extension add --name containerapp --upgrade
Crie um token de ingestão elástica
Crie uma chave Elastic API que possa ingerir dados OpenTelemetry para a sua implementação alvo.
As permissões necessárias devem permitir a escrita de dados de telemetria para estes sinais:
- Registos de ingestão/escrita
- Ingestão de vestígios/escrita
- Ingestão/escrita de métricas
Para orientação do fornecedor sobre permissões de tokens e chaves API, consulte Chaves Elastic API.
Configurar os destinos do OpenTelemetry
Use uma das seguintes opções para configurar o Elastic como endpoint OTel no seu ambiente de Aplicações de Container.
Importante
Configurar um destino OpenTelemetry gerido não produz automaticamente telemetria. A sua aplicação deve já estar instrumentada para emitir traços, métricas e logs usando um SDK OpenTelemetry.
Defina variáveis CLI para implementação:
$RESOURCE_GROUP = "<RESOURCE_GROUP_NAME>"
$ELASTIC_OTLP_ENDPOINT = "https://<YOUR_ELASTIC_ENDPOINT>:443"
$ELASTIC_API_KEY = "<ELASTIC_API_KEY_WITHOUT_PREFIX>"
Use o formato base de endpoint Elastic OTLP:
https://<YOUR_ELASTIC_ENDPOINT>:443
Use o formato do cabeçalho do token de autorização:
- Chave do cabeçalho:
Authorization - Valor do cabeçalho:
ApiKey <TOKEN>
Use este exemplo de recurso de ambiente gerido para configurar o encaminhamento de destino:
@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
]
}
}
}
}
Use este exemplo de recurso da aplicação para definir as variáveis necessárias do ambiente da aplicação:
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'
}
]
}
]
}
}
}
Aplique a sua configuração Bicep a partir da raiz do repositório:
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"
A sua aplicação Container está agora configurada para enviar telemetria para a Elastic.
Verificar a telemetria no Elastic
Após a configuração, verifique se os logs, traços e métricas provenientes da sua aplicação correspondem à identidade de serviço esperada.
Usa as vistas Elastic que se adaptam ao teu fluxo de trabalho.
Para mais informações sobre exploração e análise em Elastic, consulte a documentação de Observabilidade Elástica.