aboutsummaryrefslogtreecommitdiffstats

Как это работает

Скрипт бесконечно (до ручного отключения) собирает информацию с сконфигурированных syz-manager с определенных endpoint'ов и сохраняет их последнее состояние, а также лог изменений в коротком виде (количество +, -) и развернутом (весь лог изменений). Запуск потоков выполняется с помощью asyncio, что гарантирует запуск получения информации каждые N секунд (поле timeout в конфиге).

Установка

Понадобится python3 и модули bs4 и requests.

python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt

Конфигурация

Добавлять менеджеры для наблюдения нужно в config.json в массив managers в формате:

{
    "name": "*Имя менеджера для сохранения результатов и сообщений об ошибках*",
    "http_url": "*Адрес панели инфомации менеджера*",
    "need_expert_mode": "*имеется ли настройка подробности вывода метрик у dashboard*"
}

need_expert_mode необходимо для upstream версии, т.к. в ней dashboard изначально выводит лишь основные метрики, а мы хотим собирать полные.

Добавление (или отключение) наблюдаемых ручек выполняется через массив endpoints. На текущий момент важными являются поля name и http_uri, имеющие аналогичное менеджеру значение. Кроме того поддерживается парсинг метрик в csv, а также парсинг основной страницы syz-manager dashboard для проверки наличия крешей.