Сервис мониторинг доступности определенного набора сервисов.
Команда для сборки:
make build
Старт сервиса мониторинга:
./scrapper
Конфигурация осуществляется через переменные окружения.
SCRAPPER_SERVER_HOST
- хост сервера, значение по умолчанию127.0.0.1
SCRAPPER_SERVER_PORT
- порт сервера, значение по умолчанию3000
SCRAPPER_SOURCE_FILE
- путь до файла с списоком сервисов для опроса доступности, значение по умолчаниюsites.txt
SCRAPPER_CHECKER_WORKERS
- кол-во параллельных воркеров для опроса сервисов, значение по умолчанию20
SCRAPPER_CHECKER_TIMEOUT
- таймаут запроса при опросе сервиса на доступность, значение по умолчанию5s
SCRAPPER_CHECKER_INTERVAL
- интервал запуска проверок доступности сервисов, значение по умолчанию1m
GET /service/{host}
Метод возвращает время доступа к сервису host
.
Ответ:
{
"host": "google.com", // имя хоста
"available": true, // флаг доступности
"availability_time": 375560059 // время доступа к хосту в наносекундах
}
GET /service/{host}/stat
Метод возвращает статистику запросов от пользователей, которые просматривали время доступа к сервису host
.
Ответ:
{
"request_total": 7, // общее кол-во запросов
"request_per_minute": 6 // кол-во запросов в минуту
}
GET /service/time/min
Метод возвращает сервис с минимальным временем доступа.
Ответ:
{
"host": "google.com", // имя хоста
"available": true, // флаг доступности
"availability_time": 375560059 // время доступа к хосту в наносекундах
}
GET /service/time/max
Метод возвращает сервис с максимальным временем доступа. Данный метод возвращает только доступные сервисы.
Ответ:
{
"host": "google.com", // имя хоста
"available": true, // флаг доступности
"availability_time": 375560059 // время доступа к хосту в наносекундах
}