Userparameter zabbix ping windows

Zabbix Documentation 5.2

Table of Contents

5 Пользовательские параметры

Обзор

Иногда вы можете захотеть выполнять проверку через агент, которая не предопределена в Zabbix. В этом случае вам на помощь придут пользовательские параметры.

Вы можете написать команду, которая вернет необходимые вам данные и добавить эту команду как пользовательский параметр в файл конфигурации агента (параметр конфигурации ‘UserParameter’).

Пользовательский параметр имеет следующий синтаксис:

Как вы можете видеть, пользовательский параметр также содержит ключ. Ключ потребуется при настройке элемента данных. Введите ключ на ваш выбор, на который будет легко ссылаться (он должен быть уникальным в пределах узла сети). Перезапустите агента.

Затем, когда настроите элемент данных, введите ключ на который ссылается команда из пользовательского параметра, которую вы хотите выполнять.

Команды из пользовательских параметров выполняются Zabbix агентом. Может быть возвращено до 512КБ данных до шагов предварительной обработки элементов данных. Однако, обратите внимание на то, что такое текстовое значение, которое может быть сохранено в базе данных ограничено 64КБ в MySQL (смотрите информацию по остальным базам данных в таблице).

В операционных системах UNIX используется интерпретатор командной строки /bin/sh. Пользовательские параметры подчиняются времени ожидания проверок на агента; если время ожидания будет превышено, созданный по пользовательским параметрам процесс будет завершен.

Примеры простых пользовательских параметров

Агент будет всегда возвращать ‘1’ для элемента данных с ключем ‘ping’.

Более сложный пример:

Агент будет возвращать ‘1’, если MySQL сервер доступен, ‘0’ — в противном случае.

Читайте также:  Google chrome вылетает windows 10

Гибкие пользовательские параметры

Гибкие пользовательские параметры допускают параметры с указанным ключем. В этом случае гибкие пользовательские параметры могут быть основой для создания нескольких элементов данных.

Гибкие пользовательские параметры имеют следующий синтаксис:

Параметр Описание
Ключ Уникальный ключ элемента данных. [*] задает, что ключ может принимать параметры из скобок. Параметры указываются при настройке элемента данных.
Команда Команда, которая выполняется для получения значения ключа.
Только для гибких пользовательских параметров:
Вы можете использовать ссылки на позиции $1…$9 для того, чтобы обратиться к соответствующему параметру в ключе элемента данных.
Zabbix разбирает параметры заключенные в [ ] ключа элемента данных и заменяет $1,…,$9 в команде соответственно.
$0 будет заменена оригинальной командой (до раскрытия $0,…,$9) для выполнения.
Ссылки на позиции интерпретируются Zabbix агентом независимо от того заключены ли они в двойные (“) или в одинарные (‘) кавычки.
Для использования ссылок на позиции без изменения, укажите двойной символ доллара — например, awk ‘‘. В этом случае $$2 фактически превратится в $2 при выполнении команды.
Пример 1

Очень простой пример:

Мы можем создать неограниченное количество элементов данных для наблюдения за чем угодно, указав в таком формате ping[что угодно].

Пример 2

Давайте добавим больше смысла!

Этот параметр можно использовать для мониторинга доступности баз данных MySQL. В качестве параметров мы можем передать имя пользователя и пароль:

Пример 3

Сколько строк в файле, которые соответствуют регулярному выражению?

Этот параметр можно использовать для подсчета количества строк в файле.

Результат команды

Результирующим значением команды является стандартный вывод вместе со стандартным выводом ошибок.

Пользовательские параметры, которые возвращают текст (символ, журнал, текстовый типы информации) могут возвращать пробел. В случае ошибочного результата элемент данных станет неподдерживаемым.

Zabbix-agent ping remote host

Есть простая, но достаточно популярна задача, а именно пинг с удаленного хоста, другой удаленный хост. В интернетах в основном предлагают использовать доп устанавливаемую fping, мы же пойдем другим путем, напишем свой скрипт, который будет не только проверять отвечает/не отвечает удаленный хост, но логировать время. Скрипт написан для локальной сети, где отсутствует потеря пакетов, в случае потерь или отправки количества больше одного запроса на пинг, его придется модифицировать

На вход в качестве параметра будем принимать имя сервера или ip адрес который нам нужно пинговать, после чего отправляем один запрос (1) и ждем две секунды оставляем только значения ответа в ms, в случае отсутствия ответа — выставляем 9999. Форматирование — съехало, адаптируйте под себя

ping_results=$(ping $pinghost -c 1 -W 2| awk -F= ‘’ | tr -d ‘ ms’ | sed ‘/^$/d’ 2>&1);

if [ -z «$ping_results» ];then
ping_results=»9999″
echo $ping_results
else
echo $ping_results
fi

Сам скрипт мы будем использовать на следующем шаге

Настройки на стороне удаленного сервера с zabbix-agent

Создадим папку со скриптами, выдадим на нее права и сделаем скрипт исполняемым

Если у вас включен selinux

semanage permissive -a zabbix_agent_t

теперь создадим файл с настройками для агента, где $1 — означает, что мы будем передавать нашему скрипту параметры

Ну и рестартуем zabbix -agent

Настройка на zabbix-server

Создаем например новый шаблон, example-template, в нем хорошим тоном будет сразу сделать MACRO, например

Далее идем в Items и создаем свой items для мониторинга, ключевыми параметрами тут являються, имя ключа, которое мы сделали в агенте, а так же MACRO, которое мы сделали в template (имя сервера который надо пинговать).

Так же выбираем тип информации Numeric (float)

Собствено все, можно идти смотреть в lates data, ну либо с сервера заббикса выполнить

Вот так мы достаточно простым скриптом, пингуем с удаленного сервера другой удаленный сервер, без установки доп утили

Читайте также:  Windows 10 professional serial key
Оцените статью