Métriques

Mesurez votre stack FlowerDocs

Métriques

La plateforme FlowerDocs expose diverses métriques permettant d’obtenir des retours quantitatifs sur l’utilisation de FlowerDocs Core. Ces métriques concernent différents aspects, de la consommation des services à l’usage de la JVM.

Les métriques sont, pour la plupart, exposées avec des tags permettant de disposer de métriques contextualisées, plus précises.

Métriques applicatives

Composants

Les métriques concernant les composants sont listées dans les tableaux ci-dessous. Elles sont exposées avec des tags permettant de les filtrer en fonction :

  • du scope concerné (scope)
  • de l’exception déclenchée (exception)
Nom Description
createDocuments Créations de documents
getDocuments Récupérations de documents
searchDocuments Recherches de documents
updateDocuments Mises à jour de documents
deleteDocuments Suppressions de documents
addFilesDocuments Ajouts de contenus à des documents
getFileDocuments Récupérations de contenus de documents
getFilesDocuments Récupérations des contenus de documents
promoteVersion Créations d’une version de documents
getVersionsVersion Récupérations des versions de documents
revertVersion Restaurations de versions de documents
Nom Description
createFolders Créations de dossiers
getFolders Récupérations de dossiers
searchFolders Recherches de dossiers
updateFolders Mises à jour de dossiers
deleteFolders Suppressions de dossiers
addChildrenFolders Ajouts de composants dans des dossiers
deleteChildrenFolders Suppressions de composants de dossiers
getStartableTasksFolders Récupérations des tâches pouvant être déclenchées depuis des cases
startTaskFolders Déclenchements de tâches depuis des cases
Nom Description
createVirtualFolders Créations de dossiers virtuels
getVirtualFolders Récupérations de dossiers virtuels
searchVirtualFolders Recherches de dossiers virtuels
updateVirtualFolders Mises à jour de dossiers virtuels
deleteVirtualFolders Suppressions de dossiers virtuels
Nom Description
createTasks Créations de tâches
getTasks Récupérations de tâches
searchTasks Recherches de tâches
updateTasks Mises à jour de tâches
deleteTasks Suppressions de tâches
answerTasks Applications de réponses à des tâches
assignTasks Assignations de tâches

OperationHandler

Les exécutions d’OperationHandlers peuvent également être monitorées à l’aide de métriques :

  • invokeSyncOperationHandler pour ceux exécutés de manière synchrone
  • processAsyncOperationHandler pour ceux exécutés de manière asynchrone

Ces métriques sont publiées avec les tags suivants :

Nom Description
ObjectType Type d’objet concerné
action Action à laquelle l’OperationHandler réagit
phase Phase d’exécution
registration Identifiant de l’abonnement
scope Identifiant du scope concerné
exception Exception provoquée ou none

Une métrique est exposée à partir du moment où l’opération a été exécutée une première fois.

Autres

Des dizaines d’autres métriques sont exposées comme les exports (ZIP ou CSV), les conversions, les authentifications… Celles-ci peuvent évoluer en fonction des versions et peuvent être parcourues dans le système d’export utilisé (voir section ci-dessous).

Métriques techniques

Les principales métriques techniques exposées par FlowerDocs Core sont listées ci-dessous.

Nom Description
process.cpu.usage Usage CPU du processus Java
process.files.max Nombre maximum de fichiers pouvant être ouverts
process.files.open Nombre de fichiers ouverts
process.start.time Heure de démarrage du processus Java
process.uptime Durée de fonctionnement du processus Java
system.cpu.usage Usage CPU du système hôte
Nom Description
jvm.buffer.count
jvm.buffer.memory.used
jvm.buffer.total.capacity
jvm.classes.loaded
jvm.classes.unloaded
jvm.gc.live.data.size
jvm.gc.max.data.size
jvm.gc.memory.allocated
jvm.gc.memory.promoted
jvm.gc.pause
jvm.memory.committed
jvm.memory.max
jvm.memory.used
jvm.threads.daemon
jvm.threads.live
jvm.threads.peak
jvm.threads.states
Nom Description
createDocuments Créations de documents

Consultation des métriques

API REST

Les métriques sont exposées sur le endpoint /actuator/metrics et comme les autres endpoints Actuator. Leur accès requiert une authentification basic d’un compte disposant du rôle SYSTEM_ADMIN.


GET /core/actuator/metrics HTTP/1.1
Authorization: Basic <basic authorization>

GET /core/actuator/metrics/getDocuments HTTP/1.1
Authorization: Basic <basic authorization>

GET /core/actuator/metrics/getDocuments?tag=scope:GEC HTTP/1.1
Authorization: Basic <basic authorization>

Ces web services peuvent être consommés depuis diverses applications de monitoring. Dans ce cas, l’utilisation d’un compte utilisateur spécifique est recommandée.

JMX

Les métriques sont exposées à travers des MBean JMX dans l’espace de nom metrics. Elles peuvent, par exemple, être consultées à l’aide d’outils fournis par un JDK comme jconsole ou jvisualvm (avec le plugin VisualVM-MBeans). Les MBeans ne supportant pas la logique de tags, les noms des métriques publiées sont concaténés avec leurs tags.


Par défaut, la technologie est accessible en local pour monitorer l’application et consulter les MBean.

Cette technologie peut également être utilisée à distance avec une configuration supplémentaire. Typiquement, en ajoutant les propriétés ci-dessous à la JVM, il est possible d’accéder de manière non-sécurisée depuis une machine distante aux MBeans.

-Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.port=6001 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.rmi.port=6001 


Consulter la documentation officielle pour plus d’information.

Amazon CloudWatch

Lorsque le connecteur AWS S3 est utilisé, les métriques sont automatiquement poussées dans AWS CloudWatch permettant leur consultation et la construction de tableau de bord ou d’alertes.

Afin de pouvoir pousser ces métriques, les FlowerDocs Core doivent disposer des permissions adéquates telles que définies par la stratégie ci-dessous.

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "flowerdocs-cloudwatch",
            "Effect": "Allow",
            "Action": [
                "cloudwatch:GetMetricData",
                "cloudwatch:GetMetricStatistics",
                "cloudwatch:PutMetricData"
            ],
            "Resource": "*"
        }
    ]
}

Dans le cas d’une ferme de FlowerDocs Core, il peut être nécessaire d’isoler les métriques par instance. L’identifiant de l’instance FlowerDocs Core concernée peut être ajouté comme tag des métriques en ajoutant la propriété management.metrics.export.cloudwatch.tags.instanceId=true.

Pour désactiver la publication des métriques dans AWS CloudWatch, la propriété management.metrics.export.cloudwatch.enabled=false peut être ajoutée.