6.2. API de de supervision¶
Chaque composant VITAM peut dialoguer, selon le paramétrage, via 2 réseaux :
- patte d’administration
- patte de service
Si les partitions ne possèdent qu’une seule interface, les deux « pattes » passent par cette unique interface.
6.2.1. Patte d’administration¶
La solution logicielle VITAM expose en interne de la plate-forme les API REST suivantes sur ses composants:
/admin/v1/status
: statut simple, renvoyant un statut de fonctionnement incluant des informations techniques sur l’état actuel du composant. Un exemple d’utilisation typique est l’intégration à un outil de supervision ou à un élément actif tiers (ex: load-balancer, …) . L’appel doit être peu coûteux./admin/v1/version
: informations de version, build, commit git ayant servi à builder les différents jar./admin/v1/autotest
: autotest du composant, lançant un test de présence des différentes ressources requises par le composant et renvoyant un statut d’état de ces ressources.
6.2.1.1. /admin/v1/status¶
L’API de status renvoie un fichier JSON contenant les informations suivantes:
{
"serverIdentity": {
"Name":"vitam-iaas-app-01",
"Role":"logbook",
"PlatformId":425367
},
"status":true,
"detail": {
},
"componentsVersions": {
"e2eb99d93a74409b3ebc5224e596953e9b8a178f":18
}
}
Signification des champs:
- serverIdentity
- Name: hostname du serveur hébergeant le composant (type: texte)
- Role: Nom du composant (type: texte)
- PlatformId: ID de l’environnement (type: entier)
- status: Statut du composant (OK/KO) (type: booléen)
- detail: vide dans cette version, sera défini ultérieurement
- componentsVersions
- hash de commit git: nombre de jars avec buildés depuis ce hash
6.2.1.2. /admin/v1/version¶
L’API de version renvoie les informations suivantes:
[
{
"Scm-tags":"",
"Scm-commit-id":"e2eb99d93a74409b3ebc5224e596953e9b8a178f",
"Scm-commit-id-abbrev":"e2eb99d",
"Maven-version":"0.13.0-SNAPSHOT",
"Scm-dirty":"false",
"Scm-commit-time":"2017-01-11T16:38:14+01",
"Maven-build-timestamp":"2017-01-11T16:06:09Z",
"Scm-branch":"origin/master_iteration_13",
"Build-Jdk":"1.8.0_111",
"Maven-artefactId":"logbook-rest",
"Maven-groupId":"fr.gouv.vitam"
},
{
"Scm-tags":"",
"Scm-commit-id":"e2eb99d93a74409b3ebc5224e596953e9b8a178f",
"Scm-commit-id-abbrev":"e2eb99d",
"Maven-version":"0.13.0-SNAPSHOT",
"Scm-dirty":"false",
"Scm-commit-time":"2017-01-11T16:38:14+01",
"Maven-build-timestamp":"2017-01-11T16:06:09Z",
"Scm-branch":"origin/master_iteration_13",
"Build-Jdk":"1.8.0_111",
"Maven-artefactId":"logbook-administration",
"Maven-groupId":"fr.gouv.vitam"
},
...
...
...
]
Signification des champs:
- Scm-tags: en cours de définition
- Scm-commit-id: hash de commit git à partir duquel le composant à été buildé
- Scm-commit-id-abbrev: hash de commit abrégé
- Maven-version: Version indiquée à maven dans le fichier pom.xml
- Scm-dirty: Etat du repo git au moment du build (si présence de fichiers unstaged => dirty)
- Scm-commit-time: Date du commit git
- Maven-build-timestamp: Date du build par maven
- Scm-branch: Nom de la branche git à partir de laquelle le composant a été buildé
- Build-Jdk: Version de la jdk ayant servit à builder le composant
- Maven-artefactId: Nom du composant
- Maven-groupId: namespace du composant
6.2.1.3. /admin/v1/autotest¶
L’API d’autotest renvoie les informations suivantes:
{
"httpCode":200,
"code":"000000",
"context":"logbook",
"state":"OK",
"message":"All services are available",
"description":"All services are available",
"errors": [
{
"httpCode":200,
"code":"1",
"context":"LogbookMongoDbAccessImpl",
"state":"OK",
"message":"Sub service is available",
"description":"LogbookMongoDbAccessImpl service is available"
},
{
"httpCode":200,
"code":"2",
"context":"logbook",
"state":"OK",
"message":"Internal service is available",
"description":"vitam-iaas-app-01 service is available"
}
]
}
Signification des champs:
- httpCode: code de retour http
- code: en cours de définition ; futur code retour interne VITAM
- context: Nom du composant
- state: Etat du composant (OK/KO)
- message: Message de statut
- description: Message de description
- errors:
- httpCode: code de retour http
- code: code de retour
- context: nom du composant
- state: État du composant
- message: Message sur l’état du composant
- description: Description sur l’état du composant
6.2.2. Patte de service¶
/<composant>/v1/status
: statut simple, renvoyant un statut de fonctionnement incluant des informations techniques sur l’état actuel du composant. Un exemple d’utilisation typique est l’intégration à un outil de supervision ou à un élément actif tiers (ex: load-balancer, …) . L’appel doit être peu coûteux. Le statut normal HTTP renvoyé est 204.
Avertissement
Les composants vitam-elastic-kibana-interceptor, security-internal, library et les IHM ne possèdent pas ce statut.
Note
Pour le composant security-internal, le point d”API est /v1/status
.