Go to file
Сергей Ванюшкин a5a7321db2 sync 2024-04-16 12:12:44 +00:00
mem_checker sync 2024-04-16 05:32:30 +03:00
tests first commit 2024-04-11 01:35:39 +03:00
.gitignore sync 2024-04-12 21:49:05 +00:00
.pre-commit-config.yaml sync 2024-04-13 04:08:48 +03:00
README.md sync 2024-04-16 12:12:44 +00:00
poetry.lock sync 2024-04-13 04:08:48 +03:00
pyproject.toml sync 2024-04-12 21:49:05 +00:00

README.md

Mem checker

Static Badge

pre-commit

Задание

Написать bash или python или groovy скрипт, который будет контролировать потребление памяти и генерировать alarm путем отправки http запроса на API

Описание

Скрипт использует только стандартную библиотеку python и не требует установки зависимостей. Утилиты free и df используются для получения данных о свободной памяти.

Реализованы несколько классов. Абстрактный класс Command предоставляет базовый(общий для наследников) функционал. С наследованием от Сommand реализованы классы интеракторов, для работы с указанными выше утилитами.

Функция send_alert, отправляет POST запрос со списком alert сообщений, требующих внимания. Ендпоинт для отправки и уровни срабатывания настраиваются в коде.

Для запуска на продакшен сервере, необходимо настроить планировщик(cron, любой другой) на запуск скрипта через необходимые промежутки времени.

Для тестирования возможен запуск скрипта с ключем --test-mode, Данный способ запуска предназначен только ДЛЯ ТЕСТИРОВАНИЯ работоспособности и не рекомендуется для постоянной работы.

Установка и запуск

Клонируем: git clone https://git.pi3c.ru/pi3c/mem_checker.git

Запускаем в тестовом режиме cd ./mem_checker python ./mem_checker/mem_checker.py --test-mode

Проверка отправки Для полного тестирования необходим работающий ендпоинт на сервере, способный принимать POST запросы. json формат отправляемых данных, которые должен обработать ендпоинт: [ { type_msg: str, message: str detail: str, } ]

##ToDo

  • Написать логирование
  • Добавить обработку исключений при парсинге stdout
  • Вынести глобальные переменные в конфигурационные файлы