Лучший способ реализовать монитор для нескольких серверов / сервисов
Я хочу создать монитор, который будет отвечать за отслеживание множества разных виртуальных машин (почти всегда на основе Ubuntu). Я планирую тестировать, отправляя запросы, а также тестировать, работают ли определенные службы на определенных виртуальных машинах (может потребоваться какой-то компонент ssh?). Эти данные будут отправлены через REST API в экземпляр cachethq.
Некоторые из сервисов, которые я буду отслеживать, включают в себя: Jira, Confluence, Jenkins (и подчиненные узлы), а также несколько других продуктов из пакета Atlassian.
Я думал о том, чтобы написать что-то на python, которое бы это сделало. У кого-нибудь есть другие предложения, которые были бы лучше?
Спасибо
3 ответа
Допустим, вы настроили свой сервер мониторинга, который выполняет весь мониторинг, который вы описали. И тогда ваш сервер мониторинга отключается. Как ты узнаешь?
Решение этой проблемы рекурсивного мониторинга займет у вас больше времени, чем вы, вероятно, предполагали, поэтому почти никогда не имеет смысла создавать собственное решение для мониторинга.
Я бы использовал недорогой гибкий монитор времени безотказной работы (я неравнодушен к https://wdt.io/), настроил на своих виртуальных машинах задания cron, которые тестируют ваши сервисы, а затем свернул уникальный URL на мониторе времени безотказной работы. Если служба не работает, скручивание не произойдет, и монитор предупредит вас.
Эти сервисы с веб-интерфейсом можно отслеживать напрямую с помощью монитора времени безотказной работы, регулярно проверяя соответствующий URL-адрес.
Nagios - это инструмент для мониторинга инфраструктуры, который является гибким и расширяемым. Это позволяет вам писать свои собственные сценарии, чтобы проверить все, что вам нужно проверить.
Я считаю, что есть платная версия с пользовательским интерфейсом, но вы можете иметь базовую версию бесплатно IIRC.
Исходя из своего опыта, я считаю, что необходимо иметь внутренний мониторинг виртуальной машины (приложение для мониторинга, состояние порта, хост работает, ЦП, ОЗУ...), а также внешний мониторинг через пользовательский опыт (селен) и удаленные проверки. Вся эта информация может быть извлечена с помощью сценария или удаленного выполнения, но почему мы будем работать над этим, когда есть приложения, которые предоставляют нам все это? Вы можете найти приложения сообщества как Pandora FMS ( http://pandorafms.org/en/features/monitoring-software/) с программными агентами, с помощью которых вы можете автоматически извлекать всю системную информацию и с помощью простых команд получить Jira, Confuence.. статус. Он также позволяет добавлять пользовательские сценарии и удаленные проверки ко всем этим виртуальным машинам... Проверьте это