Référence des métriques
Le packaging Tick par BlueMind apporte la surveillance d'un grand nombre de données (appelées métriques). Certaines données surveillées sont brutes mais d'autres sont issues de pré-traitements afin d'offrir une plus grande pertinence et de faciliter leur interprétation et analyse.
Chaque métrique comporte une arborescence pouvant contenir :
- datalocation : nom du serveur
- host : nom ou IP de l'hôte
- meterType : le type de donnée
- gauge : mesure instantanée
- counter : compteur à incrémentation
- distsum : couple de données comportant un compteur et une quantité, par exemple :
-lmtpd.emailSize
= (nombre d'emails, taille totale des emails)-lmtpd.emailRecipients
= (nombre d'emails, nombre de destinataires)
- timer : identique au distsum mais la quantité est ici toujours exprimée en nanosecondes
- status : selon le type de données il peut s'agir d'un statut ok/failed (requête aboutie/échouée par exemple), success/failure (authentification réussie/échouée par exemple), etc.
Données communes
De façon générale, les métriques sont regroupées par composant.
JVM
Pour chaque composant, vous pourrez trouver les métriques concernant la JVM :
- bm-<composant>.hprof : le nombre de fichiers hprof existant sur la machine, permet de constater s'il y a eu un plantage
- bm-<composant>.jvm : toutes les informations concernant la jvm pour ce composant (consommation mémoire courante, maximum, etc.)
Heartbeat
Dans chaque composant ayant des interactions avec le core, on retrouvera les métriques suivantes qui servent à surveiller que les données de l'état de santé (heartbeat - littéralement « battement de cœur ») du core sont bien reçues par le composant :
Nom de la métrique | type | contenu | Informations complémentaires |
---|---|---|---|
heartbeat.receiver.age | Gauge | âge de la réception du dernier heartbeat | Correspond à la durée entre 2 heartbeat. Le core est censé envoyer son état de santé toutes les 4 secondes, des durées supérieures, voire dépassant les 8 secondes, doivent donc alerter sur le bon état de fonctionnement de celui-ci |
heartbeat.receiver.failures | Counter | nombre d'échecs de réception | |
heartbeat.receiver.latency | Gauge | durée de réception du heartbeat | durée entre l'émission du heartbeat par le core et la réception par le composant |
heartbeat.receiver.latencyMax | Gauge | durée de réception maximum | |
heartbeat.receiver.received | Counter | nombre de réceptions OK |
Hazelcast
Les serveurs membres du cluster hazelcast comportent la métrique suivante :
Nom de la métrique | type | contenu | Informations complémentaires |
---|---|---|---|
cluster.members | Gauge | la valeur de cette métrique doit être '3' |
Les métriques
Nom de la métrique | type | contenu | Informations complémentaires |
---|---|---|---|
agent.metricsGathered | Counter | nombre de métriques collectées par l'agent | cette métrique sert principalement à vérifier que l'agent est toujours en fonctionnement : l'absence de données indique que l'agent ne collecte plus rien, donc qu'il ne fonctionne plus |
agent.vmware* | données concernant la machine hébergeant l'agent | L'agent est actif uniquement si les vmware tools sont détectés sur les machines hébergeant BlueMind. Dans cas les métriques du "vSphere Guest SDK" sont extraites et historisées. Ces métriques permettent de diagnostiquer des problèmes liés à la façon dont serait virtualisé BlueMind sur vmware. | |
bluemind.cluster | |||
bluemind.cluster.partitions | |||
bm-core | moteur principal de BlueMind | ||
callsCount | Counter | nombre d'appels reçus par le core | |
dirVersion | Gauge | ||
directory.cluster.events | Counter | ||
handlingDuration | Timer | durée de traitement des requêtes | |
heartbeat.broadcast | Counter | ||
heartbeat.maxPeriod | Gauge | ||
heartbeat.period | Gauge | ||
bm-eas | service de connexion mobile | ||
executionTime | Timer | ||
responseSize | DistSum | ||
activeConnections | Gauge | nombre de connexions actives | |
connectionCount | Counter | ||
deliveries | Counter | ||
emailRecipients | DistSum | nombre de destinataires par email | |
emailSize | DistSum | taille des emails | |
sessionDuration | Timer | durée de session | |
traffic.transportLatency | Timer | ||
bm-milter | Analyse et modification des emails au niveau SMTP | ||
connectionsCount | Counter | ||
sessionDuration | Timer | ||
traffic.class | Counter | ||
traffic.size | Counter | ||
bm-webserver | serveur d'application web | ||
appCache.requestTime | Timer | ||
appCache.requests | Counter | ||
ftlTemplates.requests | Counter | nombre de requêtes d'affichage de pages générées par le webserver | |
staticFile.requests | Counter | nombre de requêtes d'affichage de pages statiques | |
bm-ysnp | service de validation des données | ||
authCount | Counter | nombre de demandes traitées | - status ok : demandes validées (par exemple authentification acceptée pour le login/pass entré par une personne) - statuts failed : validation rejetée (par exemple authentification échouée car mot de passe incorrect) |
Autres | |||
cpu | données d'utilisation des processeurs | permet de contrôler l'utilisation et la répartition des processeurs | |
disk | données de gestion de l'espace disque | permet de contrôler l'espace disque utilisé/libre/total/etc. par disque, partition, chemin, etc. | |
diskio | nombre d'octets écrits/lus en temps réel | permet de voir si le disque travaille correctement ou trop | |
elasticsearch* | données concernant ElasticSearch | pour plus d'informations et de détails sur les métriques ES, voir la documentation dédiée | |
influxdb* | données de la base de stockage des métriques | ||
kapacitor* | données concernant l'outil lui-même | ||
kernel | |||
kernel_vmstat | |||
mem | |||
memcached | |||
net | |||
netstat | |||
nginx | |||
phpfpm | |||
postfix_queue | |||
postgresql | informations sur la base de données de BlueMind | ||
processes | |||
swap | |||
syslog | |||
system |