Я пытаюсь отслеживать время безотказной работы 53 удаленных компьютеров с Windows, расположенных в разных местах. Все они стоят за дешевыми маршрутизаторами потребительского уровня различных производителей, и все они имеют динамические IP-адреса.
Я просто хочу получить список машин, подключены ли они в настоящее время к Интернету, и если они не подключены, когда они регистрировались в последний раз.
Было бы неплохо: простой журнал для каждой машины с указанием времени их отключения.
Мы некоммерческая организация. Я ищу бесплатное решение с открытым исходным кодом.
Моя первоначальная идея заключалась в том, чтобы запустить скрытый IRCbot на каждой машине и автоматически подключаться к каналу. Я мог подключиться к указанному каналу и сразу просмотреть, какие машины были подключены, а в журнале каналов (с достаточным просеиванием) я узнал, какие машины часто отключались.
Друг сказал мне: «Нет, используй нагиос».
После небольшого поиска в Google я добрался до NCclient ++, который я установил на удаленном компьютере, и без особой удачи пытаюсь выполнить проверку с помощью своего нового модуля Nagios.
Я на правильном пути? Может кто-то указать мне верное направление? Я искал в Google более подробное руководство о том, как это сделать, и мне не повезло.
Некоторые возможности: 1) Как насчет использования динамического DNS для каждого хоста? Время последнего опроса, указанное в службе, может быть приблизительным показателем времени безотказной работы.
2) Что-то эквивалентное Logmein Hamachi может создать виртуальную частную сеть из всех хостов. IP-адреса каждого хоста в VPN могут быть статическими. После этого можно будет выполнить обычный мониторинг Nagios. Или просто регулярные запланированные проверки хоста с помощью ping.
3) Я не уверен, подходит ли NSClient ++. Во-первых, NSClient ++ требует, чтобы определенный порт был открыт на обоих хостах, в обеих сетях, в обоих направлениях трафика. Не могу вспомнить порт, но это не часто открытый порт. Вы можете изменить порт, но путь сетевого трафика должен быть свободным. Также используйте в NSClient ++ плагин check_nrpe, а не check_nt.
4) Вы можете рассмотреть NSCA вместо NSClient ++. Это пассивная проверка, то есть NSCA отправляет результаты проверки на сервер Nagios. Таким образом, должен быть открыт только сетевой путь, необходимый для каждого хоста для доступа к серверу Nagios. Может быть, волшебство переадресации портов в роутере? http://exchange.nagios.org/directory/Addons/Passive-Checks/Windows-Passive-checks-for-NSCA/details
Если бы меня заставили сделать что-то подобное, я бы использовал вариант 4 Jmarki, но с nsclient ++. Ваш хост Nagios должен иметь статический IP-адрес и правило брандмауэра, разрешающее доступ к службе NSCA, которая обычно работает на порту 5667. Затем вы настраиваете nsclient ++ для отправки сообщений NSCA этому хосту.
Если вы не можете настроить Nagios со статическим IP-адресом, который может быть достигнут удаленными хостами, вам следует рассмотреть возможность использования такой службы, как DynDNS или аналогичной, чтобы сделать имя хоста доступным для отправки ваших проверок, позволяя обновлять запись DNS. по мере необходимости.
Nsclient ++ документы получить подробную информацию о том, как настроить агент для отправки информации на хост Nagios. После настройки этой стороны вы настраиваете Nagios на прием результатов пассивной проверки. Это тоже хорошо задокументированный на сайте Nagios.
Мы используем нагио ... вы тоже можете использовать нагиос. Главное отличие - наличие вашего «флажка».
Услуга вроде pingdom.com или несколько альтернатива есть много источников, где проверяется служба, поэтому перед подачей предупреждения выполняется множество проверок. С другой стороны, в случае, если ваш nagios потерял связь ТОЛЬКО с другими серверами, вы получите кучу ложных срабатываний.