Présentation

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 :
      • bm-lmtpd.emailSize = (nombre d'emails , taille totale des emails)
      • bm-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 fichier 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étriquetypecontenuInformations complémentaires
heartbeat.receiver.ageGaugeâ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.failuresCounternombre d'échecs de réception
heartbeat.receiver.latencyGaugedurée de réception du heartbeatdurée entre l'émission du heartbeat par le core et la réception par le composant
heartbeat.receiver.latencyMaxGaugedurée de réception maximum
heartbeat.receiver.receivedCounternombre de réceptions OK

Hazelcast

Les serveurs membres du cluster hazelcast comportent la métrique suivante :

Nom de la métriquetypecontenuInformations complémentaires
cluster.membersGauge
la valeur de cette métrique doit être '3'

Les métriques

Nom de la métriquetypecontenuInformations complémentaires
agent.metricsGatheredCounternombre de métriques collectées par l'agentcette métriques 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 permet de diagnostiquer des problèmes liés à la façon dont serait virtualisé BlueMind sur vmware.

bluemind.cluster


bluemind.cluster.partitions


bm-coremoteur principal de BlueMind
callsCountCounternombre d'appels reçus par le core
dirVersionGauge

directory.cluster.eventsCounter

handlingDurationTimerdurée de traitement des requêtes
heartbeat.broadcastCounter

heartbeat.maxPeriodGauge

heartbeat.periodGauge

bm-easservice de connexion mobile
executionTimeTimer

responseSizeDistSum

bm-hpsservice d'authentification
authCountCounternombre de demandes de connexions à BlueMind
  • status success : connexion réussie
  • status failed : connexion échouée (mauvais identifiant et/ou mot de passe
ftlTemplates.requestsCounternombre de pages générées demandées
requestsCountCounternombre de requêtes servies par hps
  • kind : maintenance - affichage de la page de maintenance
  • kind : protected - affichage d'une page protégée

Permet notamment de vérifier le nombre d'affichage effectifs de la page de maintenance. Trop de requêtes de type "maintenance" peut être le signe d'un problème.

staticFile.requestsCounternombre de pages statiques demandéesexemple : page de login
upstreamRequestSizeDistSumtaille des requêtes
upstreamRequestTimeTimerdurée de traitement des requêtes
upstreamRequestsCountCounternombre de requêtes
bm-ipstraçage des opérations IMAP
activeConnectionsGaugenombre de connexions ips actives
bm-lmtpdservice de remise des emails
activeConnectionsGaugenombre de connexions actives
connectionCountCounter

deliveriesCounter

emailRecipientsDistSumnombre de destinataires par email
emailSizeDistSumtaille des emails
sessionDurationTimerdurée de session
traffic.transportLatencyTimer

bm-locatorlocalisation des services
executionTimeTimertemps d'exécution des requêtes
requestsCountCounternombre de requêtes reçues par le service
  • origin : composant ayant émis la requête
  • statusCode : code retour http
bm-milterAnalyse et modification des emails au niveau SMTP
connectionsCountCounter

sessionDurationTimer

traffic.classCounter

traffic.sizeCounter

bm-webserverserveur d'application web
appCache.requestTimeTimer

appCache.requestsCounter

ftlTemplates.requestsCounternombre de requêtes d'affichage de pages générées par le webserver
staticFile.requestsCounternombre de requêtes d'affichage de pages statiques
bm-xmppservice de messagerie instantanée
packetsCountCounternombre de paquets transmis par le servicesert à voir à quel point le service de messagerie est utilisé ainsi que s'il fonctionne correctement ou a cessé de fonctionné
bm-ysnpservice de validation des données
authCountCounternombre 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 processeurspermet de contrôler l'utilisation et la répartition des processeurs
disk
données de gestion de l'espace disquepermet de contrôler l'espace disque utilisé/libre/total/etc. par disque, partition, chemin, etc.
diskio
nombre d'octets écrits/lus en temps réelpermet de voir si le disque travaille correctement ou trop
elasticsearch*
données concernant ElasticSearchpour plus d'informations et de détails sur les métriques ES, voir la documentation dédiée https://github.com/influxdata/telegraf/tree/master/plugins/inputs/elasticsearch
imapd.process


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


  • Aucune étiquette