Ici, j'écrirai sur la façon d'obtenir des métriques arbitraires avec la combinaison de Spring Boot + Micrometer + Prometheus Exporter.
Settings Pour activer Micrometer dans un environnement avec Spring Boot installé, configurez les bibliothèques requises telles que pom et gradle.
example Voici un exemple de pom.
pom.xml
<!--Obligatoire-->
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-core</artifactId>
<version>${micrometer.version}</version>
</dependency>
<!-- spring boot 1.Requis si vous utilisez 5x-->
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-spring-legacy</artifactId>
<version>${micrometer.version}</version>
</dependency>
<!--Ci-dessous, requis pour activer Prometheus Exporter-->
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-registry-prometheus</artifactId>
<version>${micrometer.version}</version>
</dependency>
<dependency>
<groupId>io.prometheus</groupId>
<artifactId>simpleclient</artifactId>
<version>${prometheus.version}</version>
</dependency>
<dependency>
<groupId>io.prometheus</groupId>
<artifactId>simpleclient_common</artifactId>
<version>${prometheus.version}</version>
</dependency>
micrometer-core Cette bibliothèque est essentielle lors de l'utilisation du micromètre.
micrometer-spring-legacy micormeter a été traité comme un outil métrique officiel depuis Spring Boot 2, x. Pour cette raison, si vous utilisez une version antérieure à 2.x (1.5.x), vous avez besoin d'une bibliothèque pour le backport. Si vous exécutez dans un environnement 1.5.x, spécifiez ceci.
micrometer-registry-prometheus / simpleclient /simpleclient_common
Pour savoir comment propager et afficher les métriques acquises, sélectionnez-en une dans la bibliothèque micrometer-registry - **
.
Puisque nous voulons utiliser Prometheus Exporter ici, spécifiez le registre lié à prometheus.
De plus, lors de l'exécution de traitements liés à prometheus en Java, il est nécessaire de spécifier les bibliothèques (simpleclient, simpleclient_common) fournies par prometheus.
Code Voici comment l'intégrer dans votre code d'application.
Incrémenter à l'aide du compteur initialisé
SadaController.java
@RestController
public class SadaController {
@Autowired
protected MeterRegistry meterRegistry;
private Counter metricsCounter;
@PostConstruct
public void init() {
metricsCounter = meterRegistry.counter("api.sada.count"); // initialize
}
@RequestMapping(path = "/sada", method = { RequestMethod.GET })
@ApiOperation(value = "sada")
@ApiResponses(value = { @ApiResponse(code = 200, response = String.class, message = "echo") })
public String sada(@RequestParam(name = "echo", required = false, defaultValue = "masashi") @Valid String echo) {
metricsCounter.increment(); // increment
return echo;
}
Prometheus Exporter
Si vous avez ajouté micrometer-registry-prometheus à votre bibliothèque, le point de terminaison / prometheus
est automatiquement activé au démarrage de Spring Boot.
Par défaut, vous pouvez obtenir des métriques sur l'état de la JVM et du thread.
En outre, des métriques personnalisées telles que celles mentionnées ci-dessus seront également disponibles via Prometheus Exporter.
# TYPE api_sada_count_total counter
api_sada_count_total 15.0
Ce qui précède est un exemple où le nombre de fois que le contrôleur ci-dessus a été appelé a été obtenu sous forme de métrique.
Les métriques acquises de cette manière peuvent être importées dans Prometheus et Datadog.
C'est le moyen le plus simple d'utiliser Micrometer, mais il existe de nombreuses autres fonctionnalités, donc si vous voulez en savoir plus, consultez la documentation officielle.
https://micrometer.io/docs
Recommended Posts