Kontrakt jest celowo trywialny, ponieważ chodzi o to, byś mógł go przeczytać za jednym razem i
zaimplementować w dowolnym języku, którego Twój zespół już używa. HostTracker wysyła żądanie do Twojego
adresu URL; Twój endpoint odpowiada obiektem JSON niosącym wartość:
{ "v": 42.7 }
To cała wymagana powierzchnia. Dwa opcjonalne pola czynią wynik bardziej użytecznym: e
niesie ciąg tekstowy błędu, gdy wartości nie udało się tym razem odczytać - to dużo lepszy wynik niż
zgłoszenie mylącego zera - a vs niesie własny ciąg wersji, który pojawia się w wyniku,
dzięki czemu wiesz, która wersja kolektora odpowiedziała.
{ "v": 91.4, "e": "", "vs": "collector-2.1" }
Ponieważ sam piszesz odczyt, nie jesteś ograniczony do tego, co potrafi zebrać generyczny agent.
Głębokość kolejki, współczynnik trafień pamięci podręcznej, liczba oczekujących zadań, wiek najstarszego
nieprzetworzonego rekordu, wolne i-węzły, rozmiar katalogu, który nigdy nie może urosnąć - wszystko, co
da się wyrazić liczbą, staje się monitorowaną wartością z dołączonymi do niej progami, historią i
alertowaniem.
Zabezpiecz endpoint. Musi być osiągalny dla checkerów, które go wywołują, więc
traktuj go jak każdy inny publiczny adres URL: umieść go pod trudną do odgadnięcia ścieżką, zachowaj
go tylko do odczytu i udostępniaj wyłącznie te liczby, których odczytanie Ci nie przeszkadza. Nie
przyjmuje żadnych parametrów, które cokolwiek zmieniają, dzięki czemu ekspozycja ogranicza się
dokładnie do jednej wartości.