Пакет для работы с health check.
API соответствует RFC
Интерфейс, который используется для HealthCheck.
Метод, который выполняет основной health check.
Метод, который возвращает ComponentID для необходимого health check.
Метод, который возвращает ComponentType для необходимого health check.
Метод, который возвращает имя health check.
ch := NewChecker(CheckerOptions{
Version: "42", // может быть commithash.
ReleaseID: "42", // может быть git tag.
ServiceID: "42", // может быть hostname или ip-адресом.
})
ch.AddCallback("some_callback_name", CheckCallback(func() *CheckResult{
return &CheckResult{} // какой-то ответ.
}))
Создаёт новый HTTP Handler для проверки healthcheck.
В случае, если проверка Checker
вернула хотя бы один Fail
, то статусом HTTP ответа будет 500 Internal Server Error
.
В любом другом случае(pass
или warn
) возвращается HTTP 200 OK
.
ch := NewChecker(CheckerOptions{
ReleaseID: "42",
ServiceID: "42",
Version: "42",
})
ch.AddCallback("callback_name", CheckCallback(func() *CheckResult{
return &CheckResult{}
}))
http.Handle("/health", NewHandler(ch))
http.ListenAndServe(":4242", nil)