Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este guia de configuração mostra como configurar Aplicativos de Contêiner do Azure para encaminhar logs, rastreamentos e métricas para o Elastic usando o agente OpenTelemetry gerenciado.
Para obter mais informações sobre o agente OpenTelemetry gerenciado, consulte OpenTelemetry agents in Aplicativos de Contêiner do Azure.
Neste guia, você aprenderá a:
- Crie um token de ingestão do Elastic.
- Configure um destino OTLP Elástico usando Bicep ou o portal do Azure.
- Configure as variáveis de ambiente de aplicativo necessárias.
- Aplique atualizações de configuração ao seu ambiente e aplicativo de Aplicativos de Contêiner existentes.
- Confira a telemetria no Elastic.
Pré-requisitos
- Uma assinatura de Azure
- Uma conta do Elástico e uma implantação ou projeto de destino que aceite ingestão via OTLP.
- CLI do Azure instalado e conectado à sua conta Azure.
- Extensão da CLI do Aplicativos de Contêiner do Azure instalada (para Bicep).
az extension add --name containerapp --upgrade
Criar um token de ingestão do Elastic
Crie uma chave de API da Elastic que possa ingerir dados do OpenTelemetry para sua implantação de destino.
As permissões necessárias devem permitir a gravação de dados de telemetria para esses sinais:
- Ingestão/gravação de logs
- Ingestão/gravação de rastros
- Ingestão/gravação de métricas
Para obter orientações do provedor sobre permissões de token e chaves de API, consulte chaves de API do Elastic.
Configurar destinos OpenTelemetry
Use uma das opções a seguir para configurar o Elastic como um endpoint OTel no seu ambiente do Container Apps.
Importante
Configurar um destino OpenTelemetry gerenciado não produz telemetria automaticamente. Seu aplicativo já deve ser instrumentado para emitir rastreamentos, métricas e logs usando um SDK do OpenTelemetry.
Defina variáveis da CLI para implantaçã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 de endpoint base do Elastic OTLP:
https://<YOUR_ELASTIC_ENDPOINT>:443
Use o formato de cabeçalho do token de autorização:
- Chave de cabeçalho:
Authorization - Valor do cabeçalho:
ApiKey <TOKEN>
Use este exemplo de recurso de ambiente gerenciado para configurar o roteamento 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 de aplicativo para definir variáveis de ambiente de aplicativo necessárias:
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 sua configuração do 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"
Seu Aplicativo de Contêiner agora está configurado para enviar telemetria para o Elastic.
Verifique a telemetria no Elastic
Após a configuração, verifique se os logs, rastreamentos e métricas são recebidos do seu aplicativo e correspondem à identidade de serviço esperada.
Use as exibições elásticas que se ajustam ao fluxo de trabalho.
Para obter mais informações sobre exploração e análise no Elastic, consulte a documentação de Observabilidade Elástica.