Oktatóanyag: Sidecar-tároló konfigurálása Linux-alkalmazásokhoz a Azure-alkalmazás Service-ben
Ebben az oktatóanyagban egy OpenTelemetry-gyűjtőt ad hozzá oldalkocsi-tárolóként egy Linux -alkalmazáshoz (saját kóddal) a Azure-alkalmazás Service-ben. Egyéni tárolók esetén lásd: Oktatóanyag: Oldalkocsis tároló konfigurálása egyéni tárolóhoz a Azure-alkalmazás Szolgáltatásban.
A Azure-alkalmazás Szolgáltatásban minden Linux-alkalmazáshoz legfeljebb kilenc oldalkocsis tárolót adhat hozzá. A Sidecar-tárolók segítségével további szolgáltatásokat és funkciókat helyezhet üzembe a Linux-alkalmazásokban anélkül, hogy szorosan összekapcsolja őket a fő (beépített) tárolóval. Hozzáadhat például monitorozási, naplózási, konfigurációs és hálózati szolgáltatásokat oldalkocsi-tárolókként. Az OpenTelemetry gyűjtő oldalkocsija egy ilyen monitorozási példa.
Az App Service-ben található oldaltárolóval kapcsolatos további információkért lásd:
- A Sidecars bemutatása a Linuxhoz készült Azure-alkalmazás szolgáltatáshoz: Mostantól általánosan elérhető
- A sidecar bővíthetőség általános elérhetőségének bejelentése Azure-alkalmazás Szolgáltatásban
Ha nem rendelkezik Azure-előfizetéssel, első lépésként hozzon létre egy ingyenes Azure-fiókot.
1. A szükséges erőforrások beállítása
Először hozza létre az oktatóanyag által használt erőforrásokat. Ezek az adott forgatókönyvhöz használatosak, és általában nem szükségesek az oldalkocsis tárolókhoz.
Az Azure Cloud Shellben futtassa az alábbi parancsokat. Ügyeljen arra, hogy a
<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 provision
Amikor a rendszer kéri, adja meg a választott előfizetést és régiót. Példa:
- Előfizetés: Az Ön előfizetése.
- Régió: (Európa) Nyugat-Európa.
Az üzembe helyezés befejezésekor a következő kimenetnek kell megjelennie:
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>
Másolja ezeket a kimeneti értékeket későbbre. Ezeket a portálon, a megfelelő erőforrások felügyeleti oldalain is megtalálhatja.
Feljegyzés
azd provision
a mellékelt sablonokkal hozza létre a következő Azure-erőforrásokat:- Egy erőforráscsoport a környezet neve alapján.
- Tárolóregisztrációs adatbázis két telepített lemezképpel:
- Felhasználó által hozzárendelt felügyelt identitás az
AcrPull
erőforráscsoport engedélyével (képek lekérése a beállításjegyzékből). - Log Analytics-munkaterület.
- Application Insights-összetevő.
2. Webalkalmazás létrehozása
Ebben a lépésben üzembe helyez egy sablont ASP.NET Core-alkalmazáshoz. Futtassa az alábbi parancsokat az Azure Cloud Shellben. Cserélje le <app-name>
egy egyedi alkalmazásnévre.
cd ~
dotnet new webapp -n MyFirstAzureWebApp --framework net8.0
cd MyFirstAzureWebApp
az webapp up --name <app-name> --os-type linux
Néhány perc múlva ez a .NET-webalkalmazás üzembe lesz helyezve MyFirstAzureWebApp.dll egy új App Service-alkalmazásba.
3. Oldalkocsis tároló hozzáadása
Ebben a szakaszban egy sidecar-tárolót ad hozzá a Linux-alkalmazáshoz.
Az Azure Portalon navigáljon az alkalmazás felügyeleti oldalára
Az alkalmazás felügyeleti lapján, a bal oldali menüben válassza az Üzembe helyezési központ lehetőséget.
Válassza ki azt a szalagcímet , amely tárolókat szeretne hozzáadni az alkalmazás mellett futtatáshoz? Kattintson ide, hogy kipróbálja.
Amikor a lap újra betöltődik, válassza a Tárolók (új) lapot.
Válassza az Új tároló hozzáadása és konfigurálása lehetőséget az alábbiak szerint:
- Név: otel-collector
- Kép forrása: Azure Container Registry
- Hitelesítés: Rendszergazdai hitelesítő adatok
-
Beállításjegyzék: A beállításjegyzék által létrehozott beállításjegyzék
azd provision
- Kép: otel-collector
- Címke: legújabb
Válassza az Alkalmazás lehetőséget.
4. Környezeti változók konfigurálása
A mintaforgatókönyv esetében az otel-collector oldalkocsi úgy van konfigurálva, hogy az OpenTelemetry-adatokat exportálja az Azure Monitorba, de környezeti változóként szüksége van a kapcsolati sztring (lásd az otel-collector rendszerkép OpenTelemetria konfigurációs fájlját).
Az alkalmazásbeállítások konfigurálásával konfigurálhatja a tárolók környezeti változóit, például bármely App Service-alkalmazást. Az alkalmazásbeállítások az alkalmazás összes tárolója számára elérhetők.
Lépjen az App Service-alkalmazás felügyeleti lapjára.
A bal oldali menüben válassza a Környezeti változók lehetőséget.
Alkalmazásbeállítás hozzáadásához válassza a Hozzáadás és konfigurálás lehetőséget az alábbiak szerint:
- Név: APPLICATIONINSIGHTS_CONNECTION_STRING
-
Érték: A kapcsolati sztring a kimenetben
azd provision
. Ha elvesztette a Cloud Shell-munkamenetet, azt az Application Insights-erőforrás Áttekintés lapján, a Kapcsolati sztring alatt is megtalálhatja.
Válassza az Alkalmaz, majd az Alkalmaz, majd a Megerősítés lehetőséget.
5. A rendszerállapot konfigurálása indításkor
Ebben a lépésben az OpenTelemetry .NET nullakódos rendszerállapotban ismertetett lépéseknek megfelelően hozza létre az alkalmazás rendszerállapotát.
A Cloud Shellben hozzon létre startup.sh a következő sorokkal.
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 EOF
Telepítse ezt a fájlt az alkalmazásba az alábbi Azure CLI-paranccsal. Ha továbbra is a ~/MyFirstAzureWebApp könyvtárban van, akkor nincs szükség más paraméterekre, mert
az webapp up
már beállította az erőforráscsoport és az alkalmazás nevét.az webapp deploy --src-path startup.sh --target-path /home/site/startup.sh --type static
Tipp.
Ez a módszer az alkalmazástól elkülönítve telepíti a startup.sh fájlt. Így a rendszerállapot-konfiguráció eltér az alkalmazáskódtól. Azonban más üzembehelyezési módszereket is használhat a szkript alkalmazással együtt történő üzembe helyezéséhez.
Az alkalmazás felügyeleti lapján, a bal oldali menüben válassza a Konfiguráció lehetőséget.
Állítsa be az indítási parancsot a /home/site/startup.sh értékre. Ez ugyanaz az elérési út, mint az előző lépésben.
Válassza a Mentés, majd a Folytatás lehetőséget.
5. Ellenőrzés az Application Insightsban
Az otel-collector oldalkocsinak most exportálnia kell az adatokat az Application Insightsba.
A böngészőlapra
https://<app-name>.azurewebsites.net
visszatérve frissítse a lapot néhányszor, és hozzon létre néhány webes kérést.Lépjen vissza az erőforráscsoport áttekintési oldalára, majd válassza ki a létrehozott Application Insights-erőforrást
azd up
. Most már látnia kell néhány adatot az alapértelmezett diagramokon.
Feljegyzés
Ebben a nagyon gyakori monitorozási forgatókönyvben az Application Insights csak egyike a használható OpenTelemetry-céloknak, például a Jaegernek, a Prometheusnak és a Zipkinnek.
6. Erőforrások tisztítása
Ha már nincs szüksége a környezetre, törölheti az erőforráscsoportokat és az összes kapcsolódó erőforrást. Csak futtassa ezeket a parancsokat a Cloud Shellben:
cd ~/MyFirstAzureWebApp
az group delete --yes
cd ~/app-service-sidecar-tutorial-prereqs
azd down
Gyakori kérdések
Hogyan kezelik a sidecar-tárolók a belső kommunikációt?
A sidecar tárolók ugyanazt a hálózati gazdagépet üzemeltetik, mint a fő tároló, így a fő tároló (és a többi oldalkocsi tároló) bármilyen portot elérhet az oldalkocsin localhost:<port>
. A példa startup.sh az otel-collector oldalkocsi 4318-ás portjának elérésére használjalocalhost:4318
.
A Tároló szerkesztése párbeszédpanelen az App Service jelenleg nem használja a Port mezőt. Használhatja az oldalkocsi metaadatainak részeként, például annak jelzésére, hogy az oldalkocsi melyik portot figyeli.
Hogyan más nyelvi vermet?
Hasonló megközelítést használhat más nyelvi veremekben használt eszközalkalmazásokhoz. További információt az OpenTelemetry dokumentációjában talál: