Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Tento průvodce konfigurací ukazuje, jak nakonfigurovat Azure Container Apps pro předávání protokolů, trasování a metrik do Elastic pomocí spravovaného agenta OpenTelemetry.
Další informace o spravovaném agentovi OpenTelemetry najdete v tématu AgentiOpenTelemetry v Azure Container Apps.
V této příručce se naučíte:
- Vytvořte token pro ingest v Elasticu.
- Nakonfigurujte cíl elastického OTLP pomocí Bicep nebo portálu Azure.
- Nakonfigurujte požadované proměnné prostředí aplikace.
- Použijte aktualizace konfigurace pro stávající prostředí a aplikaci Container Apps.
- Zkontrolujte telemetrii v Elastic.
Předpoklady
- Předplatné Azure
- Účet Elastic a cílové nasazení nebo projekt, které podporují příjem dat přes OTLP.
- Azure CLI nainstalovaný a přihlášený k vašemu účtu Azure.
- Nainstalované rozšíření rozhraní příkazového řádku pro Azure Container Apps (pro Bicep).
az extension add --name containerapp --upgrade
Vytvořit ingest token Elastic
Vytvořte klíč elastického rozhraní API, který může ingestovat data OpenTelemetry pro vaše cílové nasazení.
Požadovaná oprávnění by měla umožňovat zápis telemetrických dat pro tyto signály:
- Protokoly – příjem/zápis
- Trasování ingestování/zápisu
- Ingestování a zápis metrik
Pokyny k oprávněním zprostředkovatele a klíčům rozhraní API najdete v tématu Klíče elastického rozhraní API.
Konfigurace cílů OpenTelemetry
Pomocí jedné z následujících možností nakonfigurujte Elastic jako koncový bod OTel ve vašem prostředí Container Apps.
Important
Konfigurace spravovaného cíle OpenTelemetry automaticky nevede k vytváření telemetrie. Vaše aplikace už musí být instrumentována tak, aby pomocí sady OpenTelemetry SDK odesílala trasy, metriky a logy.
Nastavte proměnné rozhraní příkazového řádku pro nasazení:
$RESOURCE_GROUP = "<RESOURCE_GROUP_NAME>"
$ELASTIC_OTLP_ENDPOINT = "https://<YOUR_ELASTIC_ENDPOINT>:443"
$ELASTIC_API_KEY = "<ELASTIC_API_KEY_WITHOUT_PREFIX>"
Použijte formát základního koncového bodu Elastic OTLP:
https://<YOUR_ELASTIC_ENDPOINT>:443
Použijte formát hlavičky autorizačního tokenu:
- Klíč záhlaví:
Authorization - Hodnota záhlaví:
ApiKey <TOKEN>
Pomocí tohoto příkladu prostředku spravovaného prostředí nakonfigurujte cílové směrování:
@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
]
}
}
}
}
Pomocí tohoto příkladu prostředku aplikace můžete nastavit požadované proměnné prostředí aplikace:
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'
}
]
}
]
}
}
}
Použijte konfiguraci Bicep z kořenového adresáře úložiště:
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"
Vaše aplikace kontejneru je teď nakonfigurovaná tak, aby odesílala telemetrická data do Elastic.
Kontrola telemetrie v Elastic
Po konfiguraci zkontrolujte, že logy, trasy a metriky přicházejí z aplikace a odpovídají očekávané identitě služby.
Použijte elastická zobrazení, která odpovídají vašemu pracovnímu postupu.
Další informace o zkoumání a analýze v Elastic najdete v dokumentaci k elastické pozorovatelnosti.