- Заметки админа
- Поиск по этому блогу
- Проблема в Zabbix: Ping loss is too high при больших задержках
- Проблемы с простыми проверками на zabbix 3.0
- Zabbix: проверка доступности запросом ICMP Ping
- Открытие портов для ICMP ping в Windows Server и Linux
- Установка fping, настройка путей в Zabbix
- Шаблон ICMP Ping в Zabbix и его компоненты
- Создание узла в Zabbix, подключение ICMP Ping шаблона
- Zabbix Documentation 5.4
- Sidebar
- Table of Contents
- 5 Простые проверки
- Обзор
- Поддерживаемые простые проверки
- ICMP пинг
Заметки админа
Поиск по этому блогу
Проблема в Zabbix: Ping loss is too high при больших задержках
Столкнулся с интересной проблемой, до сути которой докопался как-то не сразу, хотя решение в итоге вышло простым. После настройки мониторинга резервных каналов связи на объектах Zabbix стал регулярно ругаться, что на этих элементах большие потери пакетов, хотя по факту их не было. Зато были задержки: по 900 и более мс.
Попытавшись как-то потюнить сам Zabbix, начал копать глубже, в результате чего выяснилось, что простые проверки, реализованные в частности в дефолтном шаблоне системы Template ICMP Ping, опираются на fping с параметрами по-умолчанию, что описано в данной статье. То есть если ответ на ICMP запрос не получен в установленное время, пинг считается потерянным. В моем случае zabbix 3.0 и fping 3.8 значение таймаута по умолчанию составляет 500 мс, что явно меньше того, что требуется. Увеличить это можно в самих настройках шаблона, указав в элементе ICMP loss ключ icmppingloss[. 3000], где 3000 — искомый таймаут (тут каждому свой, я установил 3000 для компенсации роста задержек при нагрузке на канал).
Правда, в моем случае zabbix ругался не на 100% потерю пакетов, а на 33%, т.е. 1 пакета из 3-х. И здесь все логично. С параметрами по-умолчанию zabbix отправляет 3 пакета, и таймаут действителен только для последнего. По окончании таймаута утилита fping завершает работу, возвращая результат. Соответственно, терялся в моем случае только последний пакет.
Диагностировать данную проблему можно собственно утилитой fping:
fping -C 3 -p 1000 -t 2000 192.168.1.1
Используемые в zabbix параметры и их значения по-умолчанию приведены по ссылке выше. Надеюсь, данная статья вам помогла.
Источник
Проблемы с простыми проверками на zabbix 3.0
Доброго времени суток!
Возникли проблемы с настройкой простой проверки на zabbix 3.0 Я прочитал инструкцию, по созданию и запуску проверки, но видимо что-то не уловил. Как я действовал: 1)Создал шаблон «Ping nodes» 2)В этом шаблоне создал группу элементов данных «ping data», а в ней создал элемент данных «ping host» и вписал туда настройки — имя пользователя, пароль для сервера zabbix, интервал проверки, срок хранения истории и т.п. 3)Далее я создал тригер, который выдает предупреждение, если простая проверка icmpping вернула 0 4)Применил данный шаблон к группе из 4 узлов узлов и перезапустил сервис zabbix
НО данные о проверках не поступают.
Подскажите, что я упустил? Заранее благодарен.
Зачем имя пользователя и пароль от сервера?
Для пинга достаточно Тип — Простая проверка и Ключ — icmppingsec
Да, первые данные от хоста придут через период времени, равный периоду проверки.
Думал, что логин пароль от сервера нужны, чтобы пинги посылать.
Поменял ключ проверки на icmppingsec
А вот в выражении для триггера:
«Template ICMP Ping» — это название шаблона или что?
Да, это название шаблона (в данном случае стандартного вроде бы)
Я еще раз сейчас посмотрел — icmppingsec это время ответа узла (в секундах), icmpping — это доступность (1 или 0). Можно поставить триггеры и на то, и на другое.
Там кстати вроде как это все реализовано уже в стандартном шаблоне Template ICMP Ping.
Вот во всех инструкциях написано что этот шаблон уже есть готовый — а в моем списке шаблонов его почему то нет(((
а вот после двоеточия — это название элемента данных? А ‘max’ — это встроенная функция какая-то?
Ага, в общем случае это так.
Для обработки ICMP пинг Zabbix использует внешнюю утилиту fping.
Эта утилита не является частью дистрибутива Zabbix и должна быть установлена дополнительно. Если утилиты нет, у нее выставлены неверные разрешения и её размещение не совпадает с размещением заданным в файле конфигурации Zabbix сервера (параметры ‘FpingLocation’), ICMP пинг (icmpping, icmppingloss, icmppingsec) не будет обрабатываться.
все, разобрался с max, у меня выражение получилось: , , , ].max(120)>=0 через конструктор сделал. Тут получается он должен сработать, если за 120 секунд максимальное значение элемента данных будет 0. Так, проверил путь — в конфиге он указан как: /usr/bin/fping — это путь к самой утилите или к папке с утилитой? потому что в системе сама утилита лежит по адресу /usr/bin/fping/fping также проверил разрешения для этой утилиты — на всякий случай выполнил команды из документации. Там должны быть параметры, передаваемые проверке, в скобках — необязательные. Их можно убрать вместе с квадратными скобками. А сервис сам поймет, что надо подставить ip адрес проверяемого узла? Это нигде указывать не нужно? Будет брать IP прикрепленных узлов а есть ли где нибудь лог проведения проверок? вроде все сделал — а данных все равно нет. а есть ли где нибудь лог проведения проверок? Мониторинг > Последние данные > Фильтр: Имя = ping > График нет, график просто говорит мне, что «нет данных». Но вот почему нет данных можно где то увидеть? У меня в списке стандартных шаблонов есть шаблоны для http и ssh сервисов — я присоединил эти шаблоны к узлам, на которых точно запущены эти http и ssh — И СНОВА нет данных. Источник В этой статье мы рассмотрим пошаговую настройку мониторинга сетевых устройств по протоколу ICMP в системе мониторинга Zabbix с помощью ping. Эта самая простая, но популярная задача безагентного мониторинга, когда вам нужно проверить доступность удаленного сервера, сайта или сетевого оборудования с сервера мониторинга. Zabbix может отправлять ICMP запросы до узла, и если ответ не получен, время ответа (response time) слишком большое или наблюдается большой % потери пакетов, вывести предупреждение в дашборде. Протокол ICMP в основном используется для проверки доступности сетевых узлов. Утилиты ping и traceroute/tracert также работают через ICMP. Для начала нужно настроить файервол на узлах , которые будут мониториться (разрешить icmp ping запросы), а также убедиться, что на сервере Zabbix установлена и сконфигурирована утилита fping. По умолчанию в Windows Server разрешен ICMP ping, но, если по каким-то причинам он был выключен, включить его можно через команду netsh или PowerShell. Запустите командную строку с правами администратора и введите: netsh advfirewall firewall add rule name=»ICMP Allow“ protocol=icmpv4:8,any dir=in action=allow Или аналогичная команда в PowerShell (модуль NetSecurity): Set-NetFirewallRule -Name FPS-ICMP-ERQ-In -Enabled True -Profile Any -Action Allow Эти команды создадут в файерволе правило, которое разрешает входящие ICMP echo запросы. В современных дистрибутивах Linux входящий ICMP также разрешен. Если по каким-то причинам он выключен, то добавьте эти правила в iptables. Выполните команды из-под root/sudo: iptables -I INPUT -p icmp —icmp-type echo-request -j ACCEPT Таким образов вы добавите правила, разрешающие ICMP запросы в самое начало цепочки правил iptables. Если вы используете firewalld для управления правилами фаейрвола, разрешить ответ на icmp ping можно так: firewall-cmd —permanent —direct —add-rule ipv4 filter INPUT 0 -p icmp -s 0.0.0.0/0 -d 0.0.0.0/0 -j ACCEPT В Zabbix для ICMP проверок используется утилита fping. Во многих дистрибутивах Linux эта утилита предустановлена, поэтому для начала проверим её наличие в системе. Зайдите на ваш zabbix сервер и введите команду: Если такой команды нет, установите её с помощью пакетного менеджера: По умолчанию утилита установится в /usr/bin/fping. В случае возникновения проблем с fping, убедитесь что утилита действительно лежит по пути /usr/bin/fping, и если она находится в другой директории, измените указанные ниже строки в zabbix_server.conf, указав корректный путь к fping. В Zabbix по умолчанию есть шаблон Template Module ICMP Ping (может называться иначе, в зависимости от версии Zabbix). Именно его мы будем использовать для мониторинга сетевых узлов через ICMP ping. Шаблон включает в себя 3 проверки: Обратите внимание на колонку Key: icmpping, icmppngloss и icmppingsec, это встроенные в zabbix ключи. Они являются Simple checks, т.е. “простой проверкой”, в которой не участвует zabbix-agent. Полный список Simple checks, для которых не нужно устанавливать агент zabbix на системы, которые нужно мониторить, можно посмотреть здесь https://www.zabbix.com/documentation/current/manual/config/items/itemtypes/simple_checks В шаблоне находятся 3 триггера, которые следят за вышеописанными ключами и их значениями. Некоторые триггеры, например, “High ICMP ping response time” используют макросы шаблона. Значения этих макросов можно изменить во вкладке Macros. Значения, при которых сработает триггер. В этой статье я буду настраивать мониторинг узла с Windows Server. Перейдите в Configuration -> Hosts -> Create Host. Перейдите во вкладку Templates, нажмите Select и выберете Template Module ICMP Ping. Нажмите Add в форме выбора шаблона и затем снова Add для завершения создания узла. В колонке Templates отображаются все шаблоны, подключенные к узлу. Теперь проверим работу мониторинга. Перейдите в Monitoring -> Latest data, нажмите на Select возле Hosts, и выберите узел, который вы только что создали. В столбце Last Value отображаются последние данные, которые пришли с этого узла. Также можно посмотреть на график по определенному значению, например, ICMP Response time. Нажмите ссылку Graph. В случае возникновения проблем, вы сможете увидеть уведомления в дашборде Zabbix. ICMP ping это самая простая и самая базовая проверка доступности для сетевых устройств. Если вы хотите получать больше данных о вашем устройстве, то вы можете настроить мониторинг устройств с помощью агентов Zabbix, по SNMP или другим протоколам. Источник Простые проверки в основном используются для удаленных безагентных проверок сервисов. Обратите внимание, что для простых проверок Zabbix агент не требуется. За обработку (созданием внешних подключений и т.д.) простых проверок отвечает Zabbix сервер/прокси. Примеры использования простых проверок: Список поддерживаемых простых проверок: Смотрите также таблицу со значениями по умолчанию . Смотрите также таблицу со значениями по умолчанию . Обратите внимание, для сервиса tcp обязательно нужно указывать порт. 0.000000 — сервис недоступен сек — количество секунд потребовавшихся для подключения к сервису Обратите внимание, для сервиса tcp обязательно нужно указывать порт. Этот элемент данных поддерживается начиная с Zabbix 3.0, но ntp сервис был доступен в net.tcp.service[] элементе данных и в предыдущих версиях. ] 0.000000 — сервис недоступен секунды — количество секунд прошедшее на ожидания ответа от сервиса Этот элемент данных поддерживается начиная с Zabbix 3.0, но ntp сервис был доступен в net.tcp.service[] элементе данных и в предыдущих версиях. Zabbix не будет обрабатывать простую проверку дольше Timeout (времени ожидания) секунд, заданных в файле конфигурации Zabbix сервера/прокси. Для обработки ICMP пинг Zabbix использует внешнюю утилиту fping. Эта утилита не является частью дистрибутива Zabbix и должна быть установлена дополнительно. Если утилиты нет, у нее выставлены неверные разрешения и её размещение не совпадает с размещением заданным в файле конфигурации Zabbix сервера/прокси (параметры ‘FpingLocation’), ICMP пинг (icmpping, icmppingloss, icmppingsec) не будет обрабатываться. fping должен быть выполняемым под пользователем Zabbix демонов и должен иметь setuid root. Выполните эти команды из под root для выставления корректных разрешений: После выполнения этих двух команд выше проверьте владельца исполняемого файла fping. В некоторых случаях владелец может сброситься при выполнении chmod команды. Также проверьте, принадлежит ли пользователь zabbix к группе zabbix, запустив команду: и если нет добавьте следующей командой: Значения по умолчанию, ограничения и описания значений для параметров ICMP проверок: fping v4.x — отдельное время ожидания для каждого пакета fping v4.x — наследуется от -p флага, но не более чем 2000 Zabbix записывает проверяемые IP адреса во временный файл по всем трем icmpping* ключам, который затем передается утилите fping. Если элементы данных имеют различные параметры ключа, то только элементы данных с идентичными параметрами ключа записываются в один файл. Источник
Zabbix: проверка доступности запросом ICMP Ping
Открытие портов для ICMP ping в Windows Server и Linux
iptables -I OUTPUT -p icmp —icmp-type echo-reply -j ACCEPTУстановка fping, настройка путей в Zabbix
Шаблон ICMP Ping в Zabbix и его компоненты
Создание узла в Zabbix, подключение ICMP Ping шаблона
Введите Host name, выберите группу и укажите IP адрес вашего узла в Agent interfaces.Zabbix Documentation 5.4
Sidebar
Table of Contents
5 Простые проверки
Обзор
Поддерживаемые простые проверки
Ключ ▲ Описание Возвращаемое значение Параметры Комментарии icmpping[ , , , , ] Доступность хоста через пинг по ICMP. 0 — ошибка при пинге по ICMP
1 — успешный пинг по ICMPцель — IP хоста или DNS имя
пакеты — количество пакетов
интервал — время между успешными пакетами в миллисекундах
размер — размер пакета в байтах
время ожидания — время ожидания в миллисекундахПример:
⇒ icmpping[,4] → если по крайней мере один пакет из четырех вернется, элемент данных возвратит 1. icmppingloss[ , , , , ] Процентное отношение потерянных пакетов. Число с плавающей точкой. цель — IP хоста или DNS имя
пакеты — количество пакетов
интервал — время между успешными пакетами в миллисекундах
размер — размер пакета в байтах
время ожидания — время ожидания в миллисекундахСмотрите также таблицу со значениями по умолчанию . icmppingsec[ , , , , , ] Время ответа на пинг по ICMP (в секундах). Число с плавающей точкой цель — IP хоста или DNS имя
пакеты — количество пакетов
интервал — время между успешными пакетами в миллисекундах
размер — размер пакета в байтах
время ожидания — время ожидания в миллисекундах
режим — один из min, max, avg (по умолчанию)Если хост недоступен (превышено время ожидания), элемент данных вернет 0.
Если элемент данных “icmppingsec” вернет значение меньше 0.0001 секунд, значение будет равно 0.0001 секунд. net.tcp.service[сервис, , ] Проверка запущен ли сервис и отвечает ли на TCP подключения. 0 — сервис недоступен
1 — сервис работаетсервис — один из ssh, ntp, ldap, smtp, ftp, http, pop, nntp, imap, tcp, https, telnet (смотри детали)
ip — IP адрес или DNS имя (по умолчанию, используется IP/DNS узла сети)
порт — номер порта (по умолчанию для сервиса используется стандартный номер порта).Пример:
⇒ net.tcp.service[ftp,,45] → можно использовать для проверки доступности FTP сервера на 45 порту TCP.
Эти проверки могут привести к дополнительным записям в системных лог файлах (обычно сессии SMTP и SSH журналируются).
Проверка шифрованных протоколов (таких как IMAP на 993 порту или POP на 995 порту) в настоящее время не поддерживается. Как решение, пожалуйста, для подобных проверок используйте net.tcp.service[tcp, ,порт].
Сервисы https и telnet поддерживаются Zabbix начиная с версии 2.0. net.tcp.service.perf[сервис, , ] Проверка производительности сервиса. Число с плавающей точкой. сервис — один из ssh, ntp, ldap, smtp, ftp, http, pop, nntp, imap, tcp, https, telnet (смотри детали)
ip — IP адрес или DNS имя (по умолчанию, используется IP/DNS узла сети)
порт — номер порта (по умолчанию для сервиса используется стандартный номер порта).Пример ключа:
⇒ net.tcp.service.perf[ssh] → можно использовать для проверки скорости начального ответа от SSH сервера.
Проверка шифрованных протоколов (таких как IMAP на 993 порту или POP на 995 порту) в настоящее время не поддерживается. Как решение, пожалуйста, для подобных проверок используйте net.tcp.service.perf[tcp, ,порт].
Сервисы https и telnet поддерживаются Zabbix начиная с версии 2.0.
Назывался tcp_perf до Zabbix 2.0. net.udp.service[сервис, , ] Проверка запущен ли сервис и отвечает ли на UDP подключения. 0 — сервис недоступен
1 — сервис работаетсервис — возможные значения: ntp (смотри детали)
ip — IP адрес или DNS имя (по умолчанию, используется IP/DNS узла сети)
порт — номер порта (по умолчанию для сервиса используется стандартный номер порта).Пример:
⇒ net.udp.service[ntp,,45] → можно использовать для тестирования доступности NTP сервиса на 45 порту UDP. net.udp.service.perf[service, , Проверка производительности UDP сервиса. Число с плавающей точкой. сервис — возможные значения: ntp (смотри детали)
ip — IP адрес или DNS имя (по умолчанию, используется IP/DNS узла сети)
порт — номер порта (по умолчанию для сервиса используется стандартный номер порта).Пример:
⇒ net.udp.service.perf[ntp] → можно использовать для тестирования времени ответа от NTP сервиса. Обработка времени ожидания
ICMP пинг
Параметр Ед. изм Описание Флаг у fping Значения по умолчанию у Разрешенные ограничения
в Zabbix fping Zabbix мин макс пакеты количество количество требуемых пакетов к цели -C 3 1 10000 интервал миллисекунды время ожидания между успешными пакетами -p 1000 20 без ограничений размер байты размер пакета в байтах
56 байт в x86, 68 байт в x86_64-b 56 или 68 24 65507 время ожидания миллисекунды fping v3.x — время ожидания после отправки последнего пакета (влияет с “-C” флагом) -t fping v3.x — 500 50 без ограничений
Все записанные в один файл IP адреса проверяются fping утилитой в параллельном режиме, таким образом процесс Zabbix icmp pinger тратит фиксированное время вне зависимости от количества IP адресов в файле.