Я работаю на поставщика ИТ-услуг - мы поддерживаем ряд серверов / ПК с Windows и Linux на сайтах наших клиентов. Я ищу способ отслеживать основные данные на этих устройствах (например, использование дискового пространства, использование ЦП, время безотказной работы и т. Д.) И собирать данные в центральном интерфейсе.
Я просмотрел Zabbix и прочитал о Nagios. Однако оба, похоже, требуют, чтобы у наших клиентов был статический внешний IP-адрес и чтобы определенный порт был открыт на брандмауэре клиента, чтобы разрешить двусторонний трафик. Для большинства клиентов это невозможно.
Есть ли способ настроить Zabbix или Nagios для отправки данных от их агентов Windows на наш центральный сервер (с открытым соответствующим входящим портом) без двусторонней связи, которая потребовала бы открытия порта на брандмауэре клиента? Я попробовал Pandora FMS, и он смог это сделать, но в целом продукт мне не понравился. Насколько я могу судить, это потребует от агентов предварительной настройки того, какие данные они должны отправлять, но я не уверен на 100%, читая документацию.
Спасибо заранее за любые советы,
Мэтт
В качестве решения, которое позволит вам использовать любое программное обеспечение агента, которое вы хотите, вы можете рассмотреть возможность использования технологии VPN для инициирования подключений из сети Заказчика к вашей сети мониторинга. Поскольку соединение будет происходить из-за брандмауэра Заказчика, перенаправленный внешний порт не требуется. Точно так же, поскольку Клиент инициирует соединение, на стороне Клиента не требуется статический IP-адрес или динамический DNS.
Вы можете сделать что-то подобное с помощью OpenVPN довольно легко и дешево. Вы можете выбрать отдельный хост в сети каждого клиента, который будет действовать как VPN-шлюз для мониторинга, и проложить маршрут в граничном маршрутизаторе клиента для отправки трафика управления на этот хост VPN-шлюза.
На головном узле вы можете использовать правила брандмауэра, чтобы ограничить трафик, входящий с сайтов клиентов, только вашим трафиком мониторинга / управления (поскольку ваши клиенты потенциально могут начать рыться в вашей сети управления из своей локальной сети). Использование брандмауэра с отслеживанием состояния, такого как iptables, позволит вам разрешить подключения к сетям клиентов, исходящие из сети управления, в то же время запрещая попытки входящих подключений к хостам / портам, не связанным с управлением, которые исходят из сетей клиентов.
Предполагая, что вы обратились ко всем локальным сетям своих клиентов с разными IP-подсетями (что я всегда делал, когда работал в компании типа «управляемые услуги»), вы можете делать все, что я здесь описываю, без каких-либо забавных игр NAT и т. Д.
варианты, доступные вам с zabbix:
использовать активные вещества. собственные агенты zabbix могут работать на большинстве платформ, включая Linux и Windows. в активном режиме они подключаются к серверу через порт 10051, просят проверить, а затем отправляют собранные данные. никаких подключений от сервера к агентам не производится.
использовать прокси zabbix. в этом случае специализированная система будет собирать все данные и передавать их на сервер zabbix. в нормальном, активном режиме к серверу zabbix подключается только прокси zabbix (опять же, через порт 10051) - поэтому нет необходимости разрешать соединения от всех агентов zabbix, только от прокси. Дополнительным преимуществом является возможность мониторинга безагентных систем, таких как коммутаторы, маршрутизаторы, принтеры и все остальное.
начиная с zabbix 1.8.3, у вас также есть возможность вместо этого подключаться к zabbix-серверу (по-прежнему порт 10051), если обратное направление невозможно.
в вашем случае активный прокси zabbix, вероятно, будет лучшим выбором, учитывая, что он также сохраняет собранные данные локально, если сетевое соединение с сервером zabbix не работает. прокси работает только в unix-подобных системах, поэтому у вас, вероятно, есть несколько вариантов - либо установка прокси на одной из существующих машин с Linux, либо настройка выделенного.
учитывая, что это системы клиентов, я бы посоветовал выбрать специализированную. у вас может быть небольшая встроенная система, на которой работают прокси zabbix. вы можете раздать их клиентам в качестве устройств для мониторинга, им нужно будет только подключить их, разрешить исходящее соединение с zabbix сервером через прокси на порт 10051 - и все. больше не требуется настройка на стороне прокси.
Агенты Zabbix имеют активный режим, в котором они активно подключаются к серверу для отправки данных. Это не очень хорошо документировано, но попробовать стоит. Вся настройка выполняется в файле конфигурации агента. Вот ссылка к соответствующим параметрам конфигурации. Вам все равно нужно настроить имя хоста на сервере zabbix.
РЕДАКТИРОВАТЬ: Видимо работает только на Linux-агентах: \
РЕДАКТИРОВАТЬ 2: Zabbix прокси также кажется хорошим решением вашей проблемы, если вы можете хотя бы получить одну машину, работающую в сети клиента.