Udostępnij za pośrednictwem


Zarządzanie aplikacją i monitorowanie jej za pomocą siłownika Spring Boot

Uwaga

Azure Spring Apps to nowa nazwa usługi Azure Spring Cloud. Mimo że usługa ma nową nazwę, stara nazwa będzie widoczna w niektórych miejscach przez pewien czas, ponieważ pracujemy nad aktualizowaniem zasobów, takich jak zrzuty ekranu, filmy wideo i diagramy.

Ten artykuł dotyczy: ✔️ Java ❌ C#

Ten artykuł dotyczy: ✔️ Podstawowa/Standardowa ✔️ Enterprise

Siłownik Spring Boot udostępnia aplikacje gotowe do produkcji funkcje. Możesz bez wysiłku monitorować aplikację, zbierać metryki i interpretować stan lub aktywność bazy danych za pomocą tego narzędzia. Uzyskujesz dostęp do narzędzi klasy profesjonalnej bez konieczności tworzenia ich od podstaw.

Siłownik uwidacznia istotne dane operacyjne dotyczące uruchomionej aplikacji, takie jak stan kondycji, metryki, informacje i inne. Siłownik używa punktów końcowych HTTP lub rozszerzeń zarządzania Java (JMX), co ułatwia interakcję. Po zintegrowaniu zapewnia on kilka domyślnych punktów końcowych i podobnie jak inne moduły Spring, można łatwo konfigurować i rozszerzać.

Usługa Azure Spring Apps używa siłownika do wzbogacania metryk za pomocą programu JMX. Może również pracować z widokiem na żywo aplikacji w planie Enterprise, aby ułatwić uzyskiwanie i interakcję z danymi z aplikacji.

Diagram przedstawiający przepływ danych przy użyciu siłownika Spring Boot.

Konfigurowanie siłownika Spring Boot

W poniższych sekcjach opisano sposób konfigurowania siłownika.

Dodawanie zależności siłownika

Aby dodać siłownik do projektu opartego na narzędziu Maven, dodaj następującą zależność:

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-actuator</artifactId>
    </dependency>
</dependencies>

Ta konfiguracja działa z dowolną wersją platformy Spring Boot, ponieważ wersje są objęte pakietem Spring Boot Bill of Materials (BOM).

Konfigurowanie punktu końcowego siłownika

Domyślnie aplikacja Spring Boot uwidacznia health tylko punkt końcowy. Aby zaobserwować konfigurację i konfigurowalne środowisko, wykonaj następujące kroki, aby włączyć env również punkty końcowe i configprops :

  1. Przejdź do okienka Przegląd aplikacji, wybierz pozycję Konfiguracja w menu ustawień, a następnie przejdź do strony Konfiguracja zmiennych środowiskowych.

  2. Dodaj następujące właściwości, tak jak w formularzu "key:value". To środowisko otwiera następujące punkty końcowe siłownika spring: health, envi configprops.

    management.endpoints.web.exposure.include: health,env,configprops
    
  3. Wybierz pozycję Zapisz. Aplikacja jest uruchamiana automatycznie i ładuje nowe zmienne środowiskowe.

Teraz możesz wrócić do okienka Przegląd aplikacji i poczekać, aż stan aprowizacji zmieni się na Powodzenie.

Aby wyświetlić wszystkie wbudowane i powiązane konfiguracje punktów końcowych, zobacz sekcję Uwidacznianie punktów końcowych funkcji gotowych do produkcji platformy Spring Boot.

Bezpieczny punkt końcowy siłownika

Po otwarciu aplikacji do publicznej wiadomości te punkty końcowe siłownika są również udostępniane publicznie. Zalecamy ukrycie wszystkich punktów końcowych przez ustawienie management.endpoints.web.exposure.exclude=*, ponieważ exclude właściwość ma pierwszeństwo przed właściwością include . Ta akcja blokuje widok na żywo aplikacji w planie przedsiębiorstwa i innych aplikacjach lub narzędziach, które opierają się na punkcie końcowym HTTP siłownika.

W planie Enterprise istnieją dwa sposoby zabezpieczania dostępu:

  • Publiczny punkt końcowy aplikacji można wyłączyć i skonfigurować regułę routingu w usłudze VMware Spring Cloud Gateway, aby wyłączyć dostęp siłownika z publicznej wiadomości. Aby uzyskać więcej informacji, zobacz Konfigurowanie bramy VMware Spring Cloud Gateway.

  • Siłownik można skonfigurować tak, aby nasłuchiwać na innym porcie HTTP z aplikacji głównej. W aplikacji autonomicznej port HTTP siłownika jest domyślnie taki sam jak główny port HTTP. Aby aplikacja nasłuchiwać na innym porcie, ustaw management.server.port właściwość . Widok na żywo aplikacji nie może automatycznie wykryć tej zmiany portu, dlatego należy również skonfigurować właściwość we wdrożeniu usługi Azure Spring Apps. Następnie siłownik nie jest publicznie dostępny, ale widok aplikacji na żywo może odczytywać z punktu końcowego siłownika za pośrednictwem innego portu. Aby uzyskać więcej informacji, zobacz Use Application Live View with the Azure Spring Apps Enterprise plan (Używanie widoku na żywo aplikacji z planem Azure Spring Apps Enterprise).

Następne kroki