Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym samouczku pokazano, jak dodać kontener zbierający OpenTelemetry jako kontener boczny do niestandardowej aplikacji kontenerowej w systemie Linux w usłudze Azure App Service.
Kontenery boczne w usłudze App Service umożliwiają wdrażanie dodatkowych usług i funkcji w aplikacjach Linux bez ścisłego wiązania ich z wbudowanym lub niestandardowym głównym kontenerem. Kontenery boczne działają obok głównego kontenera aplikacji w tym samym planie usługi App Service.
Możesz dodać do dziewięciu kontenerów pomocniczych dla każdej aplikacji Linux w usłudze App Service. Można na przykład dodać monitorowanie, rejestrowanie, konfigurację i usługi sieciowe jako kontenery przyczepki. Przyczepka modułu zbierającego OpenTelemetry jest jednym z przykładów monitorowania.
Aby uzyskać dostęp do własnych aplikacji systemu Linux, zobacz Samouczek: konfigurowanie kontenera przyczepki dla aplikacji systemu Linux w usłudze aplikacja systemu Azure Service.
Wymagania wstępne
-
Jeśli nie masz jeszcze konta platformy Azure, przed rozpoczęciem utwórz bezpłatne konto.
Polecenia w tym samouczku można uruchamiać przy użyciu usługi Azure Cloud Shell— interaktywnej powłoki używanej w przeglądarce do pracy z usługami platformy Azure. Aby użyć usługi Cloud Shell:
Wybierz przycisk Uruchom Cloud Shell lub przejdź do https://shell.azure.com, aby otworzyć Cloud Shell w przeglądarce.
Zaloguj się do platformy Azure w razie potrzeby i upewnij się, że jesteś w środowisku Bash Cloud Shell w Azure.
Wybierz pozycję Kopiuj w dowolnym bloku kodu, wklej kod do usługi Cloud Shell i uruchom go.
Polecenia
azdw tym samouczku korzystają z interfejsu wiersza polecenia dla deweloperów platformy Azure, narzędzia typu open source, które przyspiesza aprowizowanie i wdrażanie zasobów aplikacji na platformie Azure.
1. Konfigurowanie zasobów samouczka
Aby sklonować przykładowe repozytorium i utworzyć zasoby na potrzeby tego samouczka, uruchom następujące polecenia w usłudze Cloud Shell. Po wyświetleniu monitu wybierz subskrypcję platformy Azure i region świadczenia usługi Azure, którego chcesz użyć.
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
Polecenie azd provision używa dołączonych szablonów do utworzenia grupy zasobów platformy Azure o nazwie my-sidecar-env_group zawierającej następujące zasoby platformy Azure:
-
Rejestr kontenerów z dwoma repozytoriami, które mają następujące obrazy:
-
nginxObraz z modułem OpenTelemetry. -
otel-collectorObraz modułu zbierającego OpenTelemetry skonfigurowany do eksportowania do usługi Azure Monitor.
-
- Obszar roboczy Log Analytics.
- Składnik usługi Application Insights.
-
Tożsamość zarządzana przypisana przez użytkownika o nazwie
id-my-sidecar-env_group.
Po zakończeniu wdrażania powinny zostać wyświetlone dane wyjściowe podobne do następującego przykładu:
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
Skopiuj i zapisz wartość APPLICATIONINSIGHTS_CONNECTION_STRING, aby użyć jej później w tym samouczku.
Wybierz link Open resource group in the portal , aby otworzyć aprowizowaną grupę zasobów w witrynie Azure Portal.
2. Tworzenie aplikacji z obsługą przyczepki
W grupie zasobów w witrynie Azure Portal utwórz niestandardową aplikację kontenera systemu Linux z obsługą przyczepki i skonfiguruj główny kontener.
Na stronie grupy zasobów w witrynie Azure Portal wybierz pozycję Utwórz.
Na stronie Marketplace wyszukaj aplikację internetową, wybierz strzałkę w dół obok pozycji Utwórz na kafelku Aplikacja internetowa , a następnie wybierz pozycję Aplikacja internetowa.
Na karcie Podstawy na stronie Tworzenie aplikacji internetowej podaj następujące informacje:
- Nazwa: wprowadź unikatową nazwę aplikacji internetowej.
- Publikuj: wybierz pozycję Kontener.
- System operacyjny: wybierz pozycję Linux.
-
Region: wybierz ten sam region, który został wybrany dla elementu
azd provision. - Plan systemu Linux: wybierz podany (nowy) plan usługi App Service.
Pozostaw pozostałe ustawienia tak, jak są, i wybierz kartę Kontener w górnej części strony.
Na karcie Kontener podaj następujące informacje:
- Obsługa przyczepki: ustaw wartość Konfiguracja rozszerzona z obsługą przyczepki.
- źródło obrazu: Wybierz Azure Container Registry.
- Nazwa: Upewnij się, że główny się pojawia.
-
Rejestr: wybierz rejestr utworzony przez program
azd provision. - Uwierzytelnianie: wybierz pozycję Tożsamość zarządzana.
-
Tożsamość: wybierz tożsamość zarządzaną utworzoną przez
azd provision. - Obraz: Wprowadź nginx.
- Tag: wprowadź najnowszy.
- Port: wprowadź wartość 80 , jeśli jeszcze nie ustawiono.
Uwaga
Te ustawienia są konfigurowane inaczej w aplikacjach z obsługą przyczepki niż w aplikacjach, które nie są włączone dla przyczepek. Aby uzyskać więcej informacji, zobacz Co to są różnice w przypadku kontenerów niestandardowych z obsługą przyczepki.
Wybierz pozycję Przejrzyj i utwórz, a po zakończeniu walidacji wybierz pozycję Utwórz.
Po zakończeniu wdrażania wybierz pozycję Przejdź do zasobu.
Na stronie aplikacji otwórz adres URL obok pozycji Domena domyślna, na nowej karcie przeglądarki,
https://<app-name>.azurewebsites.netaby wyświetlić domyślną stronę serwera nginx .
3. Dodawanie kontenera przyczepki do aplikacji
Dodaj kontener sidecar do niestandardowej linuxowej aplikacji kontenerowej.
Na stronie aplikacji w witrynie Azure Portal wybierz pozycję Centrum wdrażania w obszarze Wdrożenie w menu nawigacji po lewej stronie. Na stronie Centrum wdrażania są wyświetlane wszystkie kontenery w aplikacji, obecnie tylko główny kontener.
Wybierz pozycję Kontenery.
Wybierz Dodaj>niestandardowy kontener.
W okienku Dodawanie kontenera wypełnij następujące informacje:
- Nazwa: wprowadź otel-collector.
- Źródło obrazu: wybierz pozycję Azure Container Registry.
-
Rejestr: wybierz rejestr utworzony przez program
azd provision. - Uwierzytelnianie: wybierz pozycję Tożsamość zarządzana.
-
Tożsamość: w obszarze Przypisane przez użytkownika wybierz tożsamość zarządzaną utworzoną przez
azd provision. - Obraz: Wprowadź otel-collector.
- Tag obrazu: wprowadź najnowszy.
- Port: wprowadź 4317.
Wybierz Zastosuj.
Istnieją teraz dwa kontenery w centrum wdrażania z etykietą Main i Sidecar. Aplikacja musi mieć jeden główny kontener i może mieć wiele kontenerów sidecar.
4. Konfigurowanie zmiennych środowiskowych
W przykładowym scenariuszu przyczepka otel-collector jest skonfigurowana do eksportowania danych OpenTelemetry do usługi Azure Monitor przy użyciu parametrów połączenia jako zmiennej środowiskowej. Aby uzyskać więcej informacji, zobacz plik konfiguracji OpenTelemetry dla obrazu otel-collector.
Skonfiguruj zmienną środowiskową dla kontenera, konfigurując ustawienia aplikacji dla aplikacji. Ustawienia aplikacji są dostępne dla wszystkich kontenerów w aplikacji.
Na stronie aplikacji w witrynie Azure Portal wybierz pozycję Zmienne środowiskowe w obszarze Ustawienia w menu nawigacji po lewej stronie.
Na karcie Ustawienia aplikacji na stronie Zmienne środowiskowe wybierz pozycję Dodaj.
W okienku ustawienia Dodaj/Edytuj aplikację wprowadź następujące wartości:
- Nazwa: APPLICATIONINSIGHTS_CONNECTION_STRING
-
Wartość: wartość
APPLICATIONINSIGHTS_CONNECTION_STRINGz danych wyjściowych elementuazd provision. Wartość tę znajdziesz również jako Parametry połączenia na stronie Podsumowanie zasobu usługi Application Insights grupy zasobów.
Wybierz pozycję Zastosuj, a następnie ponownie wybierz pozycję Zastosuj , a następnie wybierz pozycję Potwierdź. Ustawienie aplikacji APPLICATIONINSIGHTS_CONNECTION_STRING jest teraz wyświetlane na karcie Ustawienia aplikacji .
Uwaga
Niektóre ustawienia aplikacji nie mają zastosowania do aplikacji z obsługą przyczepki. Aby uzyskać więcej informacji, zobacz Co to są różnice w przypadku kontenerów niestandardowych z obsługą przyczepki.
5. Sprawdź w usłudze Application Insights
Przyczepka otel-collector powinna teraz eksportować dane do usługi Application Insights.
Przejdź do aplikacji na nowej karcie przeglądarki i odśwież stronę kilka razy, aby wygenerować niektóre żądania internetowe.
Na stronie grupy zasobów w witrynie Azure Portal wybierz zasób usługi Application Insights . Na stronie Przegląd usługi Application Insights powinny być teraz widoczne pewne dane na wykresach domyślnych.
Uwaga
W tym typowym scenariuszu monitorowania usługa Application Insights jest tylko jednym z obiektów docelowych OpenTelemetry, których można użyć, takich jak Jaeger, Prometheus i Zipkin.
6. Czyszczenie zasobów
Jeśli nie potrzebujesz już środowiska utworzonego na potrzeby tego samouczka, możesz usunąć grupę zasobów, która usuwa usługę App Service i wszystkie powiązane zasoby. Uruchom następujące polecenie w sklonowanym repozytorium w usłudze Cloud Shell.
azd down