J'ai touché Spring Boot jusqu'à Spring with Kotorin --4 REST API Design. Du point de vue de l'exécution de l'application, j'ai vu la procédure pour la faire fonctionner, même si elle est très simple. En revanche, nous n'avons pris aucune mesure du point de vue du suivi de l'application. Dans Spring Boot, il existe une fonction appelée ** Actuator ** qui peut facilement implémenter un outil de surveillance, je vais donc essayer de l'utiliser.
À propos, la version de Spring Boot utilisée ici était la ** série 2.x **. Il existe diverses améliorations et différences entre la série 1.x et la série 2.x. L'actionneur que j'essaie d'utiliser cette fois présente également des différences entre la série 1.x et la série 2.x, donc j'aimerais également voir les différences.
Spring Dependencies
Pour activer Spring Actuator, définissez la dépendance suivante dans build.gradle.
implementation('org.springframework.boot:spring-boot-starter-actuator')
Vous ne pouvez l'utiliser qu'avec cela. Ensuite, accédez au point de terminaison décrit dans le document suivant "Endpoints" Ce faisant, vous pourrez obtenir diverses informations via HTTP.
Exemple: SANTÉ
$ curl 'http://localhost:8080/actuator/health' -i -X GET
HTTP/1.1 200
Content-Type: application/vnd.spring-boot.actuator.v2+json;charset=UTF-8
Transfer-Encoding: chunked
Date: Sun, 11 Nov 2018 13:08:00 GMT
{"status":"UP"}
Il existe de nombreuses différences, mais voici quelques éléments typiques que vous pouvez rencontrer lors de la migration de 1.x vers 2.x.
Dans 1.x, le point de terminaison était accessible directement pour afficher les informations. : http: // localhost: 8080 / health
Dans 2.x, l'accès est effectué en spécifiant le chemin de base avant le point de terminaison. : http: // localhost: 8080 / <chemin de base> / health
Par défaut, le chemin de base est ** / actuator **.
Pour le modifier, définissez-le dans le fichier de configuration (application.yml).
Vous pouvez modifier la perspective de base en la définissant comme suit. Dans l'exemple ci-dessous, le chemin de base est / admin
.
management:
endpoints:
web:
base-path: /admin
Dans 1.x, les points de terminaison étaient pré-publiés.
Dans 2.x, les seuls points de terminaison exposés sont / health
et / info
. -> Référence
Même en 2.x, pour tout publier à l'avance, définissez-le dans le fichier de paramètres (application.yml) comme suit.
management:
endpoints:
web:
exposure:
include: "*"
Dans l'exemple, la cible de publication est spécifiée par des astérisques (\ *), mais si vous la spécifiez individuellement, vous pouvez la publier en décrivant le point de terminaison cible.
include: beans, env
Actuator est un outil pratique que vous pouvez utiliser simplement en ajoutant des dépendances. Par conséquent, je pense qu'il existe des possibilités de l'utiliser dans de nombreuses situations, mais comme la méthode d'accès et la cible entre les séries 1.x et 2.x ont changé, lors de la migration vers la série 2.x Je veux faire attention à ne pas obtenir 404.
Recommended Posts