Eksplorowanie pulpitu nawigacyjnego .NET.NET Aspire
W kolejnych sekcjach dowiesz się, jak utworzyć projekt .NET.NET Aspire i rozpocząć wykonywanie następujących zadań:
Zbadaj możliwości pulpitu nawigacyjnego przy użyciu aplikacji wygenerowanej na podstawie szablonu projektu, jak wyjaśniono w przewodniku Szybki start : Tworzenie pierwszego projektu .NET.NET Aspire.
Zagłębij się w funkcje aplikacji pulpitu nawigacyjnego .NET.NET Aspire.
Zrzuty ekranu przedstawione w tym artykule przedstawiają motyw ciemny. Aby uzyskać więcej informacji na temat wyboru motywu, zobacz Wybór motywu.
Uwierzytelnianie pulpitu nawigacyjnego
Po uruchomieniu hosta aplikacji .NET.NET Aspire koordynator uruchamia wszystkie zasoby zależne aplikacji, a następnie otwiera okno przeglądarki na pulpicie nawigacyjnym. Pulpit nawigacyjny .NET.NET Aspire wymaga uwierzytelniania opartego na tokenach dla użytkowników, ponieważ wyświetla zmienne środowiskowe i inne poufne informacje.
Po uruchomieniu pulpitu nawigacyjnego z Visual Studio lub Visual Studio Code (z rozszerzeniem C# Dev Kit) przeglądarka zostanie automatycznie zalogowana, a pulpit nawigacyjny zostanie otwarty bezpośrednio. Jest to typowe środowisko dla deweloperów
Jeśli jednak uruchomisz hosta aplikacji z wiersza polecenia, zostanie wyświetlona strona logowania. W oknie konsoli zostanie wyświetlony adres URL, który można wybrać, aby otworzyć pulpit nawigacyjny w przeglądarce.
Adres URL zawiera ciąg zapytania tokenu (z wartością tokenu zamapowana na część nazwy t
), który jest używany do logowania do pulpitu nawigacyjnego. Jeśli konsola go obsługuje, możesz trzymać ctrl, a następnie wybrać link, aby otworzyć pulpit nawigacyjny w przeglądarce. Ta metoda jest łatwiejsza niż kopiowanie tokenu z konsoli i wklejanie go do strony logowania. Jeśli skończysz na stronie logowania pulpitu nawigacyjnego bez żadnej z wcześniej opisanych metod, zawsze możesz wrócić do konsoli, aby skopiować token.
Strona logowania akceptuje token i zawiera przydatne instrukcje dotyczące uzyskiwania tokenu, jak pokazano na poniższym zrzucie ekranu:
Po skopiowaniu tokenu z konsoli i wklejeniu go do strony logowania wybierz przycisk Zaloguj się.
Pulpit nawigacyjny utrwala token jako trwały cookieprzeglądarki, który pozostaje ważny przez trzy dni. Trwałe pliki cookie mają datę wygaśnięcia i pozostają prawidłowe nawet po zamknięciu przeglądarki. Oznacza to, że użytkownicy nie muszą ponownie logować się, jeśli zamkną i ponownie otwórz przeglądarkę. Aby uzyskać więcej informacji, zobacz zagadnienia dotyczące zabezpieczeń dotyczące uruchamiania .NET.NET Aspire pulpitu nawigacyjnego.
Strona Zasobów
Strona Resources to domyślna strona główna pulpitu nawigacyjnego .NET.NET Aspire. Na tej stronie wymieniono wszystkie projekty, kontenery i pliki wykonywalne .NET zawarte w rozwiązaniu .NET Aspire. Na przykład aplikacja startowa zawiera dwa projekty:
- apiservice: projekt interfejsu API zaplecza utworzony przy użyciu minimalnych interfejsów API.
- webfrontend: projekt interfejsu użytkownika frontonu utworzony przy użyciu Blazor.
Pulpit nawigacyjny zawiera również podstawowe informacje o poszczególnych zasobach:
- Typ: wyświetla, czy zasób jest projektem, kontenerem, czy plikiem wykonywalnym.
- Nazwa: nazwa zasobu.
-
stan: wyświetla, czy zasób jest aktualnie uruchomiony.
Błędy : w kolumnie stanubłędy są wyświetlane jako wskaźnik z liczbą błędów. Warto szybko zrozumieć, jakie zasoby zgłaszają błędy. Wybranie wskaźnika spowoduje przejście do dzienników semantycznych dla tego zasobu z filtrem na poziomie błędu.
- godzina rozpoczęcia: po uruchomieniu zasobu.
- źródłowa: lokalizacja zasobu na urządzeniu.
- Punkty końcowe: co najmniej jeden adres URL umożliwiający bezpośredni dostęp do uruchomionego zasobu.
- Dzienniki: link do strony dzienników zasobów.
-
Akcje: zestaw akcji, które można wykonać na zasobie:
- zatrzymaj/uruchom: zatrzymaj (lub uruchom) zasób — w zależności od bieżącego stan.
- Dzienniki konsoli: przejdź do dzienników konsoli zasobu.
-
wielokropka: podmenu z dodatkowymi akcjami specyficznymi dla zasobów:
- Wyświetl szczegóły: Wyświetl szczegóły zasobu.
- dziennik konsoli: przejdź do dzienników konsoli zasobu.
- dzienniki ustrukturyzowane: przejdź do dzienników strukturalnych zasobu.
- ślady: przejdź do śladów zasobu.
- Metrics: przejdź do metryk zasobu.
- Uruchom ponownie: Zatrzymaj, a następnie uruchom zasób.
Rozważmy następujący zrzut ekranu przedstawiający stronę zasobów:
Akcje zasobów
Każdy zasób ma zestaw dostępnych akcji, które są warunkowo włączone na podstawie bieżącego stanu zasobu. Na przykład jeśli zasób jest uruchomiony, akcja Zatrzymaj jest włączona. Jeśli zasób zostanie zatrzymany, zostanie włączona akcja Uruchom. Podobnie niektóre akcje są wyłączone, gdy są niedostępne, na przykład niektóre zasoby nie mają dzienników strukturalnych. W takich sytuacjach akcja dzienników ustrukturyzowanych
Zatrzymywanie lub uruchamianie zasobu
Pulpit nawigacyjny .NET.NET Aspire umożliwia zatrzymanie lub uruchomienie zasobu, wybierając przycisk Zatrzymaj lub Uruchom w kolumnie Actions. Rozważmy poniższy zrzut ekranu strony zasobów z wybranym przyciskiem zatrzymaj
Po wybraniu Zatrzymajzasób przestanie działać, a stan aktualizacje kolumny odzwierciedlające zmianę.
Nuta
W przypadku zasobów projektu po dołączeniu debugera jest on ponownie dołączany po ponownym uruchomieniu.
Przycisk Uruchom jest wtedy włączony, co umożliwia ponowne uruchomienie zasobu. Ponadto pulpit nawigacyjny wyświetla wyskakujące powiadomienie o wyniku akcji:
Gdy zasób jest w stanie braku działania, przycisk Uruchom jest włączony. Wybranie
Napiwek
Zasoby zależne od innych zasobów, które są zatrzymane lub ponownie uruchomione, mogą wystąpić błędy tymczasowe. Jest to oczekiwane zachowanie i jest zwykle rozwiązywane, gdy zasoby zależne znajdują się w stanie Uruchomione po raz kolejny.
Akcje podmenu zasobów
Wybranie ikony wielokropka poziomego w kolumnie Actions powoduje otwarcie podmenu z dodatkowymi akcjami specyficznymi dla zasobów. Oprócz wbudowanych akcji podmenu zasobów można również zdefiniować niestandardowe akcje zasobów, definiując polecenia niestandardowe. Aby uzyskać więcej informacji, zobacz Polecenia zasobów niestandardowych w .NET.NET Aspire. W przypadku wbudowanych akcji podmenu zasobów rozważ następujący zrzut ekranu:
Dostępne są następujące akcje podrzędne:
- Wyświetl szczegóły: Wyświetl szczegóły zasobu.
- dziennik konsoli: przejdź do dzienników konsoli zasobu.
- dzienniki ustrukturyzowane: przejdź do dzienników strukturalnych zasobu.
- ślady: przejdź do śladów zasobu.
- Metrics: przejdź do metryk zasobu.
- Uruchom ponownie: Zatrzymaj, a następnie uruchom zasób.
Ważny
Mogą istnieć zasoby z wyłączonymi akcjami podmenu. Są wyszarzone, gdy są wyłączone. Na przykład poniższy zrzut ekranu przedstawia wyłączone akcje podmenu:
Kopiowanie lub otwieranie w wizualizatorze tekstu
Aby wyświetlić wizualizator tekstu niektórych kolumn, po umieszczeniu wskaźnika myszy zostanie wyświetlona pionowa ikona wielokropka. Wybierz ikonę, aby wyświetlić dostępne opcje:
- Kopiowanie do schowka
- Otwórz w wizualizatorze tekstu
Rozważmy następujący zrzut ekranu przedstawiający opcje menu wielokropka:
Po wybraniu opcji Otwórz w wizualizatorze tekstu zostanie otwarte modalne okno dialogowe z tekstem wyświetlanym w większym formacie. Rozważmy następujący zrzut ekranu przedstawiający modalne okno dialogowe wizualizatora tekstu:
Niektóre wartości są formatowane jako JSON lub XML. W takich przypadkach wizualizator tekstu włącza listę rozwijaną Wybierz format, aby przełączać się między różnymi formatami.
Szczegóły zasobu
Aby uzyskać szczegółowe informacje o każdym zasobie, wybierz przycisk wielokropka w kolumnie Actions, a następnie wybierając pozycję Wyświetl szczegóły. Strona Szczegóły zawiera kompleksowy widok zasobu:
Pasek wyszukiwania w prawym górnym rogu pulpitu nawigacyjnego zawiera również opcję filtrowania listy, która jest przydatna w przypadku .NET.NET Aspire projektów z wieloma zasobami. Aby wybrać wyświetlane typy zasobów, rozwiń strzałkę z lewej strony pola tekstowego filtru:
W tym przykładzie na liście są wyświetlane tylko kontenery. Jeśli na przykład włączysz Użyj Redis do buforowania podczas tworzenia projektu .NET Aspire, powinien zostać wyświetlony kontener Redis:
Pliki wykonywalne są procesami autonomicznymi. Projekt .NET.NET Aspire można skonfigurować tak, aby uruchamiał autonomiczny plik wykonywalny podczas uruchamiania, chociaż domyślne szablony startowe domyślnie nie zawierają żadnych plików wykonywalnych.
Poniższy zrzut ekranu przedstawia przykład projektu, który zawiera błędy:
Wybranie wskaźnika licznika błędów powoduje przejście do strony Dzienniki ustrukturyzowane z zastosowanym filtrem w celu wyświetlenia tylko dzienników istotnych dla zasobu:
Aby wyświetlić szczegółowy wpis dziennika dla błędu, wybierz przycisk Wyświetl, aby otworzyć okno poniżej listy ze szczegółami wpisu dziennika strukturalnego:
Aby uzyskać więcej informacji i przykłady dzienników strukturalnych, zobacz stronie Dzienniki ustrukturyzowane sekcji.
Nuta
Strona zasobów nie jest dostępna, jeśli pulpit nawigacyjny jest uruchamiany bez skonfigurowanej usługi zasobów. Pulpit nawigacyjny zostanie uruchomiony na stronie dzienników ustrukturyzowanych. Jest to środowisko domyślne, gdy pulpit nawigacyjny jest uruchamiany w trybie autonomicznym bez dodatkowej konfiguracji.
Aby uzyskać więcej informacji na temat konfigurowania usługi zasobów, zobacz Konfiguracja pulpitu nawigacyjnego.
Strony monitorowania
Pulpit nawigacyjny .NET.NET Aspire udostępnia różne sposoby wyświetlania dzienników, śladów i metryk dla aplikacji. Te informacje umożliwiają śledzenie zachowania i wydajności aplikacji oraz diagnozowanie wszelkich pojawiających się problemów.
Strona dzienników konsoli
Na stronie Console logs zostanie wyświetlony tekst, który każdy zasób w aplikacji został wysłany do standardowych danych wyjściowych. Dzienniki są przydatnym sposobem monitorowania kondycji aplikacji i diagnozowania problemów. Dzienniki są wyświetlane inaczej w zależności od źródła, takiego jak projekt, kontener lub plik wykonywalny.
Po otwarciu strony Dzienniki konsoli należy wybrać źródło na liście rozwijanej Wybierz zasób.
W przypadku wybrania projektu dzienniki na żywo są renderowane ze stylizowanym zestawem kolorów odpowiadającym ważności dziennika; zielony, aby uzyskać informacje jako przykład. Rozważmy poniższy przykładowy zrzut ekranu przedstawiający dzienniki projektu z wybranym projektem apiservice
:
Gdy wystąpią błędy, są one stylowane w dziennikach, tak aby były łatwe do zidentyfikowania. Rozważmy poniższy przykładowy zrzut ekranu przedstawiający dzienniki projektu z błędami:
Jeśli wybierzesz kontener lub plik wykonywalny, formatowanie różni się od projektu, ale pełne informacje o zachowaniu są nadal dostępne. Rozważmy poniższy przykładowy zrzut ekranu dziennika kontenera z wybranym kontenerem cache
:
Repliki zasobów
Gdy zasoby projektu są replikowane przy użyciu interfejsu API WithReplicas, są one reprezentowane w selektorze zasobów pod wpisem najwyższego poziomu o nazwie zasób z ikoną wskaźnika. Każdy zreplikowany zasób znajduje się na liście w wpisie zasobu najwyższego poziomu z odpowiednią unikatową nazwą. Rozważmy poniższy przykładowy zrzut ekranu przedstawiający zreplikowany zasób projektu:
Powyższy zrzut ekranu przedstawia projekt catalogservice (application)
z dwiema replikami, catalogservice-2bpj2qdq6k
i catalogservice-6ljdin0hc0
. Każda replika ma własny zestaw dzienników, które można wyświetlić, wybierając nazwę repliki.
Strona dzienników strukturalnych
.NET Aspire automatycznie konfiguruje projekty przy użyciu rejestrowania przy użyciu OpenTelemetry. Przejdź do strony dzienników ustrukturyzowanych
- zasób: zasób pochodzący z dziennika.
- poziom: poziom dziennika wpisu, taki jak informacje, ostrzeżenie lub błąd.
- znacznik czasu: czas wystąpienia dziennika.
- komunikatu: szczegóły dziennika.
- trace: link do odpowiedniego śladu dziennika, jeśli ma to zastosowanie.
- Szczegóły: dodatkowe szczegóły lub metadane dotyczące wpisu dziennika.
Rozważmy poniższy przykładowy zrzut ekranu przedstawiający dzienniki semantyczne:
Filtrowanie dzienników strukturalnych
Strona dzienników strukturalnych zawiera również pasek wyszukiwania umożliwiający filtrowanie dzienników według usługi, poziomu lub komunikatu. Lista rozwijana na poziomie
Rozważmy następujące zrzuty ekranu przedstawiające dzienniki ustrukturyzowane, odfiltrowane w celu wyświetlenia elementów z tekstem komunikatu "Hosting":
Strona Ślady
Przejdź do strony śladów
- znacznik czasu: po zakończeniu śledzenia.
- Nazwa: nazwa śledzenia poprzedzona nazwą projektu.
- Spans: zasoby zaangażowane w żądanie.
- czas trwania: czas potrzebny na ukończenie żądania. Ta kolumna zawiera ikonę promieniową, która ilustruje czas trwania żądania w porównaniu z innymi na liście.
Filtrowanie śladów
Strona śladów udostępnia również pasek wyszukiwania do filtrowania śladów według nazwy lub zakresu. Zastosuj filtr i zwróć uwagę, że wyniki śledzenia są natychmiast aktualizowane. Rozważmy poniższy zrzut ekranu przedstawiający ślady z filtrem zastosowanym do weather
i zwróć uwagę, jak termin wyszukiwania jest wyróżniony w wynikach:
Podczas filtrowania śladów w oknie dialogowym
Łączenie danych telemetrycznych z wielu zasobów
Jeśli zasób ma wiele replik, można filtrować dane telemetryczne, aby wyświetlać dane ze wszystkich wystąpień jednocześnie. Wybierz zasób nadrzędny z etykietą (application)
, jak pokazano na poniższym zrzucie ekranu:
Po wybraniu zasobu nadrzędnego na stronie śledzenia są wyświetlane dane telemetryczne ze wszystkich wystąpień zasobu.
Szczegóły śledzenia
Strona szczegółów śledzenia zawiera różne szczegóły dotyczące żądania, w tym:
- szczegóły śledzenia: po rozpoczęciu śledzenia.
- czas trwania: czas potrzebny na ukończenie żądania.
- Zasoby: liczba zasobów zaangażowanych w żądanie.
- głębokości: liczba warstw zaangażowanych w żądanie.
- łączne zakresy: całkowita liczba zakresów zaangażowanych w żądanie.
Każdy zakres jest reprezentowany jako wiersz w tabeli i zawiera Nazwa. Zakresy wyświetlają również ikonę błędu, jeśli wystąpił błąd w tym konkretnym zakresie śledzenia. Zakresy, które mają typ client/consumer, ale nie mają zakresu na server, pokaż ikonę strzałki, a następnie adres docelowy. Reprezentuje to wywołanie client do systemu spoza projektu .NET Aspire. Na przykład żądanie HTTP zewnętrznego internetowego interfejsu API lub wywołanie bazy danych.
Na stronie szczegółów śledzenia znajduje się przycisk Wyświetl dzienniki, który umożliwia przejście do strony dzienników strukturalnych z zastosowanym filtrem w celu wyświetlenia tylko dzienników istotnych dla żądania. Rozważmy przykładowy zrzut ekranu przedstawiający stronę dzienników strukturalnych z zastosowanym filtrem, aby pokazać tylko dzienniki istotne dla śledzenia:
Strona dzienników strukturalnych została szczegółowo omówiona na stronie dzienników strukturalnych sekcji.
Przykłady śledzenia
Każdy ślad ma kolor, który jest generowany, aby ułatwić rozróżnienie między zakresami — jednym kolorem dla każdego zasobu. Kolory są odzwierciedlane zarówno na stronie śledzenia , jak i na stronie szczegółów śledzenia . Gdy ślady przedstawiają ikonę strzałki, te ikony są również kolorowane, aby dopasować zakres śledzenia docelowego. Rozważmy poniższy przykładowy zrzut ekranu przedstawiający ślady:
Możesz również wybrać przycisk Wyświetl, aby przejść do szczegółowego widoku żądania i czasu, przez jaki spędziła podróż przez każdą warstwę aplikacji. Rozważmy przykładowy wybór śledzenia, aby wyświetlić jego szczegóły:
Dla każdego zakresu śledzenia wybierz pozycję Wyświetl, aby wyświetlić więcej szczegółów:
Przewiń w dół w obszarze szczegóły zakresu, aby wyświetlić pełne informacje. W dolnej części okienka szczegółów zakresu niektóre typy zakresu, takie jak to wywołanie pamięci podręcznej, pokazują chronometraż zdarzeń zakresu:
Gdy występują błędy, strona renderuje ikonę błędu obok nazwy śledzenia. Rozważmy przykładowy zrzut ekranu przedstawiający ślady z błędami:
A odpowiedni szczegółowy widok śledzenia z błędami:
Strona metryk
Przejdź do strony Metrics, aby wyświetlić metryki dla aplikacji. .NET .NET Aspire automatycznie konfiguruje metryki dla różnych projektów w aplikacji. Metryki to sposób mierzenia kondycji aplikacji i może służyć do monitorowania wydajności aplikacji w czasie.
Każdy projekt publikowania metryk w aplikacji ma własne metryki. Na stronie metryk zostanie wyświetlone okienko wyboru dla każdego miernika najwyższego poziomu oraz odpowiednie instrumenty, które można wybrać, aby wyświetlić metrykę.
Rozważmy poniższy przykładowy zrzut ekranu przedstawiający stronę metryk z wybranym projektem webfrontend
i wybraną metrykę System.Net.Http
http.client.request.duration
miernika http.client.request.duration
:
Oprócz wykresu metryk strona metryk zawiera opcję wyświetlania danych jako tabeli. Rozważmy następujący zrzut ekranu przedstawiający stronę metryk z wybranym widokiem tabeli:
Na wykresie znajduje się lista filtrów, które można zastosować, aby skoncentrować się na interesujących Cię danych. Na przykład na poniższym zrzucie ekranu pole http.request.method jest filtrowane w celu wyświetlenia tylko żądania GET:
Możesz również wybrać liczbę wyświetlanej metryki dostępu w pionie, a nie jej wartości:
Aby uzyskać więcej informacji na temat metryk, zobacz wbudowane metryki w .NET.
Przykłady
Pulpit nawigacyjny .NET Aspire obsługuje i wyświetla OpenTelemetryPrzykładowe. Przykładowy łączy punkt danych metryki z operacją, która go zarejestrowała, służąc jako most między metrykami i śladami.
Przykłady są przydatne, ponieważ zapewniają dodatkowy kontekst dotyczący tego, dlaczego zarejestrowano określoną wartość metryki. Jeśli na przykład zauważysz wzrost opóźnienia w metryce http.client.request.duration
, wzorowy może wskazywać konkretny ślad lub zakres, który spowodował wzrost, pomagając zrozumieć główną przyczynę.
Przykładowe elementy są wyświetlane na wykresie metryk jako mała okrągła kropka obok punktu danych. Po umieszczeniu wskaźnika na wskaźniku etykietka narzędzia wyświetla szczegóły przykładu, jak pokazano na poniższym zrzucie ekranu:
Powyższy zrzut ekranu przedstawia przykładowe szczegóły metryki http.client.request.duration
. Przykładowe szczegóły obejmują:
- Nazwa zasobu.
- Operacja wykonana, w tym przypadku http GET do
/catalog/images/{id}
. - Odpowiadająca wartość i sygnatura czasowa.
Wybranie wskaźnika przykładowego powoduje otwarcie strony szczegółów śledzenia, na której można wyświetlić skojarzony ślad, na przykład rozważmy następujący zrzut ekranu:
Aby uzyskać więcej informacji, zobacz OpenTelemetry Docs: Przykładowe.
Wybór motywu
Domyślnie motyw jest ustawiony zgodnie z motywem systemowym, co oznacza, że pulpit nawigacyjny używa tego samego motywu co system operacyjny. Możesz również wybrać motyw Light lub Ciemny, aby zastąpić motyw systemowy. Opcje motywu są utrwalane.
Poniższy zrzut ekranu przedstawia okno dialogowe wyboru motywu z wybranym domyślnym motywem systemowym:
Jeśli wolisz motyw Jasny, możesz wybrać go w oknie dialogowym wyboru motywu:
Skróty pulpitu nawigacyjnego
Pulpit nawigacyjny .NET.NET Aspire udostępnia różne skróty do pomocy nawigowania i kontrolowania różnych części pulpitu nawigacyjnego. Aby wyświetlić skróty klawiaturowe, naciśnij Shift + ?lub wybierz ikonę znaku zapytania w prawym górnym rogu pulpitu nawigacyjnego:
Dostępne są następujące skróty:
panele :
- +: Zwiększ rozmiar panelu.
- -: Zmniejsz rozmiar panelu.
r r:rozmiar panelu paneli.- + Shift t: orientacji panelu przełącznika T.
- Shift + x: Zamknij panel.
nawigacja między stronami:
- r: przejdź do esources.
- c: przejdź do dzienników onsole języka C.
- s: przejdź do Sobcięte dzienniki.
- t: przejdź do wyścigów T.
m : przejdź do .
nawigacji obejmującej całą witrynę:
- ?: Przejdź do Pomocy.
Shift : przejdź do .S ettings