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.
V tomto kurzu přidáte kolektor OpenTelemetry jako kontejner sajdkáře do linuxové aplikace (přineste si vlastní kód) ve službě Aplikace Azure Service. Vlastní kontejnery najdete v tématu Kurz: Konfigurace kontejneru sajdkáře pro vlastní kontejner ve službě Aplikace Azure Service.
Pokud nemáte účet Azure, vytvořte si bezplatný účet před tím, než začnete.
Kontejnery sidecar ve službě App Service umožňují nasadit u linuxových aplikací další služby a funkce, aniž byste je úzce propojili s integrovaným nebo vlastním hlavním kontejnerem. Kontejnery sidecar běží vedle hlavního kontejneru aplikace ve stejném plánu služby App Service.
U každé linuxové aplikace ve službě App Service můžete přidat až devět podpůrných kontejnerů. Jako kontejnery sajdkáře můžete například přidat monitorování, protokolování, konfiguraci a síťové služby. Sajdkárna kolektoru OpenTelemetry je jedním z příkladů monitorování.
1. Nastavení potřebných prostředků
Nejprve vytvoříte prostředky, které kurz používá. Používají se pro tento konkrétní scénář a obecně se nevyžadují pro kontejnery sajdkáře.
V Azure Cloud Shellu spusťte následující příkazy. Nezapomeňte dodat
<environment-name>.git clone https://github.com/Azure-Samples/app-service-sidecar-tutorial-prereqs cd app-service-sidecar-tutorial-prereqs azd env new <environment-name> azd provisionPo zobrazení výzvy zadejte předplatné a oblast podle vašeho výběru. Příklad:
- Předplatné: Vaše předplatné.
- Oblast: (Evropa) Západní Evropa.
Po dokončení nasazení by se měl zobrazit následující výstup:
APPLICATIONINSIGHTS_CONNECTION_STRING = InstrumentationKey=...;IngestionEndpoint=...;LiveEndpoint=... Azure container registry name = <registry-name> Managed identity resource ID = <managed-identity-resource-id> Managed identity client ID = <managed-identity-client-id> Open resource group in the portal: https://portal.azure.com/#@/resource/subscriptions/<subscription-id>/resourceGroups/<group-name>
Zkopírujte tyto výstupní hodnoty pro pozdější použití. Najdete je také na portálu na stránkách pro správu příslušných prostředků.
Poznámka:
azd provisionpoužívá zahrnuté šablony k vytvoření následujících prostředků Azure:- Skupina prostředků založená na názvu prostředí.
- Registr kontejneru se dvěma nasazenými imagemi:
- Obrázek Nginx s modulem OpenTelemetry.
- Image kolektoru OpenTelemetry nakonfigurovaná pro export do služby Azure Monitor.
- Spravovaná identita přiřazená uživatelem s oprávněním
AcrPullke skupině prostředků (pro vyžádání imagí z registru) - Pracovní prostor služby Log Analytics
- Komponenta Application Insights .
2. Vytvoření webové aplikace
V tomto kroku nasadíte šablonu ASP.NET základní aplikaci. Zpátky v Azure Cloud Shellu spusťte následující příkazy. Nahraďte <app-name> jedinečným názvem aplikace.
cd ~
dotnet new webapp -n MyFirstAzureWebApp --framework net8.0
cd MyFirstAzureWebApp
az webapp up --name <app-name> --os-type linux
Po několika minutách se tato webová aplikace .NET nasadí jako MyFirstAzureWebApp.dll do nové aplikace App Service.
3. Přidání kontejneru sajdkáře
V této části přidáte do aplikace pro Linux kontejner sajdkáře.
Na webu Azure Portal přejděte na stránku pro správu aplikace.
Na stránce správy aplikace v nabídce vlevo vyberte Deployment Center.
Vyberte banner Zájem o přidání kontejnerů, které chcete spustit společně s vaší aplikací? Kliknutím sem ho můžete vyzkoušet.
Po opětovném načtení stránky vyberte kartu Kontejnery (nové).
Vyberte Přidat a nakonfigurujte nový kontejner následujícím způsobem:
- Název: otel-collector
- Zdroj image: Azure Container Registry
- Ověřování: Přihlašovací údaje správce
-
Registr: Registr vytvořený pomocí
azd provision - Obrázek: otel-collector
- Značka: nejnovější
Vyberte Použít.
4. Konfigurace proměnných prostředí
V ukázkovém scénáři je sajdkárna otel-collector nakonfigurovaná tak, aby exportovala data OpenTelemetry do služby Azure Monitor, ale potřebuje připojovací řetězec jako proměnnou prostředí (viz konfigurační soubor OpenTelemetry pro image kolektoru otel-collector).
Proměnné prostředí pro kontejnery konfigurujete tak, že nakonfigurujete nastavení aplikace. Nastavení aplikace jsou přístupná pro všechny kontejnery v aplikaci.
Přejděte na stránku správy aplikace App Service.
V nabídce vlevo vyberte Proměnné prostředí.
Přidejte nastavení aplikace tak , že vyberete Přidat a nakonfigurujete ho následujícím způsobem:
- Název: APPLICATIONINSIGHTS_CONNECTION_STRING
-
Hodnota: připojovací řetězec ve výstupu .
azd provisionPokud jste relaci Cloud Shellu ztratili, najdete ji také na stránce Přehled prostředku Application Insight v části Připojovací řetězec.
Vyberte Použít, pak Použít a pak Potvrdit.
5. Konfigurace instrumentace při spuštění
V tomto kroku vytvoříte instrumentaci pro vaši aplikaci podle kroků popsaných v instrumentaci openTelemetry .NET s nulovým kódem.
Zpátky v Cloud Shellu vytvořte startup.sh s následujícími řádky.
cat > startup.sh << 'EOF' #!/bin/bash # Download the bash script curl -sSfL https://github.com/open-telemetry/opentelemetry-dotnet-instrumentation/releases/latest/download/otel-dotnet-auto-install.sh -O # Install core files sh ./otel-dotnet-auto-install.sh # Enable execution for the instrumentation script chmod +x $HOME/.otel-dotnet-auto/instrument.sh # Setup the instrumentation for the current shell session . $HOME/.otel-dotnet-auto/instrument.sh export OTEL_SERVICE_NAME="MyFirstAzureWebApp-Azure" export OTEL_EXPORTER_OTLP_ENDPOINT="http://localhost:4318" export OTEL_TRACES_EXPORTER="otlp" export OTEL_METRICS_EXPORTER="otlp" export OTEL_LOGS_EXPORTER="otlp" # Run your application with instrumentation OTEL_SERVICE_NAME=myapp OTEL_RESOURCE_ATTRIBUTES=deployment.environment=staging,service.version=1.0.0 dotnet /home/site/wwwroot/MyFirstAzureWebApp.dll EOFTento soubor nasaďte do aplikace pomocí následujícího příkazu Azure CLI. Pokud jste stále v adresáři ~/MyFirstAzureWebApp , nejsou potřeba žádné další parametry, protože
az webapp upuž jsou nastavené výchozí hodnoty pro skupinu prostředků a název aplikace.az webapp deploy --src-path startup.sh --target-path /home/site/startup.sh --type staticNávod
Tento přístup nasadí soubor startup.sh odděleně od aplikace. Konfigurace instrumentace je tak oddělená od kódu aplikace. K nasazení skriptu společně s vaší aplikací ale můžete použít jiné metody nasazení.
Zpět na stránce správy aplikace v nabídce vlevo vyberte Konfigurace.
Nastavte spouštěcí příkaz na /home/site/startup.sh. Je to stejná cesta, na kterou jste nasadili v předchozím kroku.
Vyberte Uložit a pak Pokračovat.
5. Ověření v Application Insights
Sajdkárna otel-collector by teď měla exportovat data do Application Insights.
Zpátky na kartě
https://<app-name>.azurewebsites.netprohlížeče aktualizujte stránku několikrát, aby se vygenerovaly některé webové požadavky.Vraťte se na stránku přehledu skupiny prostředků a vyberte prostředek Application Insights, který
azd upse vytvořil. Ve výchozím grafu byste teď měli vidět nějaká data.
Poznámka:
V tomto velmi běžném scénáři monitorování je Application Insights jen jedním z cílů OpenTelemetry, které můžete použít, například Jaeger, Prometheus a Zipkin.
6. Vyčištění prostředků
Pokud už prostředí nepotřebujete, můžete odstranit skupiny prostředků a všechny související prostředky. Stačí spustit tyto příkazy v Cloud Shellu:
cd ~/MyFirstAzureWebApp
az group delete --yes
cd ~/app-service-sidecar-tutorial-prereqs
azd down