Дано: Много клиентских компьютеров разбросанных по всему Интернету.
Надо: Отслеживать техническое состояние этих компьютеров.
Решение…
Все знают, что Zabbix обычно используют для отслеживания состояния серверов и рабочих станций, находящихся в одной сети с Zabbix-сервером, однако, существует возможность следить за состоянием серверов и рабочих станций, расположенных в любой точке мира. Самое главное, — это чтобы у подопечного компьютера имелась возможность выхода в интернет.
Итак, начинаем планировать/создавать систему мониторинга.
1. Выбираем используемые средства.
Выбираем версию Zabbix
Выберем что-нибудь посвежее. Будем использовать Zabbix 4.2 или более новый. На момент написания статьи текущей была версия Zabbix 4.4.
Выбираем тип Zabbix-клиента.
Т.к. наблюдаемые компьютеры часто будут находиться за NAT (за роутером), будем использовать исключительно активного клиента Zabbix. Активный клиент может самостоятельно собирать данные и отправлять их на Zabbix-сервер, этой-то особенностью мы и воспользуемся. Однако, чтобы расширить возможности Zabbix-клиента мы будем использовать разного рода скрипты, которые помогут собирать необходимые нам данные.
Выбираем язык программирования скриптов.
Для написания скриптов можно использовать встроенные в систему возможности: bat-файлы, JS, VBS, PowerShell…
Я буду использовать скрипты написанные на Python. Почему? Потому, что Python имеет больше возможностей, чем bat-файл, и он проще, чем JS, VBS или PowerShell. К тому же PowerShell часто нужно устанавливать дополнительно.
Многие скажут, что Python тоже нужно устанавливать отдельно. Согласен. Однако, после долгих мытарств, проб и ошибок я остановил свой выбор именно на Python.
Маленький нюанс!!! Мой выбор пал на Python 2.7, т.к. последние версии Python 3.х не работают на Windows XP, а 2.7 — работает.
2. Устанавливаем используемые средства
Устанавливаем Python 2.7 на клиентский компьютер
Устанавливаем Zabbix-сервер 4.2 (или выше)
Устанавливаем Zabbix-агента
3. Выбираем параметры для наблюдения.
Начнём с параметров, которые могут свидетельствовать о шалостях или пользователей, или вирусов. Понятно, что пользователь должен работать под ограниченной учётной записью, а на компьютере должен быть установлен антивирус со свежими базами… Однако, нужно понимать, что защиту от пользователя (вируса) построить можно, но только от не изобретательного: пользователи часто проявляют недюжинную изобретательность, а свежие вирусы не обнаруживаются даже солидными антивирусами.