Как лучше организовать пет-проект простого мониторинга?
Я делаю простой пет-проект в целях обучения
Это простая система мониторинга, которая будет пинговать хосты (вариантов будет несколько, может POST request)
Это не суть важно
У меня 2 варианта как это сделать
1. Сделать 1 демон (systemd), в котором будет сам пинг хостов (через Background Apscheduler) и какой-нибудь Flask для просмотра статуса в веб-интерфейсе. Соответственно запросы от Apache будут проксироваться на внутренний веб сервер хоть Gunicorn в который обернут Flask
2. Сделать 1 демон, который будет пинговать хосты в фоне и писать в БД, а в отдельном файле сделать Flask, который будет вызываться через Apache WSGI, обращаться к БД и возвращать состояние хостов
В будущем я буду делать доп функционал, например админку, что бы редактировать список хостов, журнал оффлайна хостов и прочее
Предлагаю писать всё приложение во Flask, деплоить на Nginx+UWSGI, демон делать на запуск приложения. Управление настройками, пуском, остановками, базу данных прикрутить на flask-sqlalchemy. Сам пинг делать в python.
У домашних проектов одна беда. Их никогда не заканчивают. Бросают где-то посередине потому-что кроме автора - никому не нужно. По поводу вопроса - бери просто 1-й вариант и делай как проще. Потому-что упрощать на данном этапе - гораздо важнее чем усложнять. Усложнить любой джун сможет. Ведь требований нет.
Мне кажется, что второй вариант будет лучше - так пользовательский интерфейс от демона будет отделён и их можно будет независимо разворачивать и масштабировать.
Мне кажется, что первый вариант тоже по своему лучше, так как это будет один процесс, который легче разворачивать.
Раз уж это ТВОЙ пет проект, то попробуй сделать так, как по твоему мнению будет лучше, используя какие-то свои критерии для оценки, которые будут важны для тебя.
В крайнем случае попробуй реализовать оба варианта