Я ищу решение для мониторинга хоста для инфраструктуры, которой я должен управлять.
Поскольку эта инфраструктура является локальной, я хотел бы иметь архитектуру клиент-сервер, в которой клиент периодически сообщает о состоянии внешнему серверу (экземпляру EC2).
Я попробовал Zabbix для этой цели, но он работал не очень хорошо. Соединение разрывается всякий раз, когда агент пытается подключиться к серверу, вероятно, из-за правил брандмауэра. Кроме того, я хотел бы иметь некоторый уровень автоматического обнаружения вместо того, чтобы вручную вводить хосты (это «желание», не обязательно «обязательное»). Я бы попытался добавить Zabbix Proxy, но тогда мне пришлось бы добавить прокси на другом локальном хосте, который должен был бы контролироваться сам (следовательно, сервер на экземпляре EC2)
Zabbix по-прежнему остается одним из лучших вариантов, вам просто нужно потратить больше времени на его настройку. Это предлагает автообнаружение с шаблонами для настройки отслеживаемых служб и предупреждений.
Он также является самостоятельным, бесплатным и с открытым исходным кодом.
Мы отслеживаем с его помощью сотни машин, и он нас никогда не подводил.
Что касается разорванного соединения агента -> сервера, вы должны сначала проверить, разрешает ли брандмауэр вашего сервера входящий порт 10000 для соединения агента, а затем в конфигурации агента, если Директива Server / ServerActive перечисляет IP-адрес сервера.
У меня также был только плохой опыт работы с Zabbix, PRTG, на мой взгляд, лучше во всех отношениях.
В любом случае, вот несколько предложений:
Доступно множество решений для мониторинга. Одним из вариантов является Prometheus, который использует агентов на ящиках и очищает небольшие мини-веб-серверы для определения статуса, который затем можно визуализировать с помощью чего-то вроде графаны.
Другой аналогичный вариант - это Elasticsearch и плагины * beat (filebeat, metricbeat и т. Д.), Которые он использует, но вместо очистки они отправляют в кластер.
В Azure есть набор служб, которые обеспечивают мониторинг и управление сервером для ОС Windows / Linux. Он работает просто путем установки агента на сервер, который подключается к серверу. Для этого не нужен отдельный сервер мониторинга. И он поддерживает мониторинг любых серверов: локальных, AWS или любого другого облака. Проверьте https://docs.microsoft.com/en-us/azure/governance/azure-management
Я считаю, что у AWS есть аналогичное решение под названием CloudWatch, но я никогда не пробовал его лично, поэтому рекомендовать не могу.