{{description>Проверяем наличие или отсутствие файла в файловой системе ПК под управлением Windows при помощи активного агента Zabbix}} ====== Zabbix. Active agent. Проверка наличия файла. ====== [[ http://wiki.mihanik.net/doku.php?id=программное_обеспечение:zabbix:active_agent:проверка_наличия_файла&do=export_pdf | Экспорт в PDF ]] ~~ODT~~ Дата создания: 2024/05/22 16:14 (C) mihanik ===== Дано ===== * Настроенный Zabbix-сервер. * Клиентский ПК зарегистрированный на Zabbix-сервере. ===== Надо ===== * Отслеживать наличие/отсутствие некоего файла на дисках клиентского ПК. Будем проверять наличие/отсутствие установленной программы **wget.exe**. \\ Расположение программы по умолчанию: **"C:/Program Files/Wget/wget.exe"** ===== Решение ===== ==== Шаг 1 ==== Создаём новый шаблон: "Настройка" -> "Шаблоны" -> "Создать шаблон" {{ :программное_обеспечение:zabbix:active_agent:my-file-exists-01.png?direct&600 |}} ==== Шаг 2 ==== - Указываем имя шаблона. Например, **"My Template Module File Exist by Zabbix agent active"**. \\ Имя выбираем на своё усмотрение в соответствии с вашей логикой именования шаблонов. - Выбираем группу шаблонов, в которой будет располагаться наш шаблон. Группу выбираем на своё усмотрение. - Указываем, например, группу **"Templates/Modules"** - Нажимаем кнопку **"Добавить"** {{ :программное_обеспечение:zabbix:active_agent:my-file-exists-02.png?direct&600 |}} ==== Шаг 3 ==== Видим, что шаблон добавлен. {{ :программное_обеспечение:zabbix:active_agent:my-file-exists-03.png?direct&600 |}} ==== Шаг 4 ==== Теперь ищем свой шаблон в списке шаблонов. Для этого: - В форме поиска пишем имя нашего шаблона: **"My Template Module File Exist by Zabbix agent active"**. - Нажимаем кнопку **"Применить"**. \\ При этом наш шаблон отобразится в расположенном ниже списке. - Кликаем левой кнопкой мыши по найденному нашему шаблону для того, чтобы начать его редактирование. {{ :программное_обеспечение:zabbix:active_agent:my-file-exists-04.png?direct&600 |}} ==== Шаг 5 ==== Мы вошли в режим редактирования шаблона. {{ :программное_обеспечение:zabbix:active_agent:my-file-exists-05.png?direct&600 |}} ==== Шаг 6 ==== - Переходим в раздел **"Группы элементов данных"** - Нажимаем кнопку **"Создать группу элементов данных"** {{ :программное_обеспечение:zabbix:active_agent:my-file-exists-06.png?direct&600 |}} ==== Шаг 7 ==== - Указываем имя группы элементов данных. Например, **"Filesystem"**. - Нажимаем кнопку **"Добавить"**. В качестве имени группы данных предлагаю использовать **"Filesystem"**, т.к. **"файл"** по логике относится именно к файловой системе. {{ :программное_обеспечение:zabbix:active_agent:my-file-exists-07.png?direct&600 |}} ==== Шаг 8 ==== - Видим, что группа данных создана. - Группа данных "привязана" к настраиваемому шаблону. {{ :программное_обеспечение:zabbix:active_agent:my-file-exists-08.png?direct&600 |}} ==== Шаг 9 ==== Теперь настроим сбор нужных нам данных, т.е., информацию о том есть файл на ПК или его нет. Для этого... - Переходим в раздел **"Элементы данных"**. - Нажимаем кнопку **"Создать элемент данных"**. {{ :программное_обеспечение:zabbix:active_agent:my-file-exists-09.png?direct&600 |}} ==== Шаг 10 ==== - Указываем имя элемента данных: **File wget.exe exist**. - Выбираем тип агента: **Zabbix агент (активный)**. - Указываем ключ: ** vfs.file.exists["C:/Program Files/Wget/wget.exe"] ** - Тип информации: **числовой (целое положительное)** - Интервал обновления: **1d** - Указываем группу элементов данных: **Filesystem** - Ставим галочку **Активировано** - Нажимаем кнопку **Добавить** Пояснения: - Имя произвольное, желательно чтобы отображало суть собираемых данных. - Выбран активный агент, т.к. шаблон предполагается использовать для ПК, находящихся за NAT. - Указываем имя файла наличие которого проверяем. - Результат проверки будет целым числом: 0 - файла нет, 1 - файл есть. - Обновлять данные чаще 1-го дня нет смысла Далее понятно. {{ :программное_обеспечение:zabbix:active_agent:my-file-exists-10.png?direct&600 |}} ==== Шаг 11 ==== - Видим, что элемент данных добавлен. - Видим, что элемент данных "привязался" к нашему шаблону. {{ :программное_обеспечение:zabbix:active_agent:my-file-exists-11.png?direct&600 |}} ==== Шаг 12 ==== Теперь нам нужно настроить реакцию на получаемые данные. Если файл существует, то ничего не делаем, а если отсутствует, то генерируем событие/уведомление. Для этого... - Идём в раздел **"Триггеры"**. - Нажимаем кнопку **"Создать триггер"**. {{ :программное_обеспечение:zabbix:active_agent:my-file-exists-12.png?direct&600 |}} ==== Шаг 13 ==== - Указываем имя триггера: **Программа wget.exe не обнаружена!**. - Указываем степень важности события: **Предупреждение**. - Нажимаем кнопку **"Добавить"** чтобы запустить мастер, который нам поможет сформировать правильное описание выражения. - Получилось следующее выражение: \\ **{My Template Module File Exist by Zabbix agent active:vfs.file.exists["C:/Program Files/Wget/wget.exe"].last()}=0**. - Ставим галочку, что событие в дальнейшем можно будет закрывать вручную. - При желании указываем описание события: **Триггер срабатывает, если на ПК не обнаружена программа wget.exe**. - Указываем, что триггер нужно активировать. - Нажимаем кнопку **"Добавить"** {{ :программное_обеспечение:zabbix:active_agent:my-file-exists-13.png?direct&600 |}} Мастер, который мы вызывали в пункте 3, выглядит примерно так. {{ :программное_обеспечение:zabbix:active_agent:my-file-exists-14.png?direct&600 |}} Тут, всё понятно. ==== Шаг 14 ==== - Видим, что триггер добавлен. - Видим, что триггер "привязан" к нашему шаблону. {{ :программное_обеспечение:zabbix:active_agent:my-file-exists-15.png?direct&600 |}} ==== Шаг 15 ==== Шаблон готов. Для удобства читателей выгрузил созданный шаблон в файл.\\ Файл прилагаю: {{ :программное_обеспечение:zabbix:active_agent:my_template_module_file_exist_by_zabbix_agent_active.xml |}} Теперь этот шаблон можно применять к узлу сети и наблюдать за собираемыми данными и работой триггеров. {{ :программное_обеспечение:zabbix:active_agent:my-file-exists-16.png?direct&600 |}} Видим, что даннные собираются. Нужный нам файл на ПК присутствует. :-D ===== Источники ===== * https://www.zabbix.com/documentation/5.0/ru/manual/config/items/itemtypes/zabbix_agent * https://www.zabbix.com/documentation/5.0/ru/manual [[#top|⇑ Наверх ⇑]]