Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
In deze handleiding leert u hoe u een OpenTelemetry-collector als sidecar-container toevoegt aan een aangepaste Linux-container-app in Azure App Service.
Met Sidecar-containers in App Service kunt u extra services en functies implementeren in uw Linux-apps zonder deze nauw te koppelen aan de ingebouwde of aangepaste hoofdcontainer. De sidecar-containers worden uitgevoerd naast de hoofdtoepassingscontainer in hetzelfde App Service-plan.
U kunt maximaal negen sidecarcontainers toevoegen voor elke Linux-app in App Service. U kunt bijvoorbeeld bewakings-, logboekregistratie-, configuratie- en netwerkservices toevoegen als sidecarcontainers. Een sidecar van de OpenTelemetry-collector is een voorbeeld voor monitoring.
Zie zelfstudie: Een sidecarcontainer configureren voor een Linux-app in Azure-app Service voor bring-your-own-code.
Vereiste voorwaarden
-
Als u geen Azure-account hebt, maak dan een gratis account aan voordat u begint.
U kunt de opdrachten in deze zelfstudie uitvoeren met behulp van Azure Cloud Shell, een interactieve shell die u via uw browser gebruikt om te werken met Azure-services. Cloud Shell gebruiken:
Selecteer de volgende knop Cloud Shell starten of ga naar Cloud Shell openen https://shell.azure.com in uw browser.
Meld u indien nodig aan bij Azure en zorg ervoor dat u zich in de Bash-omgeving van Cloud Shell bevindt.
Selecteer Kopiëren in een codeblok, plak de code in Cloud Shell en voer deze uit.
De
azd
opdrachten in deze zelfstudie gebruiken de Azure Developer CLI, een opensource-hulpprogramma waarmee het inrichten en implementeren van app-resources in Azure wordt versneld.
1. Stel de handleidingbronnen in
Als u de voorbeeldopslagplaats wilt klonen en de resources voor deze zelfstudie wilt maken, voert u de volgende opdrachten uit in Cloud Shell. Wanneer u hierom wordt gevraagd, selecteert u het Azure-abonnement en de Azure-regio die u wilt gebruiken.
git clone https://github.com/Azure-Samples/app-service-sidecar-tutorial-prereqs
cd app-service-sidecar-tutorial-prereqs
azd env new my-sidecar-env
azd provision
De azd provision
opdracht maakt gebruik van de opgenomen sjablonen om een Azure-resourcegroep my-sidecar-env_group
te maken die de volgende Azure-resources bevat:
- Een containerregister met twee repositories met de volgende afbeeldingen:
- Een
nginx
afbeelding met de OpenTelemetry-module. - Een
otel-collector
OpenTelemetry-collector-image die geconfigureerd is om te exporteren naar Azure Monitor.
- Een
- Een Log Analytics-werkruimte .
- Een Application Insights-onderdeel .
- Een door de gebruiker toegewezen beheerde identiteit met de naam
id-my-sidecar-env_group
.
Wanneer de implementatie is voltooid, ziet u uitvoer die vergelijkbaar is met het volgende voorbeeld:
Success!
APPLICATIONINSIGHTS_CONNECTION_STRING = InstrumentationKey=aaaaaaaa-0b0b-1c1c-2d2d-333333333333;IngestionEndpoint=https://eastus2-3.in.applicationinsights.azure.com/;LiveEndpoint=https://eastus2.livediagnostics.monitor.azure.com/;ApplicationId=00001111-aaaa-2222-bbbb-3333cccc4444
Azure container registry name = acro2lc774l6vjgg
Managed identity resource ID = /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/my-sidecar-env_group/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id-my-sidecar-env_group
Managed identity client ID = 00aa00aa-bb11-cc22-dd33-44ee44ee44ee
Open resource group in the portal: https://portal.azure.com/#@/resource/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/my-sidecar-env_group
Kopieer en sla de waarde op voor APPLICATIONINSIGHTS_CONNECTION_STRING
gebruik verderop in deze zelfstudie.
Selecteer de koppeling om Open resource group in the portal
te openen en de geconfigureerde resourcegroep in de Azure-portal te bekijken.
2. Een sidecar-app maken
Maak in de resourcegroep in Azure Portal een aangepaste Linux-container-app met sidecar-ondersteuning en configureer de hoofdcontainer.
Selecteer Maken op de pagina van de resourcegroep in Azure Portal.
Zoek op de Marketplace-pagina naar een web-app, selecteer de pijl-omlaag naast Maken op de tegel Web-app en selecteer Web App.
Geef op het tabblad Basis van de pagina Web-app maken de volgende informatie op:
- Naam: Voer een unieke naam in voor de web-app.
- Publiceren: Container selecteren.
- Besturingssysteem: Selecteer Linux.
-
Regio: Selecteer dezelfde regio die u voor
azd provision
hebt gekozen. - Linux-plan: Selecteer het opgegeven (nieuwe) App Service-plan.
Laat de rest van de instellingen staan en selecteer het tabblad Container boven aan de pagina.
Geef op het tabblad Container de volgende informatie op:
- Sidecar-ondersteuning: ingesteld op Verbeterde configuratie met sidecar-ondersteuning ingeschakeld.
- Afbeeldingsbron: Selecteer Azure Container Registry.
- Naam: Controleer of de hoofdtekst wordt weergegeven.
-
Register: Selecteer het register dat is gemaakt door
azd provision
. - Verificatie: Beheerde identiteit selecteren.
-
Identiteit: Selecteer de beheerde identiteit die is gemaakt door
azd provision
. - Afbeelding: Voer nginx in.
- Tag: Voer de meest recente code in.
- Poort: Voer 80 in als dit nog niet is ingesteld.
Notitie
Deze instellingen worden anders geconfigureerd in sidecar-apps dan in apps die niet zijn ingeschakeld voor sidecars. Zie Wat zijn de verschillen voor aangepaste containers met sidecar-functionaliteit voor meer informatie.
Selecteer Beoordelen + maken en wanneer de validatie is geslaagd, selecteer Maken.
Zodra de implementatie is voltooid, selecteert u Ga naar de resource.
Open op de pagina van uw app de URL naast het standaarddomein,
https://<app-name>.azurewebsites.net
in een nieuw browsertabblad om de standaard nginx-pagina te zien.
3. Een sidecarcontainer toevoegen aan de app
Voeg een sidecar-container toe aan uw aangepaste Linux-container-app.
Selecteer implementatiecentrum onder Implementatie in het linkernavigatiemenu op de pagina van de app in Azure Portal. Op de pagina Implementatiecentrum worden alle containers in de app weergegeven, momenteel alleen de hoofdcontainer.
Selecteer Toevoegen>Aangepaste container.
Vul in het deelvenster Container toevoegen de volgende informatie in:
- Naam: Voer otel-collector in.
- Afbeeldingsbron: Selecteer Azure Container Registry.
-
Register: Selecteer het register dat is gemaakt door
azd provision
. - Authenticatie: Selecteer Beheerde Identiteit.
-
Identiteit: Selecteer onder Door de gebruiker toegewezen de beheerde identiteit die is gemaakt door
azd provision
. - Afbeelding: Voer otel-collector in.
- Afbeeldingstag: Voer de meest recente in.
- Poort: Voer 4317 in.
Selecteer Toepassen.
Er zijn nu twee containers in het implementatiecentrum met het label Main en Sidecar. Een app moet één hoofdcontainer hebben en kan meerdere sidecar-containers hebben.
4. Omgevingsvariabelen configureren
In het voorbeeldscenario is de sidecar geconfigureerd voor het otel-collector
exporteren van de OpenTelemetry-gegevens naar Azure Monitor met behulp van de verbindingsreeks als een omgevingsvariabele. Zie het OpenTelemetry-configuratiebestand voor de otel-collector-afbeelding voor meer informatie.
Configureer de omgevingsvariabele voor de container door app-instellingen voor de app te configureren. App-instellingen zijn toegankelijk voor alle containers in de app.
Selecteer op de pagina van de app in Azure Portal omgevingsvariabelen onder Instellingen in het linkernavigatiemenu.
Selecteer Toevoegen op het tabblad App-instellingen van de pagina Omgevingsvariabelen.
Voer in het deelvenster Toepassingsinstelling toevoegen/bewerken de volgende waarden in:
- Naam: APPLICATIONINSIGHTS_CONNECTION_STRING
-
Waarde: De waarde van
APPLICATIONINSIGHTS_CONNECTION_STRING
uit de uitvoer vanazd provision
. U kunt deze waarde ook vinden als verbindingsreeks op de overzichtspagina van de Application Insight-resource van de resourcegroep.
Selecteer Toepassen, selecteer Opnieuw toepassen en selecteer Bevestigen. De APPLICATIONINSIGHTS_CONNECTION_STRING app-instelling wordt nu weergegeven op het tabblad App-instellingen .
Notitie
Sommige app-instellingen zijn niet van toepassing op apps met sidecar-ondersteuning. Zie Wat zijn de verschillen voor aangepaste containers met sidecar-functionaliteit voor meer informatie.
5. Controleren in Application Insights
De otel-collector
sidecar moet nu gegevens exporteren naar Application Insights.
Ga naar uw app op een nieuw browsertabblad en vernieuw de pagina een paar keer om enkele webaanvragen te genereren.
Selecteer op de resourcegroep-pagina in Azure Portal de Application Insights-resource. U ziet nu enkele gegevens in de standaardgrafieken op de overzichtspagina van Application Insights.
Notitie
In dit algemene bewakingsscenario is Application Insights slechts een van de OpenTelemetry-doelen die u kunt gebruiken, zoals Jaeger, Prometheus en Zipkin.
6. De middelen opschonen
Wanneer u de omgeving die u voor deze zelfstudie hebt gemaakt niet meer nodig hebt, kunt u de resourcegroep verwijderen, waardoor de App Service en alle gerelateerde resources worden verwijderd. Voer de volgende opdracht uit in de gekloonde opslagplaats in Cloud Shell.
azd down