Привет.
Продолжаем цикл тупых вопросов про мониторинг подкроватного сервера. Дисклеймер: я не профессиональный админ. Нет смысла бить меня тапками за то, что у меня дома нет стоечного железа за сотни нефти с четырёхкратным резервированием всего подряд, или что у меня нет времени и желания разбираться с каким-нибудь заббиксом и писать тонны наколеночных скриптов.
Собственно, есть недосервер, собранный из очень херового железа (вследствие чего какие-то его части регулярно отваливаются) и исполняющий очень херовый софт (который тоже регулярно отваливается, течёт и сегфолтится).
Сейчас я юзаю Netdata с кастомными плагинами + Prometheus + Alertmanager + Grafana. С помощью регулярных выражений и такой-то матери кое-как отконвертил встроенную библиотеку алертов Netdata в формат Prometheus, настроил репортинг на почту + SMS, вроде норм.
Однако, я замечаю, что моя реакция на большинство событий крайне однообразна. Например, если диск уже полминуты репортит 100% загруженности, а количество операций в секунду - 0, значит, подвис SATA-контроллер и его нужно перезапустить. А если не помогло или скрипт вернул 1, то нужно эскалировать алерт до критического.
Я хочу это автоматизировать. Посоветуйте что-нибудь.
Есть ещё одна хотелка, слабо связанная с предыдущей. У меня есть какое-то количество действий, которые выполняются по крону или по более сложным триггерам. Я постоянно логинюсь на сервер только затем, чтобы посмотреть в логи на предмет того, не сфейлилось ли что-нибудь из них, и это тоже хочется автоматизировать.
Поскольку они все оформлены в виде systemd-юнитов, задача упрощается: нужен софт, который будет мониторить события запуска/остановки systemd-юнитов, собирать их логи из journald и что-нибудь с ними делать (например, отсылать на почту или инжектировать как синтетические алерты в тот же Prometheus).
Я понимаю, что обе хотелки можно набросать на питоне и D-Bus за два часа, но не хочу велосипедить без надобности. Вдруг уже есть какой-нибудь клёвый, модный и молодёжный комбайн, который всё это умеет?