Le contrat est volontairement trivial, car l’objectif est que vous puissiez le lire d’une traite et
l’implémenter dans n’importe quel langage déjà utilisé par votre équipe. HostTracker interroge votre
URL ; votre point de terminaison répond avec un objet JSON contenant la valeur :
{ "v": 42.7 }
C’est là toute la surface requise. Deux membres facultatifs rendent le résultat plus utile :
e transporte une chaîne d’erreur lorsque la valeur n’a pas pu être lue cette fois-ci - un
résultat bien meilleur que de rapporter un zéro trompeur - et vs transporte une chaîne de
version de votre choix, qui apparaît dans le résultat afin que vous sachiez quelle version du
collecteur a répondu.
{ "v": 91.4, "e": "", "vs": "collector-2.1" }
Comme c’est vous qui écrivez le lecteur, vous n’êtes pas limité à ce qu’un agent générique sait
collecter. Profondeur de file d’attente, taux de succès de cache, nombre de tâches en attente, âge du
plus ancien enregistrement non traité, inodes libres, taille d’un répertoire qui ne doit jamais grossir
- tout ce que vous pouvez exprimer sous forme de nombre devient une valeur surveillée, avec des seuils,
un historique et des alertes qui lui sont attachés.
Protégez le point de terminaison. Il doit être joignable par les vérificateurs qui
l’appellent, traitez-le donc comme n’importe quelle autre URL publique : placez-le sur un chemin
impossible à deviner, gardez-le en lecture seule, et n’exposez que les nombres que vous êtes à
l’aise de voir lus. Il n’accepte aucun paramètre qui change quoi que ce soit, ce qui limite
l’exposition à exactement une valeur.