Необходимо сделать два systemd unit файла и написать скрипт.
Первый юнит файл запускает при старте системы приложение по пути /opt/webapp/app Приложение может быть написано на любом языке. При запуске оно слушает на localhost: 8888 и протоколу http. Отдаёт свой статус "OK" по урлу /status Юнит файл приложения запускает его без каких либо дополнительных параметров, но при старте системы и после того как поднимется сеть.
Второй юнит файл содержит скрипт проверки ответа веб-приложения, запущенного первым юнит файлом. Запускается через systemd timer раз в 5 минут. Скриптом необходимо опрашивать приложение по его status урлу и при получении ответа "ОК" - считать успехом, в любом другом случае писать в лог ошибку о том, что приложение недоступно или статус получен, но не "OK" .
Если успех - пишет SUCCESS, текущую дату и время последней проверки в файл статуса, перезаписывая его. Если результат получился с ошибкой - перезаписать файл статуса с текстом ERROR, с датой и временем. Сообщения об ошибке можно выбрать любые, но желательно чтобы из них было понятно в чем именно ошибка.
Для проверки домашнего задания необходимо:
- создать приватный репозиторий на github
- пригласить в него преподавателя по логину/почте [email protected]
- создать бранч для первого задания
- все файлы оформить пул реквестом, сделать преподавателя ревьюером.
Сроки выполнения - 2 недели.
Будут оцениваться правильность написания как самих юнит файлов, так и код приложения.
Максимальная оценка - 5 баллов.