Контракт намеренно тривиален, потому что смысл в том, чтобы прочитать его за один присест и
реализовать на любом языке, который уже использует ваша команда. HostTracker запрашивает ваш URL; ваша
конечная точка отвечает JSON-объектом со значением:
{ "v": 42.7 }
Это весь обязательный набор полей. Два опциональных поля делают результат полезнее: e
несёт строку с ошибкой, если значение не удалось считать в этот раз - гораздо лучший исход, чем
сообщить вводящий в заблуждение ноль, - а vs несёт собственную строку версии, которая
показывается в результате, чтобы вы могли понять, какая сборка коллектора ответила.
{ "v": 91.4, "e": "", "vs": "collector-2.1" }
Поскольку читатель значения пишете вы сами, вы не ограничены тем, что умеет собирать типовой агент.
Глубина очереди, коэффициент попаданий в кеш, число ожидающих задач, возраст самой старой
необработанной записи, свободные inode, размер каталога, который никогда не должен расти, - всё, что
можно выразить числом, становится отслеживаемым значением со своими порогами, историей и
оповещениями.
Защитите конечную точку. Она должна быть доступна для чекеров, которые к ней
обращаются, так что относитесь к ней как к любому другому публичному URL: разместите её по
непредсказуемому пути, держите её доступной только на чтение и раскрывайте только те числа, которые
вам не жаль показать. Она не принимает параметров, которые что-либо меняют, что ограничивает
раскрываемую поверхность ровно одним значением.