Maison > Java > javaDidacticiel > le corps du texte

Comment configurer le composant Actuator dans SpringBoot2

王林
Libérer: 2023-05-14 08:46:11
avant
1866 Les gens l'ont consulté

1. Introduction à l'actionneur

1. Fonction du composant de surveillance

Dans un environnement de production, il est nécessaire de surveiller la disponibilité des services en temps réel ou régulièrement. La fonction d'actionneur (surveillance de l'état) de Spring Boot fournit de nombreuses interfaces nécessaires à la surveillance, qui peuvent configurer et afficher le système d'application, et effectuer des statistiques de fonctions associées.

2. Classification de surveillance

Actuator fournit une interface Rest pour afficher les informations de surveillance.
L'interface est divisée en trois grandes catégories :
Classe de configuration d'application : obtenez des informations sur la classe de configuration liées aux applications SpringBoot telles que la configuration de l'application, les variables d'environnement, les rapports de configuration automatisés chargés dans l'application.
Classe métrique : obtenez les métriques utilisées pour la surveillance lorsque l'application est en cours d'exécution, telles que : les informations sur la mémoire, les informations sur le pool de threads, les statistiques des requêtes HTTP, etc.
Classe de contrôle des opérations : fournit des fonctions d'exploitation telles que la fermeture d'applications.

2. Intégration avec SpringBoot2.0

1. Package Jar de dépendance de base

<!-- 监控依赖 -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
Copier après la connexion

2. Fichier de configuration Yml

# 端口
server:
  port: 8016
spring:
  application:
    # 应用名称
    name: node16-boot-actuator
management:
  endpoints:
    web:
      exposure:
        # 打开所有的监控点
        include: "*"
      # 自定义监控路径 monitor
      # 默认值:http://localhost:8016/actuator/*
      # 配置后:http://localhost:8016/monitor/*
      base-path: /monitor
  endpoint:
    health:
      show-details: always
    shutdown:
      # 通过指定接口关闭 SpringBoot
      enabled: true
  # 可以自定义端口
  # server:
  #   port: 8089
# 描述项目基础信息
info:
  app:
    name: node16-boot-actuator
    port: 8016
    version: 1.0.0
    author: cicada
Copier après la connexion

3. Explication détaillée de l'interface de surveillance

1.

路径:http://localhost:8016/monitor/info
输出:
{
    "app": {
        "name": "node16-boot-actuator",
        "port": 8016,
        "version": "1.0.0",
        "author": "cicada"
    }
}
Copier après la connexion

2. L'interface Health

health est principalement utilisée pour vérifier l'état d'exécution de l'application

路径:http://localhost:8016/monitor/health
输出:
{
    "status": "UP",
    "details": {
        "diskSpace": {
            "status": "UP",
            "details": {
                "total": 185496236032,
                "free": 140944084992,
                "threshold": 10485760
            }
        }
    }
}
Copier après la connexion

3. L'interface Beans

affiche le type de bean, l'instance unique et les instances multiples, l'alias, le chemin complet de la classe, en fonction. Pot, etc.

路径:http://localhost:8016/monitor/beans
输出:
{
    "contexts": {
        "node16-boot-actuator": {
        "beans": {
            "endpointCachingOperationInvokerAdvisor": {
                "aliases": [],
                "scope": "singleton",
                "type": "org.springframework.boot.actuate.endpoint.invoker.cache.CachingOperationInvokerAdvisor",
                "resource": "class path resource [org/springframework/boot/actuate/autoconfigure/endpoint/EndpointAutoConfiguration.class]",
                "dependencies": ["environment"]
            }
        }
    }
}
Copier après la connexion

4. Interface Conditions

Vérifiez les conditions dans lesquelles la configuration est valide, ou pourquoi la configuration automatique n'est pas valide.

路径:http://localhost:8016/monitor/conditions
输出:
{
    "contexts": {
        "node16-boot-actuator": {
            "positiveMatches": {
                "AuditAutoConfiguration#auditListener": [{
                    "condition": "OnBeanCondition",
                    "message": "@ConditionalOnMissingBean"
                }],
    }
}
Copier après la connexion

5. L'interface HeapDump

génère automatiquement le fichier de vidage du tas Jvm HeapDump Vous pouvez utiliser l'outil de surveillance VisualVM pour ouvrir ce fichier et afficher l'instantané de la mémoire.

路径:http://localhost:8016/monitor/heapdump
Copier après la connexion

6. Interface de mappages

Décrit la relation de mappage entre les chemins URI et les contrôleurs

路径:http://localhost:8016/monitor/mappings
输出:
{
    "contexts": {
        "node16-boot-actuator": {
            "mappings": {
                "dispatcherServlets": {
                    "dispatcherServlet": [ {
                        "handler": "Actuator web endpoint 'auditevents'",
                        "predicate": "{GET /monitor/auditevents || application/json]}",
                        "details": {
                            "handlerMethod": {
                                "className": "org.springframework.boot.actuate.endpoint.web.servlet.AbstractWebMvcEndpointHandlerMapping.Operat
                                "name": "handle",
                                "descriptor": "(Ljavax/servlet/http/HttpServletRequest;Ljava/util/Map;)Ljava/lang/Object;"
                            },
                            "requestMappingConditions": {
                                "consumes": [],
                                "headers": [],
                                "methods": ["GET"],
                                "params": [],
                                "patterns": ["/monitor/auditevents"],
                                "produces": [{
                                    "mediaType": "application/vnd.spring-boot.actuator.v2+json",
                                    "negated": false
                                }, {
                                    "mediaType": "application/json",
                                    "negated": false
                                }]
                            }
                        }
                    }
            }
    }
}
Copier après la connexion

7. Interface ThreadDump

Affiche le nom du thread, l'ID du thread, s'il faut attendre le verrouillage, l'état du thread, le verrouillage du thread et d'autres informations connexes.

路径:http://localhost:8016/monitor/threaddump
输出:
{
    "threads": [{
        "threadName": "DestroyJavaVM",
        "threadId": 34,
        "blockedTime": -1,
        "blockedCount": 0,
        "waitedTime": -1,
        "waitedCount": 0,
        "lockName": null,
        "lockOwnerId": -1,
        "lockOwnerName": null,
        "inNative": false,
        "suspended": false,
        "threadState": "RUNNABLE",
        "stackTrace": [],
        "lockedMonitors": [],
        "lockedSynchronizers": [],
        "lockInfo": null
    }
    ]
}
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:yisu.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal