Zabbix создан Алексеем Владышевым и в настоящее время активно разрабатывается и поддерживается Zabbix SIA.
Zabbix это открытое решение распределенного мониторинга корпоративного класса.
Zabbix это программное обеспечение мониторинга многочисленных параметров сети а также состояния и работоспособности серверов. Zabbix использует гибкий механизм уведомлений, что позволяет пользователям настраивать оповещения по почте практически для любого события. Это дает возможность быстро среагировать на проблемы с сервером. Zabbix предлагает отличные возможности отчетности и визуализации данных, базируясь на собранных данных. Это делает Zabbix идеальным инструментом для планирования и масштабирования.
Zabbix поддерживает опрос данных (пуллер) и получение данных (траппер). Все отчеты и статистика Zabbix, также как и параметры настроек, доступны через веб-интерфейс. Веб-интерфейс обеспечивает чтобы состояние вашей сети и жизнедеятельность ваших серверов можно было оценить из любого места. Хорошо настроенный Zabbix может играть важную роль в мониторинге ИТ инфраструктуры. Это так же важно как для малых организаций с несколькими серверами, так и для крупных компаний с множеством серверов.
Zabbix бесплатный. Zabbix написан и распространяется под лицензией GPL General Public License версии 2. Это означает, что его исходный код свободно распространяется и доступен широкой публике.
Так же доступна коммерческая поддержка, которая предоставляется компанией Zabbix.
Zabbix предлагает:
Много организаций разных размеров по всему миру полагаются на Zabbix как на главную систему мониторинга.
Есть несколько целей, которых Zabbix пытается достигнуть:
После более чем года разработки, наконец появился на свет Zabbix 1.8, обладающий не только большим количеством новых функций, но и содержащий исправленные и улучшенные функции из предыдущих версий. Обо всех изменениях, которым подвергся Zabbix 1.8 вы сможете узнать далее в этом разделе.
При столь масштабных изменениях практически невозможно выделить из них несколько наиболее заметных (хотя, ниже всё же будет предпринята попытка). По этой причине рекомендуется ознакомиться с дальнейшим текстом целиком, так как он может содержать данные, возможно не столь важные в целом и для кого-то, но весьма актуальные именно для Вас.
Веб-интерфейс - это то, что выгодно отличает Zabbix от других подобных решений. Мощный и одновременно простой в использовании фирменный графический интерфейс по умолчанию поставляется вместе с установочным пакетом. Он представляет собой как простую в освоении и не пугающую новичков перегруженностью элементами систему, так и чрезвычайно гибкую настраиваемую систему для использования профессионалами в больших корпорациях.
Поскольку Веб-интерфейс - самая заметная для пользователя часть Zabbix 1.8, мы начнём обзор с рассмотрения новых (и улучшенных старых) функций именно веб-интерфейса.
Теперь в Zabbix есть простые в использовании графики, которые не требуют предварительной настройки - они предоставляются автоматически для каждого числового элемента данных. Пользовательские графики, наряду с некоторым упрощением отчётности, позволяют наблюдать за данными контекстно. Zabbix 1.8 предоставляет новые, мощные возможности и инструментарий при использовании встроенных функций отчётности.
Новая категория отчётности и гистограммные отчёты, позволяет взглянуть на данные с различных точек зрения. Желаете взглянуть на еженедельные значения температуры в серверной комнате за последние два месяца? Нужно сравнить загрузку веб-сервера по каждому первому месяцу каждого квартала этого года? Всё это (и даже больше!) возможно с использованием новой функции гистограммных отчётов.
Хотя предыдущие версии Zabbix и обладали многоязыковым интерфейсом (предоставляя желаемый пользователем язык интерфейса), всё же мультиязычность не была по-настоящему глобальной и неотъемлемой частью Zabbix, поскольку самая популярная кодировка Unicode поддерживалась не в полной мере.
Теперь Zabbix 1.8 полностью поддерживает Unicode/UTF-8, что позволяет использовать реальную мультиязычность или использовать нужную локализацию при установке.
В Zabbix, используется унифицированный механизм управления для выбора периода времени для многих сраниц, включая простые и пользовательские графики, простые списки значений, комплексные экраны и веб мониторинг. Уже улучшенная в 1.6, навигация по периодам времени была еще более улучшена в версии 1.8.
Эта полоса прокрутки обеспечивает легкое перемещение и изменение периода времени. Кроме того, ссылки слева дают возможность выбрать предустановленные, часто используемые периоды времени и перемещаться вперед/назад в периоде времени. Даты справа в действительности это ссылки на всплывающий календарь и они дают возможность установить конкретное время начала/конца периода времени.
Вы обратили внимание на ссылку динамически/фиксировано в нижнем правом углу? Её можно использовать для фиксации продолжительности периода времени при изменении начала/конца периода времени.
В дополнение к скриншотам вы можете посмотреть видео использования навигации по временным периодам в графиках.
Графики в Zabbix были улучшены во многих отношениях. Включая визуальные и функциональные улучшения, такие как управление периодом времени, которое уже упоминалось. Например, информация о значениях макс/мин/срд представлена более ясно в виде таблицы.
На графиках или гистограммах в Zabbix время как обычно отображается на оси X. И это представление также было улучшено в новой версии.
Сравнение 1.6 и 1.8:
Как вы уже заметили, подписи теперь легче читаются. Вместо того чтобы отдавать предпочтение неким произвольным моментам времени, лучше в зависимости от масштаба графика, предоставлять фактические моменты времени, такие например как смена дня. Когда нужно Zabbix будет использовать более привычные человеку подписи:
Графики в Zabbix поддерживают несколько стилей линий, и 1.8 дополнен еще одним - градиентная линия. Понять, как это работает, легче на наглядном примере:
В настоящее время, на графиках для формирования текста более приятного глазу, используется шрифт DejaVu, к тому же он совместимый с Юникодом.
Zabbix поддерживает карты сетей, на которые может быть наложен фоновый рисунок для обеспечения более удобного обзора.
В предыдущих версиях, редактирование карт сетей было задачей не из легких - координаты каждого элемента на карте указывались вручную.
Редактирование карт в версии Zabbix 1.8 было значительно улучшено путем добавления поддержки метода “drap and drop”, а также путем отображения деталей выбранного элемента карты во всплывающей форме.
Вы можете просмотреть видео редактирования карты.
В дополнение ко всему, связи на картах могут иметь опциональный текст для отображения различной информации, например для представления загруженности канала передачи данных.
Фоновая карта CC-BY-SA Openstreetmap.
Веб-интерфейс Zabbix обеспечивает удобный способ отображения и визуализации полученных данных, а также настройки всех аспектов контроля и мониторинга.
Раскладка меню конфигурации была переделана в версии 1.8. Вместо отдельных разделов для элементов данных, графиков, триггеров и т.д., разделы объединены в одну группу настроек узлов сети, где очень удобно получить доступ ко всем записям и ко многим другим разделам.
С другой стороны, настройка групп узлов сети была вынесена в отдельное меню настроек.
Еще одним изменением является раздел общих настроек, он перенесен в раздел администрирование во избежание получения доступа пользователями уровня администраторы Zabbix к настройке глобальных параметров.
Порог загруженности или любые другие условия определения проблем могут свободно настраиваться пользователем. Эти определения называются триггерами. Сложные выражения могут быть использованы для каждого триггера для определения того, что считать проблемой.
В дополнение к возможности редактирования выражения триггера напрямую, был добавлен интерфейс визуального создания триггеров.
Так же существует специальный режим для создания триггеров связанных с журналами.
Это дает возможность ввести данные для теста и проверки полученного выражения триггера.
Интерфейс Zabbix предоставляет средства доступа ко всей информации, он может упростить поиск требуемой информации. Предыдущие версии уже предлагали фильтры этой информации, а в версии 1.8 эта ситуация еще улучшена путем добавления новых фильтров, а также улучшены уже существующие фильтры.
Раздел настройки элементов данных, где определены все аспекты настроек, сам по себе дает очень много информации. Возможность быстро найти требуемые данные в записях имеет важное значение при настройке, и в Zabbix 1.8 имеется улучшенный фильтр для элементов данных, который делает возможным более подробный поиск требуемых данных.
После осуществления первоначальной фильтрации становятся доступны подфильтры. В них представлены найденные значения и результаты, которые могут быть отфильтрованы далее.
Ответственность является важной в любой системе с более чем одним пользователем (также как и на многих системах с одним пользователем). Интерфейс Zabbix записывает все осуществленные действия в журнал аудита.
В версии 1.8 в журнале аудита информация может быть отфильтрована по достаточно обширным параметрам для нахождения требуемых изменений.
Смотреть на красивые графики это приятно, но иногда нужны реальные данные. Раздел последних данных в интерфейсе Zabbix дает возможность просмотреть точные значения всех наблюдаемых характеристик.
Сейчас на этой странице имеется возможность фильтровать по именам элементов данных.
Страница триггеров широко используется для отображения списка текущих проблем, и эта страница делает возможным отображение недавних событий по всем проблемам, ограничив количество дней.
В 1.8 версии, эта страница была изменена, предоставлено новые функции, такие как развертывание отдельных триггеров для просмотра и подтверждения всех событий для конкретного триггера.
Фильтры в других разделах интерфейса также были улучшены, для более простого и быстрого поиска данных.
Комплексные экраны в Zabbix это функция для группировки множества элементов в одном экране, включая графики, карты сетей, сырые данные и многое другое. Настроить экран изначально было не очень трудно, но сделать какие-либо изменения в прошлых версиях Zabbix было практически невозможно в некоторых случаях.
Редактирование комплексных экранов было значительно улучшено в версии 1.8. Это включает:
Теперь в правом верхнем углу есть окно ввода поисковых запросов, которое позволяет производить поиск среди узлов сети, групп узлов сети и шаблонов.
Результаты поиска позволяют осуществлять быстрый переход к найденным объектам и их элементам:
Мелкие визуальные изменения в графическом интерфейсе могут также принести большую пользу для пользователя. В Zabbix 1.8 имеется множество мелких улучшений и функций, которые должны сделать работу более приятной и продуктивной.
Сообщения об ошибках теперь отображаются в виде иконок, с сообщением об ошибке можно ознакомиться из всплывающей подсказки. Нажав на иконку откроется всплывающее сообщение, что дает возможность копирования сообщения.
В верхней части интерфейса имеется история недавно посещенных страниц.
При переключении языка интерфейса, в предыдущих версиях Zabbix история посещения страниц не переключалась на новый язык, только новые добавленные записи были на правильном языке.
Во многих местах интерфейса Zabbix информация представляется списком - будь то список узлов сети, элементов данных или триггеров. Эти списки могли долго загружаться на больших установках Zabbix, что значительно замедляло интерфейс.
Zabbix 1.8 поддерживает разбиение длинных списков на несколько страниц. Количество записей на каждой странице настраивается в профиле пользователя.
Большинство записей в списке могут быть выбраны для осуществления некоторых действий над ними.
Маленькое, но долгожданное улучшение в версии 1.8 - выбранные строки теперь подсвечиваются.
Переменная настройки ZBX_SERVER_NAME позволяет внести имя сервера Zabbix, которое будет отображаться в интерфейсе в верхнем правом углу.
Это имя также отображается и в заголовке страницы.
Zabbix поддерживает очень мощную функциональность шаблонов, что делает управление конфигурацией более простым. Шаблоны могут быть присоединены к наблюдаемым узлам сети и они определяют, что и как будет наблюдаться.
Наследуемые присоединенные элементы данных теперь являются более гибкими в Zabbix 1.8 - например, возможно изменить параметры community SNMP или разрешенные узлы сети для элементов данных типа траппер, в элементах данных наследуемых от шаблонов.
В форме создания узла сети теперь IP адрес выбран по умолчанию.
Небольшая полезность для разработчиков, которая также может быть полезна при попытке отыскать корень проблем у пользователей.
Режим отладки включается в настройках группы пользователей.
Давние пользователи Zabbix могут помнить те дни, когда иконки помощи в интерфейсе вели к онлайн руководство. С переходом на онлайн документацию это возможно снова. В Zabbix 1.8 большинство иконок открывает руководство пользователя в новом окне браузера или в новой вкладке.
Начиная с первой версии 1.8, Zabbix предоставляет JSON-RPC API. Эта функция уже позволяет выполнять большинство изменений конфигурации, что дает мощное средство для автоматизированного или сложного управления настройками.
Хотя API само по себе не захватывающее нововведение для обычных пользователей, но оно дает возможность для создания различных утилит. Одна утилита уже создана - утилита командной строки Zabbix или Zabcon.
Zabcon особенно интересен для пользователей, которые хотят выполнять необычные, широкомасштабные изменения, поскольку Zabcon позволяет с помощью скриптов и без навыков программирования достигать этой цели.
Управление Zabbix серверами без установки графического интерфейса, также представляется возможным и конечно же пользователи будут придумывать инновационные и впечатляющие инструменты.
Zabbix используется каждый день в больших и очень больших средах. В версию 1.8 внесено ряд изменений, которые особенно полезны для средних и крупных установках.
При мониторинге сотен и тысяч устройств загрузка сервера мониторинга может стать серьезной проблемой. В Zabbix 1.8 внесено множество разных улучшений производительности в нескольких ключевых направлениях.
Выполняя основную незаметно, Zabbix сервер был значительно улучшен для сбора большего количества данных на том же самом оборудовании. Zabbix прокси так же улучшился в результате улучшения кода сервера.
Сотни пуллеров могут быть выполнятся для большего параллелизма и производительности. Пуллеры не обращаются напрямую к базе данных и используют очень мало ресурсов ЦПУ и памяти.
Кэш базы данных включен по умолчанию и не может быть отключен. Параметр StartDBSyncers был удален из файлов конфигураций Zabbix сервера и прокси.
Введена специальная внутренняя проверка, zabbix[wcache,*] для мониторинга состояния этого кэша.
Чтобы сократить объем данных, который пользователи получают от веб-сервера при использовании веб-интерфейса Zabbix, все рисунки PNG были пережаты для достижения оптимального размера.
Zabbix поддерживает мониторинг метрик SNMP, которые имеют динамические идентификаторы.
В версии 1.8 распознавание индекса и передача данных производится за одно подключение, уменьшая нагрузку на сеть и нагрузку на наблюдаемое устройство.
Для больших или постоянно меняющихся сред внесение этих изменений в конфигурацию Zabbix может оказаться сложной задачей. Zabbix уже поддерживает сетевое обнаружение, и теперь версия 1.8 вносит как улучшение в сетевое обнаружение, так и новые методы автоматического добавления новых устройств для наблюдения.
Сетевое обнаружение, доступное в предыдущих версиях претерпело множество улучшений.
Для сервисов, где это уместно, добавлена поддержка диапазонов портов.
На основании событий обнаружения добавлено две новые операции, тем самым увеличив доступные операции для сетевого обнаружения до 10:
Теперь стандартные обозначения сетевых масок могут быть использованы в сетевом обнаружении, например 192.168.1.0/24.
Если узел сети предоставляет некоторый сервис по нескольким IP адресам, то он будет добавлен как несколько узлов сети в версии Zabbix до 1.8. Начиная с версии 1.8, можно использовать различные критерии уникальности для сервисов, например system.uname у Zabbix агента или любой другой SNMP OID, который может вернуть идентификатор узла сети.
Сетевое обнаружение в Zabbix 1.8 поддерживает все соответствующие функции SNMPv3.
Полностью новая функция в Zabbix 1.8, делает возможным автоматическую регистрацию Zabbix агентов, после чего сервер может начать наблюдать их. Это позволяет добавлять новые узлы сети для наблюдения без любой ручной индивидуальной настройки сервера для каждого узла сети.
Функция может быть также полезна для автоматического мониторинга Облака узлов. Как только у вас появится новый узел в Облаке, Zabbix автоматически начнет сбор данных о производительности и доступности от этого узла сети.
Добавлена поддержка пользовательских макросов (или переменных). Они могут быть определены глобально для системы Zabbix, к шаблону и к узлу сети. Например, определив следующий макрос на уровне узла сети вы можете задавать пользовательские пороги для узла сети, даже если все узлы сети связаны с одним шаблоном:
В этом случае, выражение триггера из шаблона будет:
{ca_001:system.cpu.load[,avg1].min({$CPULOAD_PERIOD})}>{$MAX_CPULOAD}
Была добавлена функция обслуживания узлов сети и групп узлов сети в Zabbix.
Узлы сети, которые находятся в обслуживании отображаются вот таким образом в Мониторинг → Триггеры.
Если проблема произошла в течении периода обслуживания и не была устранена, тогда оповещение будет отправлено после того как период обслуживания завершится.
Если элемент данных с типом Журнал (лог) был добавлен к узлу сети, находящемся в периоде обслуживания, то только новые записи из файла журнала будут собраны после окончания периода обслуживания.
В журнале аудита Zabbix ведется учет всех входов пользователей и изменений в настройках Zabbix.
Журнал аудита в 1.8 улучшен, и вместо того чтобы просто показывать, что что-то изменилось, теперь многие записи имеют информацию о точных изменения, т.е. что и на что изменилось.
Zabbix имеет очень полезные переменные - называемые макросами - для использования в именах элементов данных, уведомлениях и в других местах. В Zabbix 1.8 увеличено количество доступных макросов, а также увеличено количество мест где их можно использовать.
Наряду с существующими, ниже представлены новые макросы, которые могут быть использованы в уведомлениях:
В подписях к элементам на карте сети можно использовать доступные макросы, например для отображения текущего значения некоторого элемента данных.
В Zabbix был добавлен продвинутый редактор регулярных выражений с возможностью для проверки регулярных выражений. Теперь можно определить сложное регулярное выражение с помощью простого в использовании интерфейса и затем использовать как простую ссылку.
В дополнение к улучшению сетевого обнаружения, была реализована поддержка IPv6 для мониторинга по SNMP.
Веб-интерфейс Zabbix основан на PHP. Со времени выпуска последней стабильной версии Zabbix произошли значительные изменения в версиях PHP, что потребовало соответствующих изменений и в веб-интерфейсе Zabbix.
2009.06.30 был выпущен PHP 5.3.0. Потребовалось некоторое время для поддержки требований веб-интерфейса Zabbix.
Последний выпуск исправлений ошибок 2008.01.03 и последняя версия с исправлениями безопасности 2008.08.07, в PHP4 больше не вносятся исправления ошибок.
Zabbix 1.8 требует PHP 5.0 или более позднюю версию.
Мы называем эти улучшения незначительными, но для кого-то одного они могут быть самыми значительными изменениями в Zabbix 1.8.
Веб-мониторинг теперь поддерживает простую аутентификацию через HTTP. Эту возможность можно настроить для каждого сценария.
Хотя Zabbix может быть расширен, но встроенные проверки требуют меньше ресурсов и проще в использовании. В Zabbix 1.8 добавлено несколько новых проверок и улучшено старые.
Появилось несколько новых элементов данных.
Ключ system.cpu.switches может быть использован для узлов сети на Linux.
Добавлен ключ для служб Windows, который может возвращать список служб в указанном состоянии.
Элементы данных ICMP в Zabbix теперь более гибкие. Элемент данных icmpping теперь имеет следующие параметры:
Теперь можно использовать ключ так:
icmpping[10.10.10.10,5,300,128,100]
Это позволяет отправить 5 пакетов по 128 байт хосту с IP 10.10.10.10 и с интервалом 300 мс между пакетами, и с использованием времени ожидания 100 мс.
Элемент данных icmppingsec приобрел все описанные выше параметры, и один дополнительный:
По умолчанию режим установлен в avg.
Для ключей log и eventlog теперь доступен новый параметр - maxlines. Он указывает максимальное количество строк в секунду, которые агент может отправить Zabbix серверу или прокси.
По умолчанию, агент Zabbix не отправляет более 100 строк журнала в секунду. Для быстро растущих файлов можно увеличить это значение, используя новый параметр.
Записи в Журнале событий Windows теперь возможно отфильтровать по типу, источнику и ID события на стороне агента.
Теперь SSH и telnet можно использовать для прямого безагентного мониторинга. SSH поддерживает оба метода аутентификации через пароль и ключ.
Это делает возможным очень эффективный мониторинг удаленных сетевых устройств, приборов и серверов без использования Zabbix агента.
В настоящее время SSH и telnet не могут быть использованы в действиях, эта функция будет доступна в следующих версиях.
Теперь поддерживаются устройства LVM, такие как swap устройства в Linux.
Номер первого ЦПУ в Linux теперь обозначается как 0, что является согласованным с другими операционным системами.
Сейчас если значению входящего десятичного числа (с плавающей точкой) предшествует знак +, то он поддерживается и распознается как положительное число.
Хотя различные базовые значения могли контролироваться ранее с использованием пользовательских параметров, но это было не так просто. Zabbix 1.8 изначально поддерживает два новых типа данных, которые иногда используются в устройствах типа принтеров.
Клиентские утилиты Zabbix zabbix_get и zabbix_sender были перемещены из sbin в bin.
Были изменены примеры файлов конфигурации. Теперь все параметры включены и отображены значения по умолчанию, а также допустимые диапазоны значений.
Добавлены страницы помощи (manpages) для всех процессов Zabbix.
Это означает, что можно определить какие типы сообщений будут отправлены через одно или несколько способов оповещения. Например, все критические сообщения могут быть отправлены с помощью СМС-сообщений, в то время как другие сообщения с помощью и электронной почты и СМС, без необходимости создания нескольких действий.
Была добавлена поддержка параметра -T в zabbix_sender, который позволяет установить штамп времени для каждого значения. Эта опция может быть использована для переноса старых данных истории из различных инструментов мониторинга в базу данных Zabbix для графиков и для долгосрочного анализа.
Возможность вручную разблокировать пользователей, которые были заблокированы в результате сработки защиты от брутфорса.
Нажмите на ссылку Заблокирован, чтобы разблокировать этого пользователя.
Предыдущая версия Zabbix была зависима от библиотеки третьей стороны, которая называется sqlora8. Эта библиотека более не разрабатывается. Поддержка Oracle в настоящее время реализована с использованием родного Oracle Call Interface, который значительно улучшает производительность и стабильность системы Zabbix при использовании Oracle в качестве базы данных.
Если узел сети контролируется через прокси, то состояние узла сети будет правильно отображаться и обновляться в веб-интерфейсе Zabbix.
Zabbix поддерживает мониторинг лог-файлов, а версия 1.8 еще более улучшает эту возможность. Если приложение записывает строки в новый лог-файл с другим именем - например, если имя лог-файла включает в себя дату - теперь такой вариант намного легче контролировать с Zabbix 1.8, для такого случая теперь можно указать регулярное выражение в мониторинге лог-файлов.
Документация из негибкого файла PDF была преобразована в онлайн формат, где каждый может комментировать отдельные страницы документации. Офлайн документация может быть получена с помощью функции экспорта в ODT
Вместо того чтобы просто отображать общее состояние узла сети, в веб-интерфейсе 1.8 отображаются три отдельных состояния методов мониторинга - Zabbix агент, SNMP и IPMI.
Ошибки, связанные с каждым методом хранятся отдельно и могут быть прочитаны путем помещения курсора мыши над значком ошибки.
Смотрите подробную информацию о новых возможностях и улучшениях в других релизах линейки 1.8:
Смотрите раздел установки для получения новых инструкций.
Смотрите раздел обновление для обновления Zabbix с более старых версий.
Перед процедурой обновления, прочтите важные замечания.
В Zabbix 1.8.1 добавлена поддержка нового типа элементов данных - вычисляемые элементы данных. Этот тип позволяет использовать уже полученные данные других элементов данных, делая на ходу все виды расчетов.
Сейчас имеется опция для каждой карты, определяющая отображение одиночных проблем. Если опция отмечена, будет использовано предыдущее поведение - отображается имя триггера, если проблема одна. Если опция отключена, тогда одиночная проблема отображается как “1 проблема”
И воздействие, которое эта опция оказывает на карты:
Узлы сети, к которым пользователь не имеет прав на запись (но имеет права на чтение) отключены в свойствах групп узлов сети и недоступны для операций пользователю. В предыдущих версиях узлы сети не отображались вовсе.
Добавлен новый виджет на dashboard - состояние узла сети. Он отображает группы узлов сети с количеством узлов сети в каждой группе и количество с хотя бы одной проблемой в каждой группе. Поля окрашены в соответствии с цветом триггера с наивысшей важностью.
Начиная с версии 1.8.1, dashboard widget “Состояние Zabbix” и отчет доступны только пользователям с типом Суперадминистратор Zabbix. Кроме того, этот отчет/widget отображает любые найденные проблемы с установкой или настройкой PHP.
Редактирование триггеров теперь имеет цветные элементы данных в зависимости от их состояния - зеленый для включенных, красный для отключенных и серый для неподдерживаемых. Это простое изменение должно помочь в идентификации любых проблем связанных с триггерами.
Добавлена новая опция в фильтр для страницы Мониторинг → Триггеры - “Показывать триггеры с неподтвержденными событиями”. Эта опция скрывает триггеры для всех подтвержденных событий.
Следующие языки были обновлены:
Zabbix dashboard теперь может быть отфильтрован. Кнопка настройки, расположенная в верхнем правом углу, рядом с кнопкой полного экрана, это кнопка настройки - .
После нажатия этой кнопки, будет отображена страница настройки фильтра. По умолчанию фильтрация отключена и ни одна из опций не доступна.
Нажмите на кнопку Деактивирован, для включения фильтра и его настроек. Имеется три доступных категории фильтрации.
Этот фильтр позволяет выбрать, какие группы будут отображены в dashboard. По умолчанию, все группы узлов сети отображаются. Нажмите на Выбрать в выпадающем списке для разрешения отображения только нужных групп узлов сети.
Этот фильтр распространяет свое действие на виджеты Состояние системы, Состояние узлов сети, Последние 20 проблем и на Веб мониторинг.
По умолчанию, все данные для всех узлов сети, находящихся в состоянии обслуживания, отображаются в dashboard. Уберите опцию Отображать узлы сети в обслуживании, чтобы скрыть эту информацию.
Этот фильтр распространяет свое действие на виджеты Состояние системы, Состояние узлов сети, Последние 20 проблем и на Веб мониторинг.
Кроме того, возможно отфильтровать данные, базируясь на важности триггера.
Этот фильтр распространяет свое действие на виджеты Состояние системы, Состояние узлов сети, Последние 20 проблем. Для виджета Состояние системы, будут скрыты соответствующие столбцы.
Нажмите Сохранить и Вы вернетесь в dashboard. Для индикации активного состояния фильтра кнопка настройки подсвечивается - .
Кроме того, в зависимости от состояния фильтра, подсказка на кнопке объясняет состояние фильтра.
Начиная с версии 1.8.2, имеются два изменения:
Теперь полоса прокрутки периода времени стала частью фильтра в верхней части страницы. Кроме того, что полоса прокрутки теперь сверху для всех страниц, ее можно скрыть путем сворачивания фильтра.
Вместо очень ограниченного фильтра времени “Начиная с”, обе страницы (события и журнал аудита/действий) теперь имеют стандартную полосу прокрутки периода времени.
В Zabbix 1.8.2 добавлена поддержка экспорта и импорта сетевых карт.Карты теперь можно экспортировать из соответствующей страницы настроек:
И на этой же странице вы можете найти кнопку импортирования:
При импортировании, есть возможность выбрать перезаписывать существующие карты и добавлять ли новые:
Была добавлена поддержка функций экспорта и импорта комплексных экранов. Комплексные экраны теперь можно экспортировать из соответствующей страницы настроек:
И на этой же странице можно найти кнопку импортирования:
При импортировании возможно выбрать опцию перезаписывать или нет существующие карты, а также добавлять новые:
Элемент экрана “Состояние триггеров” теперь разделен на два новых элемента:
Они позволяют выбрать узел сети или группу узлов сети для фильтрации содержимого элемента, соответственно. Если что-нибудь выбрано, то тогда в выпадающем списке не будет узла сети или группы узлов сети. Если ничего не выбрано, элемент будет работать как и прежде - выпадающие списки интерактивных групп узлов сети и узлов сети позволяют фильтровать опции налету.
Следующие переводы были добавлены:
Следующие переводы были обновлены:
В Zabbix 1.8.2, некоторые функции и выражения триггеров получили новые возможности.
Функции триггеров min, max, avg, last и count теперь поддерживают опциональный параметр - time_shift. Этот параметр позволяет посчитать данные для указанного периода времени в прошлом.
Например, avg(3600,86400) вернет среднее значение за час одним днем ранее. Эта функция дает возможность сравнить среднюю загрузку сегодня со средней загрузкой за то же время вчера:
{host:system.cpu.load.avg(3600)}/{host:system.cpu.load.avg(3600,86400)}>2
Это выражение будет выполняться, если средняя загрузка сегодня за последний час превысит среднюю загрузку за тот же час вчера более чем в два раза.
Была добавлена поддержка новых суффиксов. Новые суффиксы для чисел:
Новые суффиксы времени:
Эти усовершенствования позволяют записывать выражения, которые легче понять и обслуживать, например следующие выражения:
{host:zabbix[proxy,zabbix_proxy,lastaccess]}>120 {host:system.uptime[].last()}<86400
может быть изменено на:
{host:zabbix[proxy,zabbix_proxy,lastaccess]}>2m {host:system.uptime.last()}<1d
Начиная с версии 1.8.2 любые старые эскалации удаляются для конкретного триггера при добавлении нового. Этот метод должен предотвратить множественные сообщения о восстановлении (они также используют модуль эскалаций), бесконечные эсклации из-за неправильной настройки и других проблем.
Zabbix sender приобрел способность получать входные данные из стандартного ввода при указании - в качестве входного файла. Кроме того, флаг -r делает возможным отправку новых значений, как только они были получены, что позволяет следить за файлом, который получает присоединенную информацию, или открыть pipe и передавать туда данные как только они приходят.
Ранее, когда Вы работая, находились не на странице Состояние триггеров или Dashboard а в других местах интерфейса, то не отображалось никакой информации относительно проблем, которые в действительности возникали. Начиная с версии 1.8.3, была добавлена функциональность глобальных оповещений в веб-интерфейсе. Глобальные оповещения представляют из себя отображение сообщения и воспроизведение звукового сигнала, когда Вы работаете в любом месте интерфейса.
Глобальные оповещения могут быть включены каждым пользователем индивидуально в настройках своего профиля. Если включить, тогда становится доступным изменение глобального таймаута оповещения. По умолчанию сообщения будут отображаться на экране 90 секунд.
Кроме того, есть возможность детально настраивать звуковые сигналы оповещений. Имеются три возможных варианта для воспроизведения звукового сигнала:
Это делает возможность получать оповещения о возникновении проблем и их разрешений. Оповещения можно отфильтровать на основе важности триггера. Для каждой важности триггера и его восстановления, звуковой сигнал может быть изменено индивидуально.
Как только возникают оповещения, они сразу будут отображены в плавающей секции с правой стороны экрана. Эту секцию можно перемещать по вертикали в другое место.
Для этой секции доступны несколько средств управления:
Была введена новая опция для карт - возможность маркировать элементы карты, состояние которых изменилось недавно.
При включении этой опции, любые элементы карты, состояние которых недавно изменилось (сработка триггера или его восстановление), будут маркироваться красными треугольниками.
Эти треугольники располагаются сверху, снизу, слева и справа от объекта. Если у объекта имеется подпись, то треугольник не будет отображаться со стороны подписи.
Время отображения этой маркировки такое же как у мигания состояния триггера - 30 минут.
В предыдущих версиях Zabbix ветки 1.8 было нелегко позиционировать иконки в точное место и выравнивать их красиво - перемещение элемента вручную могло привести к потере позиции. Теперь возможность точного позиционирования восстановлена.
Еще большее улучшение - была добавлена возможность выравнивания иконок на карте.
По умолчанию, сетка для выравнивания 50×50. Доступные сетки:
Если выравнивание включено, тогда при перемещении иконка будет пристыковываться в центр ячейки сетки. Нажатие на кнопку Пристыковать иконки выравняет все иконки в ближайших ячейках сетки. Также теперь имеется возможность скрыть сетку при редактировании карты.
Сейчас стало легче править индикаторы связи в картах сети - стиль линии и цвет может быть изменен прямо в списке:
Кроме того, теперь можно за одно действие добавлять несколько индикаторов с таким же стилем и цветом линии:
В предыдущей форме со списком триггеров несколько триггеров сразу могут быть выбраны с помощью галочек.
В сочетании с функцией импорта и экспорта карт сети, стала доступной функция импорта и экспорта фоновых изображений. В диалоге импорта карты есть галочки для импорта фонового изображения и иконок. Эта опция доступна только Zabbix Супер Администраторам.
Теперь имеется возможность более гибко настроить отображение dashboard в зависимости от состояния подтверждения триггера.
В опциях фильтрации на dashboard, доступен новый выпадающий список, Отображение проблемы.
Имеется 3 опции:
Различия между тремя опциями можно посмотреть здесь:
Когда выбран режим Отдельно неподтвержденные, то подсказка для каждого числа отображает соответствующие проблемы как для неподтвержденных так и всех.
В 1.8.3 был изменен раздел настроек для улучшения работы с интерфейсом.
Линия триггера в графиках Zabbix была слабо заметна в последних версиях Zabbix. В версии 1.8.3 ширина линии была увеличена с 1 пиксела до 2 пикселов. Так же добавлены два дополнительных улучшения:
Благодаря этим изменениям линия триггера с почти незаметной изменилась до более заметной - давайте сравним версии 1.8.2 и 1.8.3. В версии 1.8.2 линия триггера незаметна если смотрящий не знает что она там есть.
Вид фильтра журнала был приведен в соответствие с другими фильтрами, в частности появилась возможность его скрыть. Также он был изменен специально для того, чтобы работа с несколькими файлами журналов была проще.
Кроме того, этот фильтр теперь доступен и для элементов данных с типом информации Текст, а не только для элементов данных с типом информации Журнал(лог).
Zabbix 1.8.3 получил два улучшения функциональности глобального поиска.
Глобальный поиск в настоящее время предоставляет найденные совпадения, основанные на введенной строке. Эта строка будет сравниваться только с узлами сети и все найденные совпадения будут представлены в нижнем регистре, независимо от фактического регистра имени узла сети.
Форма результатов поиска была значительно улучшена.
Хотя результаты нового поиска и шире, но теперь они должны быть более функциональными:
На этом скриншоте пользователь имеет доступ на запись только к узлу сети First Linux Server, поэтому опции редактирования других узлов сети недоступны.
Была добавлена поддержка следующих единиц измерения для графиков по оси Y:
Теперь имеется возможность выбрать Все как период в графиках и в других местах.
Ранее, изменение любого параметра при конфигурировании графика приводило к перерисовке графика. Теперь это произойдет только при необходимости. Для принудительной перерисовки была добавлена кнопка Предпросмотр.
Теперь макрос {TRIGGER.EVENTS.UNACK} поддерживается в подписях к элементам на картах. Кроме того, теперь эти макросы распространяются на следующие значения:
Макрос | Значение |
---|---|
{TRIGGER.EVENTS.UNACK} | Количество неподтвержденных событий для элементов карты на карте или для триггера, спровоцировавшего текущее событие в уведомлениях |
{TRIGGER.EVENTS.PROBLEM.UNACK} | Количество неподтвержденных событий ПРОБЛЕМА для всех триггеров изменивших свое состояние без учета их состояния |
{TRIGGERS.UNACK} | Количество неподтвержденных триггеров для элемента карты, без учета состояния триггера |
{TRIGGERS.PROBLEM.UNACK} | Количество неподтвержденных триггеров в состоянии ПРОБЛЕМА для элемента карты |
{TRIGGER.PROBLEM.EVENTS.PROBLEM.UNACK} | Количество неподтвержденных событий ПРОБЛЕМА для триггеров в состоянии ПРОБЛЕМА |
Были добавлены следующие новые макросы:
Макрос | Значение |
---|---|
{TRIGGER.EVENTS.ACK} | Количество подтвержденных событий для элемента на карте, или для триггера сгенерировавшего текущее событие в уведомлениях. |
{TRIGGER.EVENTS.PROBLEM.ACK} | Количество подтвержденных событий ПРОБЛЕМА для всех триггеров без учета их состояния. |
{TRIGGER.PROBLEM.EVENTS.PROBLEM.ACK} | Количество неподтвержденных событий ПРОБЛЕМА для триггеров в состоянии ПРОБЛЕМА. |
{TRIGGERS.ACK} | Количество подтвержденных триггеров для элемента карты, без учета состояния триггера. |
{TRIGGERS.PROBLEM.ACK} | Количество подтвержденных триггеров ПРОБЛЕМА для элемента карты. |
Было улучшено отображение прокси в Администрирование → DM → Прокси добавлением двух новых колонок - количество элементов данных и требуемая производительность (такая же информация отображается в отчете состояния сервера, количество значений в секунду). Эта функция может помочь с оценкой аппаратных требований.
Если элемент данных или триггер наследуется по цепочке от вложенного шаблона, то не всегда было понятно каким образом он прикреплен к узлу сети. Начиная с версии 1.8.3, в заголовке формы редактирования элемента данных или триггера отображается полная цепочка наследования и можно щелкнуть на любой шаблон для чтобы увидеть форму редактирования элемента данных этого шаблона.
В 1.8.2 и в более ранних версиях, история элемента данных с типом информации Текст имела много свободного пространства по вертикали. Из-за этого на экран помещалось малое количество строк. В 1.8.3 количество свободного пространства по вертикали значительно сократилось.
Обратите внимание что при просмотре истории в Zabbix новые записи находятся сверху, поэтому вы должны просматривать строки сверху вниз.
Хотя при просмотре файлов логов было и так немного вертикального свободного пространства, но его удалось еще немного уменьшить даже при добавлении линий таблицы в 1.8.3.
В предыдущих версиях, подписи к оси Y в графиках Zabbix отображались на некотором расстоянии в полномасштабных графиках. В некоторых случаях это приводило к тому, что значения в подписях читались с трудом. Например, есть график от 0 до 10, который имеет метки в 18.33, 36.67 и 91.67. В Zabbix 1.8.3 улучшено вычисление подписей. Zabbix разделит шкалу на некоторые округленные значения таким образом, что в нашем примере значения станут 20, 40 и 80. Кроме того, если у графика есть вручную введенное максимальное значение, то оно будет отображаться всегда. Если при отображении максимальное значение будет перекрываться с последним округленным значением, последнее округленное значение будет скрыто. Например, по шкале от 0 до 110 обе подписи 100 и 110 будут отображены. По шкале от 0 до 101 отображаться будет только подпись 101.
Эти преимущества видны как с большими, так и с маленькими значениями в графиках.
Теперь можно “отсоединить и очистить” (что не только отсоединяет шаблоны, но также и очищает соединенные элементы) шаблоны при массовом обновлении узла сети. Для этой цели, должен быть установлен флажок “Очистить при отсоединении” в секции “Заменить соединенные шаблоны” на странице массового обновления узла сети:
Был улучшен фильтр на странице “Состояние триггеров”. Состояние подтверждения триггера было вынесено в отдельное меню, и стали доступны новые опции фильтрации - “С последними неподтвержденными событиями”. Из-за этих изменений теперь опять возможно отображать все триггеры (включая в состоянии ОК) для всех узлов сети и групп узлов сети.
Кроме того, теперь возможно фильтровать триггеры по возрасту - опция “Старше чем” делает возможным отображать только те триггеры, которые изменили свое состояние за последние N дней.
К тому же, некоторые опции были переименованы для того чтобы сделать более понятным их назначение - например, Выбрать стал Фильтровать по имени.
Вместо предоставления фиксированных периодов, период обновления слайд-шоу теперь может быть выставлен как множитель к значению по умолчанию. Это позволяет снизить или повысить общую скорость смены слайдов, сохранив при этом относительное время отображения каждого слайда.
Следующие новые переводы были добавлены:
Следующие переводы были обновлены:
До версии Zabbix 1.8.3 только Zabbix прокси подключался к Zabbix серверу и поддерживался только такой режим работы. Но если вы хотите разместить внутри локальной сети Zabbix сервер, который будет наблюдать узел сети в DMZ через прокси, то это было невозможно - подключение может быть осуществлено только другим путем.
Начиная с версии 1.8.3, связь между Zabbix сервером и прокси может быть любого направления. Для управления этой возможностью было введено несколько новых параметров.
Новые параметры для прокси:
Новые параметры для сервера:
В дополнение к поддержке элементов данных zabbix[history] и zabbix[trends], теперь Zabbix поддерживает дополнительные элементы данных для мониторинга количества значений в соответствующих таблицах. Обратите внимание, что на большинстве движков баз данных использование этих элементов данных может серьезно ухудшить производительность.
Были добавлены следующие простые проверки:
Внутренний элемент данных Zabbix zabbix[queue] получил поддержку параметров. Сейчас можно задать как долго элемент данных не получал обновления данных. Например, zabbix[queue,6,59] подсчитает все элементы данных которые задерживаются в диапазоне 6-59 секунд включительно. Для этих параметров поддерживаются суффиксы времени, так что следующий синтаксис будет проверять все элементы, которые не были обновлены за период от одной минуты до 6 часов: zabbix[queue,1m,6h].
По умолчанию первое значение 6, и второе значение пустое, что означает бесконечность.
В этой версии изменения коснулись и принципов работы подтверждений. В предыдущих версиях, если триггер был подтвержден и изменил свое состояние в НЕИЗВЕСТНО а затем обратно, тогда это новое событие уже не было подтвержденным (и в свою очередь триггер тоже возвращался в состояние не подтвержден). Начиная с версии 1.8.3, любое подтверждение копируется во все события такого же типа, которые разделенные событиями НЕИЗВЕСТНО. Например, если события возникли в такой последовательности (новые события сверху):
9. ПРОБЛЕМА 8. OK 7. НЕИЗВЕСТНО 6. OK 5. ПРОБЛЕМА 4. НЕИЗВЕСТНО 3. ПРОБЛЕМА 2. OK 1. ПРОБЛЕМА
тогда подтверждение пользователем в веб-интерфейсе события под номером 3 добавит такое же подтверждение и к событию под номером 5 и наоборот. Если новые события будут возникать далее:
11. ПРОБЛЕМА 10. НЕИЗВЕСТНО ...
то в этом случае Zabbix сервер добавит подтверждение (если таковое имеется) из события под номером 9 в новое событие ПРОБЛЕМА под номером 11.
Существует одно исключение - триггеры “Множественные TRUE (ПРОБЛЕМА)” не будут получать подтверждения, скопированные с других событий.
Пришедшая версия MySQL 5.5 больше не поддерживает для таблиц ключевого слова type, и теперь требует использовать ENGINE. Zabbix 1.8.3 изменен для использования ключевого слова ENGINE.
В Zabbix 1.8.4 появился фильтр в настройках узлов сети. В дополнение к возможности выбора группы узлов сети, теперь также можно фильтровать узлы сети по следующим критериям:
Фильтр по Имени, IP и DNS работает и для части строки, а фильтр по Порту срабатывает на точное совпадение.
Ранее, в Zabbix округление значений было жестко задано в исходном коде. Например, в версии 1.8.3 отображается 2 знака после запятой для чисел больших чем 1, и 6 знаков после запятой для чисел меньших чем 1. В версии 1.8.4 порог изменен до 0.01 для уменьшения излишней информации, это нововведение обеспечивает также больше контроля над округлением. В файле определений в веб-интерфейса, можно настроить три новых параметра.
Значение порога для округления констант. Значения, меньшие чем порог, будут округлены до ZBX_UNITS_ROUNDOFF_LOWER_LIMIT количества цифр после запятой, и соответственно значения, большие чем порог, будут округлены до ZBX_UNITS_ROUNDOFF_UPPER_LIMIT количества цифр после запятой. По умолчанию: 0.01
Количество знаков после запятой, когда значение больше порога округления. По умолчанию: 2
Количество знаков после запятой, когда значение меньше порога округления. По умолчанию: 6
Изменением значений по умолчанию можно добиться уменьшения излишней информации в легенде графика для элементов данных наподобии загрузки ЦПУ. Ниже можно увидеть несколько примеров с ново введенными настройками порога округления (легенда во всех примерах базируется на одних и тех же данных):
Чтобы как можно раньше предотвратить любые проблемы с XML, в Zabbix 1.8.4 введена поддержка проверки XML при импорте. В действительности осуществляется проверка основных факторов, таких как структура XML и типов данных. Эта функция Zabbix доступна только при импорте комплексных экранов. Тем не менее, эта проверка должна улучшить качество данных, особенно пользователям, которые генерируют настройки комплексных экранов вне Zabbix.
На основании отзывов пользователей, в этой версии появился новый параметр, который позволяет активировать поддержку старых версий Zapcat. При включении параметра ZAPCAT_COMPATIBILITY можно использовать синтаксис ключей элементов данных, которые без этого параметра были бы отклонены как некорректные. Пожалуйста, обратите внимание, что поддержка этого синтаксиса старых версий будет доступна только в ветке версий 1.8.
Графики в веб мониторинге раньше отображали обратный порядок записей в легенде. Сейчас порядок записей сделан прямым для лучшего соответствия порядку, указанному в настройках веб сценария. Например для таких шагов:
отображение изменено вот таким образом:
Два небольших улучшения доступны в помощнике для редактора выражений триггера.
Теперь можно указать параметр сдвиг времени в функции триггера, используя помощник редактора выражений триггеров.
Ранее при выборе функции для выражения триггера отображались все функции. Сейчас выпадающий список фильтруется и в результате можно выбрать только те функции, которые могут быть использованы для выбранного типа элемента данных.
Теперь должно быть легче редактировать членство узлов сети в группах при небольших инсталляциях Zabbix. При просмотре узлов сети в секции “Прочие узлы сети” появилась возможность отображения списка всех узлов сети, которые не принадлежат текущей редактируемой группе узлов сети.
В Отчеты → Состояние Zabbix (доступно также как виджет на ПАНЕЛИ для Супер-администраторов Zabbix), теперь отображаются хост Zabbix сервера и его порт, так как они сконфигурированы в Веб интерфейсе.
Возможность отображения имени сервера в веб интерфейсе, которая появилась в версии 1.8, теперь может быть настроена с помощью мастера конфигурирования Веб интерфейса.
Было добавлено новое определение для веб-интерфейса - ZBX_HISTORY_DATA_UPKEEP
Этот параметр позволяет переопределять выбор веб-интерфейса при принятии решения что использовать для отображения данных: таблицу истории или таблицу тенденций. Этот параметр указывается в днях. Возможные значения:
По умолчанию поведение не меняется и Zabbix по прежнему использует значение из “Хранить историю” для каждого элемента данных.
Такое поведение может быть полезным в установках с партиционированным хранением данных.
http://zabbix/zabbix/screens.php?screenname=Local%20servers
Параметр screenname имеет больший приоритет, если указаны оба параметра elementid (id комплексного экрана) и screenname.
Если используется параметр screenname, то тогда выбранный комплексный отчет не сохраняется в профиле пользователя - т.е. при следующем переходе на страницу комплексных экранов будет отображен ранее выбранный комплексный экран, а не тот который был выбран ссылаясь по имени.
В AIX, поддерживаемый технологический уровень отображается если выполнять агента с флагом --version. Возможные значения:
Zabbix sender это утилита командной строки для отправки произвольных данных Zabbix серверу.
Утилита zabbix_sender улучшена для отсылки данных в реальном времени. Имеется ввиду, что большое количество значений, полученное за короткий промежуток времени, будет накапливаться во временном стеке и затем они будут отправлены серверу за одно подключение. Данные, которые приходят с интервалом более 0,2 сек. могут накапливаться в одном стеке, но максимальное время их накапливания и последующей отправки все же 1 секунда.
Теперь во входном файле вместо имени узла сети можно использовать символ “-”. Такое обозначение определит, что по умолчанию будет использовано имя узла сети из конфигурационного файла, что позволяет отправлять данные, используя всегда локальное имя узла сети вместо его жесткого указания.
Была улучшена производительность Zabbix сервера в работе функций триггеров last и prev, теперь эти функции не запрашивают избыточной информации из базы данных.
В веб-мониторинге уменьшен размер используемой памяти.
Уменьшен размер и фрагментация памяти кеша конфигурации.
Идеология пуллеров недоступности снова внедрена вместе с возвращением конфигурационного параметра Zabbix сервера StartPollersUnreachable
.
По умолчанию Zabbix сервер больше не компилируется с поддержкой libcurl - теперь это следует указывать явно.
Добавлена поддержка нескольких новых макросов для Уведомлений.
{PROXY.NAME}
теперь доступен в уведомлениях от триггеров, сетевого обнаружения и автоматической регистрации активных агентов{HOSTNAME}
теперь доступен в уведомлениях от автоматической регистрации активных агентов{ITEM.VALUE}
в уведомлениях от триггеровДобавлена функция триггера strlen, которая возвращает количество символов последнего значения.
Улучшены сообщения об ошибках в файле журнала Zabbix сервера относительно Веб мониторинга - теперь они будут включать информацию о сценарии и о шаге в котором возникает сообщение об ошибке.
Утилита, используемая в Zabbix для осуществления ICMP пингов fping, не очень активно поддерживается, поэтому несколько ее возможностей доступны только в виде патчей. Одна из них это возможность указать исходящий IP, которая может либо не поддерживаться или поддерживаться при использовании различных флагов (-S или -I). Если параметр SourceIP определен в конфигурационном файле Zabbix сервера, то Zabbix попытается указать исходящий IP для fping. До версии 1.8.4, Zabbix сервер всегда передавал -S. Если он не поддерживался, то проверка завершалась ошибкой. Начиная с версии 1.8.4, Zabbix сервер пытается определить поддерживаются ли -S или -I. Если ни один не поддерживается, тогда fping запускается без указания параметра исходящего IP.
Это определяется путем просмотра вывода fping -h. В Zabbix 1.8.4, каждый процесс пингования определяет возможности fping индивидуально в момент запуска.
Пользовательские параметры в файлах демона агента вынесены в отдельный файл, который в свою очередь включен в основной конфигурационный файл. Так же было добавлено больше примеров.
Добавлена поддержка дополнительного типа БД - IBM DB2.
Пользовательские макросы теперь можно использовать в дополнительных местах:
Для веб-мониторинга теперь поддерживается NTLM (Windows NT LAN Manager) аутентификация.
Теперь можно использовать технологического партнера Zabbix Ez Texting для отправки сообщений без использования пользовательских способов оповещений - его можно выбрать как один из поддерживаемых встроенных способов оповещений, параметры доступа могут быть установлены в определениях способа оповещения.
Если Zabbix сервер скомпилирован без поддержки Веб мониторинга, но есть попытки использования Веб мониторинга, тогда информативное сообщение будет отображаться в веб интерфейсе:
На требуемую карту сети в Веб интерфейсе теперь можно ссылаться не только по id, но и по имени, так же как и для комплексных экранов в 1.8.4. Добавив параметр GET mapname откроется карта сети с указанным именем, например:
http://zabbix/zabbix/maps.php?mapname=Drag%20and%20drop%20map
Параметр mapname имеет больший приоритет в случае, если указаны оба параметра sysmapid (ID карты сети) и mapname.
Если используется параметр mapname, то тогда выбранная карта сети не сохраняется в профиле пользователя - т.е. при следующем переходе на страницу карт сетей будет отображена ранее выбранная карта сети, а не та которая была выбрана ссылаясь по mapname.
Параметр совместимости с Zapcat, добавленный в 1.8.4, был удален. Вместо этого, был переработан парсер выражений для непосредственного принятия синтаксиса Zapcat.
Последовательность пунктов Обнаружение и IT услуги в меню настройки была изменена. Это сделано для соответствия разделу мониторинга.
Была увеличена производительность Zabbix агента, особенно для систем с большим количеством ядер.
Zabbix агент теперь при старте выводит типы внутренних процессов так же как это делает сервер. Пример журнала запуска Zabbix агента:
943:20110224:111750.848 agent #0 started [collector] 943:20110224:111750.848 agent #1 started [listener] 943:20110224:111750.850 agent #2 started [listener] 943:20110224:111750.851 agent #3 started [listener] 943:20110224:111750.851 agent #4 started [active checks]
Был добавлен новый внутренний элемент данных для мониторинга состояния процессов Zabbix. Элемент данных zabbix[процесс,<тип>,<режим>,<состояние>] позволяет наблюдать занятость или простой в процентах различных серверных процессов Zabbix за последнюю минуту.
Теперь стало возможным определять сколько времени каждый внутренний процесс Zabbix сервера находится в занятом состоянии. Это должно помочь с оценкой производительности, в оценке как много процессов пуллеров использовать и для более точной настройки задач в Zabbix.
Были изменены лимиты на внутренние процессы Zabbix демона. Эти изменения касаются демонов Zabbix сервера и прокси.
Опция | Лимит ранее | Новый лимит |
---|---|---|
StartDBSyncers | 64 | 100 |
StartDiscoverers | 255 | 250 |
StartHTTPPollers | 255 | 1000 |
StartIPMIPollers | 255 | 1000 |
StartPingers | 255 | 1000 |
StartPollersUnreachable | 255 | 1000 |
StartPollers | 255 | 1000 |
StartProxyPollers | 255 | 250 |
StartTrappers | 255 | 1000 |
Для демона Zabbix агента, максимальное значение StartAgents было увеличено с 16 до 100.
Была добавлена поддержка прослушивания всех адресов IPv4 и IPv6 одновременно.
Была добавлена поддержка использования глобальных (устанавливаемых пользователем) регулярных выражений в Zabbix прокси.
Добавлены конфигурационные файлы для запуска демонов в Ubuntu.
Было добавлено несколько функций для триггеров.
У демонов Zabbix сервера и прокси теперь получили возможность перезагрузить по запросу кэш конфигурации в памяти. Это можно сделать через параметр -R или --runtime-control и опцию контроля выполнения. В данное время только одна опция контроля выполнения поддерживается - config_cache_reload.
Дополнительным преимуществом при использовании активных прокси Zabbix является то, что активные прокси будут запрашивать конфигурацию с сервера Zabbix после получения этого запроса.
Когда демон получает такой запрос, он также записывает его в журнал. Если запрос отправляется в то время как конфигурация кэша обновляется, он игнорируется (но в файл журнала записываются данные о сигнале).
Была добавлена поддержка PostgreSQL 9+.
При нажатии на даты в верхнем правом углу прокрутки времени появляется всплывающий календарь с полями ввода времени. Ранее можно было только подтверждать кликнув на дату, также клик на дату использовался для закрытия всплывающего меню. Таким образом, для выбора времени и даты, нужно было сначала ввести время, а затем нажать на дату. В Zabbix 1.8.7 улучшено удобство этого всплывающего меню. Была добавлена кнопка Готово. Теперь нажатие на дату не закрывает всплывающее меню, пользователь может выбрать желаемую дату и время и нажать на Готово когда будет доволен выбором.
Кроме того, была добавлена кнопка Сейчас, которая устанавливает в календаре дату и время текущего момента (но не закрывает всплывающее меню).
Нажатие снова на строку даты/времени закроет всплывающее меню и отменит изменения.
Сейчас при создании нового действия для триггеров, автоматически добавляется два дополнительных условия:
Был добавлен флаг searchWildcardsEnabled
в API. Если он установлен в 1, wildcards базы данных могут быть использованы в шаблоне поиска.
Zabbix сервер может уведомить пользователей из указанной группы пользователей в случае недоступности базы данных. Ранее Zabbix сервер загружал информацию о пользователях только при запуске. Теперь строжевой (watchdog) процесс загружает эту информацию каждые CacheUpdateFrequency секунд, каждые 60 секунд по умолчанию. Это не зависящая загрузка от обновления общего конфигурационного кэша, при этом загрузка не влияет на принудительную загрузку кэша.
Улучшена производительность Zabbix сервера при расчете выражений триггеров.
Процессы, которые получают значения из кэша истории и затем помещают их в базу данных - history syncers (настраивается через параметр конфигцрации сервера StartDBSyncers) принимают до 1000 значений в каждой итерации и вычисляют все триггеры, которые ссылаются на соответствующие элементы данных. Ранее, расчет каждой функция триггера приводил к отдельному запросу в базу данных. Начиная с Zabbix 1.8.8, подготавливается один SQL запрос для всех функций у всех триггеров, которые были добавлены на обновление синхронизатором истории (history syncer).
Кроме того, если есть несколько триггеров в этой партии, которые проверяют текстовые или журнальные элементы данных, в этом случае последние два значения для элементов данных такие же как эти, кэшируются для выполнения текущего запуска.
В общей сложности, это приводит к тому что значительно снижается количество запросов в базу данных и, следовательно, к улучшению производительности.
Эти же улучшения влияют на внутренний процесс timer (в настоящее время только один такой процесс может быть запущен), которые вычисляют триггеры включающие в себя функции на основе времени.
Синхронизаторы истории пытаются взять новую партию значений из истории кэша каждые 0-5 секунд, после того как завершат работу над предыдущей партией на основе того как много значений было получено ранее (например, если было получено 1000 значений, синхронизатор истории сделает следующую попытку незамедлительно сразу после окончания работы).
Теперь макрос {TRIGGER.ID} поддерживается в веб-интерфейсе и в оповещениях, если он используется в поле URL триггера.
Улучшена производительность подтверждения событий.
Были улучшены сообщения в журнале Zabbix сервера об ошибках проверок. Ранее, если произошла ошибка при проверке, Zabbix сервер записывал в журнал сообщения похожие на эти:
Zabbix host [monitored host]: first network error, wait for 15 seconds Zabbix host [monitored host]: another network error, wait for 15 seconds
После 3 ошибок наподобии этих, узел сети должен быть отключен и в журнал будет записано сообщение:
Disabling Zabbix host [monitored host]
Если узел сети стал доступным, то в журнале появлялась запись говорящая об этом:
Enabling Zabbix host [monitored host]
Начиная с Zabbix 1.8.9, журналирование было улучшено. Во-первых, теперь в сообщении есть какой конкретно ключ элемента данных ошибочный, что позволяет увидеть случается ли проблема с несколькими элементами данных или только с одним:
Zabbix agent item [proc.num[sshd]] on host [monitored host] failed: another network error, wait for 15 seconds Zabbix agent item [system.cpu.load] on host [monitored host] failed: another network error, wait for 15 seconds
Кроме того, также журналируются все сбои каждого типа элемента данных (в этом примере, ошибка Zabbix агента).
Если узел сети решил стать недоступным и затем доступным, то теперь сообщения стали более подробными и так же включают тип проверки:
temporarily disabling Zabbix agent checks on host [monitored host]: host unavailable enabling Zabbix agent checks on host [monitored host]: host became available
И было введено новое сообщение, если узел сети ответил после одной или двух неудачных попыток (прежде не журналировалось совсем):
resuming Zabbix agent checks on host [monitored host]: connection restored
Эти изменения должны помочь в гораздо более простой отладке коннективности или в вопросах с проблемами конфигурации - например, если все проблемы с узлом сети связаны с пользовательским параметром, то это скорее всего проблемы производительности выполняемой командой.
Начиная с Zabbix 1.8.9 состояние подтверждения полностью синхронизируется с дочерних нод на главную ноду.
Была улучшена производительность Zabbix сервера путем пропуска в некоторых крайних случаях обновления значения для отключенных или удаленных элементов данных.
Начиная с Zabbix 1.8.9, при запуске демонов Zabbix, они будут ждать доступности базы данных. Это должно помочь, когда база данных запущена после загрузки системы до запуска демонов Zabbix, но еще пройдет много времени до её готовности.
Производительность Zabbix агента на AIX была улучшена сбором только данных perfstat, если это потребуется.
Процесс очистки (housekeeper) в Zabbix сервере ранее журналировал только количество значений, которые были удалены из истории и тенденций. Начиная с Zabbix 1.8.10 так же журналируются количество значений для удаленных элементов данных, событий, оповещений и сессий.
Сообщения об ошибках в глобальных скриптах теперь предполагают возможные причины проблем.
Смотрите раздел установки из исходных кодов для получения наиболее подробных сведений.
Старые агенты от Zabbix 1.0, Zabbix 1.1.x, Zabbix 1.4.x и Zabbix 1.6.x могут быть использованы совместно с Zabbix 1.8. Не требуется никаких изменений в конфигурации на стороне агента.
Listener failed with error: socket() for [[(null)]:10051] failed with error 97: Address family not supported by protocol.
socket() for [[-]:10050] failed with error 22: Invalid argument
Завершение работы при обнаружении дубликатов узлов сети, введенное в версии 1.8.8, было удалено.
Было введено ограничение на принимаемые данные в 128МБ при использовании Zabbix протокола. Любые другие данные (включая старые протоколы Zabbix) все еще ограничены 16МБ.
Дополнительные или повышенные требования к системе:
Смотрите также изменения в требованиях для версий 1.8.2, 1.8.3 и 1.8.9.
Из-за изменений в веб-интерфейсе, некоторые установки могут некорректно отображать старые данные в веб-интерфейсе. К ним относятся:
Следующие шаги должны быть выполнены для успешного обновления с Zabbix 1.6.x до 1.8. Вся процедура обновления может занять несколько часов, в зависимости от размера базы данных Zabbix.
Остановите Zabbix сервер, чтобы быть уверенным, что новые данные не будут записываться в базу данных.
Это очень важный шаг. Убедитесь, что у вас есть резервная копия базы данных. Копия базы данных поможет если процедура обновления завершится неудачно (закончилось свободное место на диске, потеря питания, любые другие неожиданные проблемы).
Сделайте резервную копию исполняемых файлов Zabbix, файлов настроек и PHP файлов.
Вы можете использовать уже скомпилированные исполняемые файлы или скомпилировать свои.
Некоторые параметры в zabbix_server.conf изменились в 1.8, а также добавились новые параметры. Вы можете ознакомиться с ними.
Перед запуском скриптов обновления удалите существующие индексы:
MySQL
alter table dhosts drop index dhosts_1; alter table dservices drop index dservices_1; alter table httptest drop index httptest_2; alter table httptest drop index httptest_3; alter table history_log drop index history_log_2; alter table history_text drop index history_text_2; alter table actions drop index actions_1; alter table escalations drop index escalations_2; alter table graphs_items drop index graphs_items_1; alter table graphs_items drop index graphs_items_2; alter table services drop index services_1;
Oracle или PostgreSQL
drop index dhosts_1; drop index dservices_1; drop index httptest_2; drop index httptest_3; drop index history_log_2; drop index history_text_2; drop index actions_1; drop index escalations_2; drop index graphs_items_1; drop index graphs_items_2; drop index services_1;
Игнорируйте любые сообщения предупреждений о несуществующих индексах!
Скрипты обновления базы данных размещены в папке upgrades/dbpatches/1.8/<db engine>:
Обновление базы данных занимает около 10-15 минут, для PostgreSQL эта процедура может занять несколько часов и более из-за преобразования накопленных данных истории. Рекомендуется предварительно протестировать процедуру обновления в непроизводственной среде.
Убедитесь, что у вас достаточно полномочий (создание таблицы, удаление таблицы, создание индексов, удаление индексов). Также убедитесь, что вы имеете достаточно свободного места на диске.
Эти скрипты предназначены только для обновления с Zabbix 1.6.x до 1.8! Для обновления с более ранних версий используйте скрипты из Zabbix 1.6.x.
Следуйте инструкции по установке.
Запустите новые исполняемые файлы. Проверьте файлы журналов чтобы убедиться что исполняемые файлы запустились успешно.
Проверьте домашнюю страницу Zabbix по адресу http://www.zabbix.com для получения информации о текущей версии и инструкций по загрузке исходных кодов.
Zabbix распространяется в виде исходного кода, однако имеются дистрибутивы уже скомпилированных исполняемых файлы для разных ОС.
Zabbix требуется и оперативная память, и память на жестком диске. 128 МБ оперативной памяти и 256 МБ свободного места на жестком диске, может быть неплохо для начала. Тем не менее, объем необходимой памяти диска, очевидно, зависит от количества узлов сети и параметров, которые будут контролироваться. Если вы планируете сохранять историю контролируемых параметров длительный срок, вы должны иметь ввиду, что по крайней мере будет нужно иметь несколько гигабайт для хранения данных истории в базе данных. Каждый процесс демона Zabbix требует несколько подключений к базе данных. Объем памяти, необходимой для подключения к базе данных, зависит от настроек базы данных.
Zabbix и особенно база данных может потребовать значительных процессорных ресурсов в зависимости от количества контролируемых параметров и выбранной базы данных.
Потребуется Последовательный порт передачи данных и GSM модем для использования СМС уведомлений встроенных в Zabbix. Конвертер USB-to-serial так же будет работать.
В таблице приводятся несколько вариантов аппаратных конфигураций:
Имя | Платформа | ЦПУ/Память | База данных | Количество контролируемых узлов сети |
---|---|---|---|---|
Маленькая | Ubuntu Linux | PII 350MHz 256MB | MySQL MyISAM | 20 |
Средняя | Ubuntu Linux 64 bit | AMD Athlon 3200+ 2GB | MySQL InnoDB | 500 |
Большая | Ubuntu Linux 64 bit | Intel Dual Core 6400 4GB | RAID10 MySQL InnoDB или PostgreSQL | >1000 |
Очень большая | RedHat Enterprise | Intel Xeon 2xCPU 8GB | Fast RAID10 MySQL InnoDB, PostgreSQL или Oracle | >10000 |
В связи с требованиями безопасности и критически важных контролируемых серверов, только операционная система UNIX является единственной операционной системой, которая может обеспечить необходимую производительность, отказоустойчивость и гибкость. Zabbix работает на всех ведущих версиях ОС.
Zabbix протестирован на следующих платформах:
Zabbix построен на современном ВЕБ сервере Apache, ведущих СУБД, и языке сценариев PHP.
Следующее программное обеспечение потребуется для работы Zabbix:
Приложение | Версия | Комментарии |
---|---|---|
Apache | 1.3.12 или более поздняя | |
PHP | 5.0 или более поздняя | |
PHP модули: php-gd | GD 2.0 или более поздняя | Модуль PHP GD должен поддерживать формат PNG. |
Поддержка PHP TrueType | --with-ttf | |
Поддержка PHP bc-math | php-bcmath, --enable-bcmath | |
Поддержка PHP XML | php-xml или php5-dom, если поставляется как отдельный пакет от дистрибьютора | |
Поддержка сессий PHP | php-session, если поставляется как отдельный пакет от дистрибьютора | |
Поддержка сокетов PHP | php-net-socket, --enable-sockets. Требуется для поддержки пользовательских скриптов. | |
Поддержка PHP multibyte | php-mbstring, --enable-mbstring | |
IBM DB2 ibm_db2 | Требуется, если используется IBM DB2 в качестве базы для Zabbix. | |
MySQL php-mysql | 3.22 или более поздняя | Требуется, если используется MySQL в качестве базы для Zabbix. |
Oracle oci8 | Требуется, если используется Oracle в качестве базы для Zabbix. | |
PostgreSQL php-pgsql | 7.0.2 или более поздняя если Zabbix < 1.8.9 7.4 или более поздняя если Zabbix >= 1.8.9 | Требуется, если используется PostgresSQL в качестве базы для Zabbix. Подумайте об использовании PostgreSQL 8.x или более поздней версии для большей производительности. Предлагаем использовать по крайней мере PostgreSQL версии 8.3, который показывает очень хорошую производительность VACUUM. |
SQLite php-sqlite3 | 3.3.5 или более поздняя | Требуется, если используется SQLite в качестве базы для Zabbix. |
Требуется поддержка HTML и PNG изображений. MS Explorer (5.xx и 6.xx) и Mozilla 1.x работают отлично. Cookies и Java скрипты должны быть включены. Поддерживаются последние версии Mozilla Firefox, Microsoft Internet Explorer, Opera и Konqueror. Также и другие браузеры (Google Chrome, Apple Safari) могут работать с Zabbix.
Требование | Описание |
---|---|
OpenIPMI | Требуется для поддержки IPMI |
libssh2 | Требуется для поддержвки SSH. Версия 1.0 или более новая. |
fping | Требуется для элементов данных ICMP ping. |
Сервер и прокси Zabbix поддерживают пять СУБД:
Данные конфигурации Zabbix требуют фиксированное количество дискового пространства и сильно не увеличиваются.
Размер базы данных Zabbix в основном зависит от следующих переменных, которые определяют историю собранных данных:
Это среднее количество новых значений, которые Zabbix сервер получает каждую секунду. Например: Если имеется 3000 элементов данных с интервалом проверки 60 секунд, то количество обрабатываемых запросов за секунду рассчитывается 3000/60 = 50. Это означает, что каждую секунду в базу данных Zabbix добавляется 50 новых записей.
Zabbix хранит значения определенный период времени, обычно несколько недель или месяцев. Каждое новое значение требует определенный объем дискового пространства и индексов.
Так что, если требуется сохранение истории 30 дней и каждую секунду в базу данных добавляется 50 новых записей, общее количество значений будет равно примерно (30*24*3600)* 50 = 129.600.000 или около 130М значений.
В зависимости от типа базы данных, типа полученных значений (с плавающей точкой, целые числа, строки, лог файлы и т.д.) может потребоваться от 40 байт до сотен байт дискового пространства для хранения значения. Обычно одно значение занимает около 50 байт. В нашем случае это означает, что 130M значений потребуют 130M * 50 байт = 6.5GB дискового пространства.
Zabbix хранит ежечасную статистику значений max/min/avg/count для каждого элемента данных в таблице trends и trends_uint. Эти данные используются для отслеживания тенденций и для графиков при отображении большого периода времени. Период в 1 час не является настраиваемым.
Базе данных Zabbix, в зависимости от типа базы данных, требуется около 128 байт на один элемент. Предположим, что если требуется хранить тенденции в течении 5 лет. Значения 3000 элементов данных потребуют (3000/3600)*(24*3600*365)* 128 = 3.4ГБ за год, или 16.8ГБ за 5 лет. Первое значение в формуле 3600 представляет собой период усреднения тенденций в один час.
Каждое событие требует около 130 байт дискового пространства. Большое количество событий генерируется Zabbix сервером ежедневно. В самом худшем случае, мы можем предположить, что Zabbix порождает одно событие в секунду.
Это означает, что если требуется хранить события 3 года, то для этого потребуется 3*365*24*3600* 130 = 12.3ГБ дискового пространства.
Представленная ниже таблица содержит формулы для расчета требуемого пространства жесткого диска для системы мониторинга Zabbix:
Параметр | Формула для расчетам занимаемого места(в байтах) |
---|---|
Конфигурация Zabbix | Фиксированный размер. Ориентировочно 10MB или меньше. |
История | дней*(элементов/частота обновления)*24*3600*байт элементы : количество элементов данных дней : количество дней хранения истории частота обновления : среднее значение периода проверки элементов данных байт : количество байт, требуемых для одного значения, зависит от типа базы данных, около 50 байт |
Тенденции | дней*(элементов/3600)*24*3600*байт элементов : количество элементов данных дней : количество дней хранения тенденций байт : количество байт, требуемых для одного значения, зависит от типа базы данных, около 128 байт. |
События | дней*событий*24*3600*байт событий : количество событий в секунду. Одно (1) событие в худшем случае. дней : количество дней хранения событий байт : количество байт, требуемых для одного значения, зависит от типа базы данных, около 130 байт. |
Общее количество требуемого места на жестком диске рассчитывается:
Конфигурация + История + Тенденции + События
После установки Zabbix такое дисковое пространство более не будет использовано сразу. Размер базы данных будет увеличиваться со временем, но потом рост все же остановится - это зависит от настроек очистки базы данных (Housekeeper).
Очень важно иметь точную дату и время системы на сервере с запущенным Zabbix. ntpd один из наиболее популярных демонов синхронизации времени хоста с временем на остальных серверах.
Zabbix состоит из нескольких основных компонентов программного обеспечения, назначение которых изложены ниже.
Это ядро программного обеспечения Zabbix. Сервер может удаленно проверять сетевые сервисы (такие как веб-серверы и почтовые серверы), используя простые проверки сервисов, но он также является центральным компонентом, которому агенты сообщают информацию о доступности, целостности и статистику. Сервер является хранилищем, в котором хранятся все конфигурационные, статистические и оперативные данные, и он является тем компонентом в программном обеспечении Zabbix, который оповестит администраторов в случае возникновения проблем с любым контролируемым оборудованием.
Zabbix может также выполнять мониторинг без агентов, а также мониторинг сетевых устройств с помощью SNMP агентов.
Прокси это необязательный компонент развертывания Zabbix. Прокси собирает данные о производительности и доступности для Zabbix сервера. Все собранные данные заносятся в буфер на локальном уровне и передаются Zabbix серверу, к которому принадлежит прокси.
Zabbix прокси является идеальным решением для централизованного мониторинга отдаленных мест, филиалов, сетей, не имеющих местных администраторов.
Zabbix прокси может быть также использован для распределения и снятия нагрузки с одного Zabbix сервера. В этом случае, прокси только собирает данные, что обеспечивает меньшую нагрузку на ЦПУ и на ввод/вывод диска на самом сервере.
Для активного мониторинга локальных ресурсов и приложений (таких как жесткие диски, память, статистика процессора и т.д.) на системах в сети, должны быть запущенны Zabbix агенты. Агент будет собирать информацию о работе системы, на которой он работает, и предоставлять эти данные Zabbix серверу для дальнейшей обработки. В случае возникновения проблем (например, жесткий диск заполнился или аварийно завершился некий процесс), Zabbix сервер может предупреждать администраторов конкретного оборудования, от которого и возникла проблема.
Zabbix агенты являются чрезвычайно эффективными потому что они используют родные системные вызовы для сбора статистической информации.
Веб-интерфейс предоставлен для обеспечения легкого доступа к данным мониторинга и конфигурации системы Zabbix откуда угодно и с любой платформы. Интерфейс является частью Zabbix сервера, и обычно (но не обязательно), запущен на том же физическом сервере что и Zabbix сервер.
Сборка Zabbix сервера или агентов из исходных кодов требует дополнительного программного обеспечения (требуемые версии).
Потребуется следующее программное обеспечение для компилирования Zabbix:
Одна из следующих СУБД:
Требуются файлы заголовков и библиотек из CLI.
Требуются файлы заголовков и библиотек из OCI.
Файлы заголовков и библиотек NET-SNMP (или UCD-SNMP). Требуется для поддержки SNMP. Опционально.
Файлы заголовков и библиотек Iksemel. Требуется для поддержки отправки сообщений Jabber. Опционально.
Файлы заголовков и библиотек Libcurl. Требуется для модуля Веб мониторинга. Опционально.
Компилятор C. GNU C является лучшим выбором для открытых платформ. Другие (HP, IBM) C компиляторы также могут быть использованы.
GNU Make. GNU make требуется для создания Zabbix Makefiles.
Папка содержит исходные коды для всех процессов Zabbix, исключая веб-интерфейс.
Папка содержит Makefile и исходные коды для zabbix_server.
Папка содержит Makefile и исходные коды для zabbix_agent и zabbix_agentd.
Папка содержит Makefile и исходные коды для zabbix_get.
Папка содержит Makefile и исходные коды для zabbix_sender.
Папка содержит Makefile и исходные коды для общих библиотек процессов Zabbix.
Папка содержит файлы include Zabbix.
Папка содержит скрипты автозапуска для разных платформ.
Папка содержит файлы для Веб-интерфейса PHP.
Папка содержит SQL скрипт для первичного создания базы данных.
Папка содержит схемы создания базы данных.
Папка содержит данные для первичного создания базы данных.
Папка содержит процедуры обновления с других версий Zabbix.
На стороне сервера
Создайте аккаунт суперпользователя Zabbix.
Сервер будет работать под этим пользователем. Для использования в производственной среде вы должны создать выделенный непривилегированный аккаунт (обычно используется 'zabbix'). Запуск Zabbix из под 'root','bin', или из под любых других аккаунтов со специальными правами может представлять угрозу безопасности. Не делайте этого!
Если Zabbix сервер и агент работают на одной машине, то рекомендуется использовать разных пользователей для запуска сервера и для запуска агента. В противном случае, если сервер и агент запущены под одним пользователем, агент будет иметь доступ к файлу конфигурации сервера и любой пользователь с правами Администратора в Zabbix может с легкостью получить, например, пароль от базы данных.
Распакуйте исходные коды Zabbix
shell> tar -zxf zabbix-1.8.tar.gz
Создайте базу данных для Zabbix
С исходными кодами Zabbix предоставляются SQL скрипты, которые можно использовать для создания требуемой схемы в базе данных, а также для заполнениями настройками по умолчанию. Есть отдельные скрипты для IBM DB2, MySQL, Oracle, PostgreSQL и SQLite.
Для IBM DB2:
shell> db2 "create database zabbix using codeset utf-8 territory us pagesize 32768" shell> cd create/schema shell> db2batch -d zabbix -f ibm_db2.sql shell> cd ../data shell> db2batch -d zabbix -f data.sql shell> db2batch -d zabbix -f images_ibm_db2.sql
Для MySQL:
shell> mysql -u<username> -p<password> mysql> create database zabbix character set utf8; mysql> quit; shell> cd create/schema shell> cat mysql.sql | mysql -u<username> -p<password> zabbix shell> cd ../data shell> cat data.sql | mysql -u<username> -p<password> zabbix shell> cat images_mysql.sql | mysql -u<username> -p<password> zabbix
Для Oracle (мы предполагаем, что пользователь zabbix с паролем password существует и имеет права на создание объектов в базе данных в сервисе ORCL):
shell> cd create
Скопируйте папку data/images куда-нибудь на сервер oracle, например /home/oracle:
shell> scp -r data/images [email protected]:/home/oracle
Измените файл data/images_oracle.sql и установите переменную images_dir в “/home/oracle/images”:
CREATE OR REPLACE DIRECTORY image_dir AS '/home/oracle/images'
Выполните для импорта данных:
shell> sqlplus zabbix/[email protected]/ORCL
ALTER DATABASE NATIONAL CHARACTER SET UTF8;
Для PostgreSQL:
shell> psql -U <username> psql> create database zabbix; psql> \q shell> cd create/schema shell> cat postgresql.sql | psql -U <username> zabbix shell> cd ../data shell> cat data.sql | psql -U <username> zabbix shell> cat images_pgsql.sql | psql -U <username> zabbix
Для SQLite:
shell> cd create/schema shell> cat sqlite.sql | sqlite3 /var/lib/sqlite/zabbix.db shell> cd ../data shell> cat data.sql | sqlite3 /var/lib/sqlite/zabbix.db shell> cat images_sqlite3.sql | sqlite3 /var/lib/sqlite/zabbix.db
Сконфигурируйте и скомпилируйте исходные коды для вашей системы
Исходные коды должны быть скомпилированы как для сервера (машина мониторинга), так и для клиентов (машины, которые мониторятся). Для конфигурирования исходных кодов для сервера вы должны указать какая база данных будет использоваться.
shell> ./configure --enable-server --with-ibm-db2 --with-net-snmp --with-jabber --with-libcurl # для IBM DB2 + Jabber + Веб-мониторинг
или
shell> ./configure --enable-server --with-mysql --with-net-snmp --with-jabber --with-libcurl # для MySQL + Jabber + Веб-мониторинг
или
shell> ./configure --enable-server --with-oracle --with-net-snmp --with-jabber --with-libcurl # для Oracle + Jabber + Веб-мониторинг
или
shell> ./configure --enable-server --with-pgsql --with-net-snmp --with-jabber --with-libcurl # для PostgreSQL + Jabber + Веб-мониторинг
или
shell> ./configure --enable-server --with-sqlite3 --with-net-snmp --with-jabber --with-libcurl # для SQLite3 + Jabber + Веб-мониторинг
Однако, если вы хотите скомпилировать исполняемые файлы клиента вместе с исполняемыми файлами сервера, запустите:
shell> ./configure --enable-server --enable-agent --with-mysql --with-net-snmp --with-jabber --with-libcurl
Соберите и установите все
shell> make install
По умолчанию make install устанавливает все файлы в папки /usr/local/sbin, /usr/local/lib и т.д.. Убедитесь, что у вас хватает полномочий для записи в эти папки.
Вы можете указать другой путь для установки, который отличается от /usr/local, используя флаг --prefix, например --prefix=/home/zabbix. В этом случае исполняемые файлы демонов будут установлены в папку <prefix>/sbin, а утилиты в папку <prefix>/bin. Man pages будут установлены в папку <prefix>/share.
Настройте /etc/services
Этот шаг не обязательный, однако рекомендуемый. На стороне клиента (машина, которая мониторится), добавьте следующие строки в /etc/services:
zabbix-agent 10050/tcp Zabbix Agent zabbix-agent 10050/udp Zabbix Agent zabbix-trapper 10051/tcp Zabbix Trapper zabbix-trapper 10051/udp Zabbix Trapper
Обратите внимание, что номера портов являются официальными портами Zabbix зарегистрированными в IANA.
Настройте /etc/inetd.conf
Если вы планируете использовать zabbix_agent вместо рекомендуемого zabbix_agentd, вы должны добавить следующие строки:
zabbix_agent stream tcp nowait.3600 zabbix /opt/zabbix/bin/zabbix_agent
Перезапустите inetd
shell> killall -HUP inetd
Создайте директорию, где будут хранится конфигурационные файлы
mkdir /etc/zabbix
Настройте /etc/zabbix/zabbix_agentd.conf
Вы должны настроить этот файл для каждого узла сети где установлен zabbix_agentd. Файл должен содержать IP адрес Zabbix сервера. Соединения с другими хостами будут запрещены. Вы можете использовать файл misc/conf/zabbix_agentd.conf в качестве примера.
Настройте /etc/zabbix/zabbix_server.conf
Для небольших установок (до 10 наблюдаемых узла сети), параметров по умолчанию будут достаточно. Однако, вам нужно будет изменить параметры по умолчанию, для достижения максимальной производительности в Zabbix. Смотрите раздел оптимизация производительности для получения более подробных сведений.
Вы можете использовать misc/conf/zabbix_server.conf в качестве примера.
Запустите процессы сервера
Запустите zabbix_server на стороне сервера.
shell> cd sbin shell> ./zabbix_server
Запустите агентов
Запустите zabbix_agentd на нужных узлах сети.
shell> cd sbin shell> ./zabbix_agentd
Прокси Zabbix - это специальный демон. Он не требуется для запуска процесса сбора информации в обычном случае.
Создайте аккаунт суперпользователя Zabbix
Прокси будет работать под этим пользователем. Для использования в производственной среде вы должны создать выделенный непривилегированный аккаунт (обычно используется 'zabbix'). Запуск Zabbix из под 'root','bin', или из под любых других аккаунтов со специальными правами может представлять угрозу безопасности. Не делайте этого!
Распакуйте исходные коды Zabbix
shell> tar -zxf zabbix-1.8.tar.gz
Создайте базу данных для Zabbix. Опционально.
С исходными кодами Zabbix поставляются SQL скрипты, которые можно использовать для создания требуемой схемы в базе данных. Имеются отдельные скрипты для IBM DB2, MySQL, Oracle, PostgreSQL и SQLite.
Для IBM DB2:
shell> db2 "create database zabbix using codeset utf-8 territory us pagesize 32768" shell> cd create/schema shell> db2batch -d zabbix -f ibm_db2.sql
Для MySQL:
shell> mysql -u<username> -p<password> mysql> create database zabbix character set utf8; mysql> quit; shell> cd create/schema shell> cat mysql.sql | mysql -u<username> -p<password> zabbix
Для Oracle (мы предполагаем, что пользователь zabbix с паролем password существует и имеет права на создание объектов в базе данных):
shell> cd create/schema shell> cat oracle.sql | sqlplus zabbix/password >out.log
ALTER DATABASE NATIONAL CHARACTER SET UTF8;
Для PostgreSQL:
shell> psql -U <username> psql> create database zabbix; psql> \q shell> cd create/schema shell> cat postgresql.sql | psql -U <username> zabbix
Для SQLite:
shell> cd create/schema shell> cat sqlite.sql | sqlite3 /var/lib/sqlite/zabbix.db
Сконфигурируйте и скомпилируйте исходные коды для вашей системы
Исходные коды должны быть скомпилированы для демона Zabbix прокси. Для настройки исходных кодов прокси вы должны указать какая база данных будет использоваться.
shell> ./configure --enable-proxy --with-ibm-db2 --with-net-snmp # для IBM DB2 + мониторинг по SNMP
или
shell> ./configure --enable-proxy --with-mysql --with-net-snmp # для MySQL + мониторинг по SNMP
или
shell> ./configure --enable-proxy --with-pgsql --with-net-snmp # для PostgreSQL + мониторинг по SNMP
или
shell> ./configure --enable-proxy --with-oracle --with-net-snmp –with-libcurl # для Oracle + мониторинг по SNMP
или
shell> ./configure --enable-proxy --with-sqlite3 --with-net-snmp # for SQLite3 + SNMP monitoring
Однако, если вы хотите скомпилировать исполняемые файлы клиента вместе с исполняемыми файлами прокси, запустите:
shell> ./configure --enable-proxy --enable-agent --with-mysql --with-net-snmp
Флаг --enable-static может быть использован для принудительной статической линковки.
Соберите и установите все
shell> make install
По умолчанию, make install устанавливает все файлы в папки /usr/local/sbin, /usr/local/lib и т.д.. Вы можете указать другой путь установки,который отличается от /usr/local, используя флаг --prefix
Настройте /etc/services
Этот шаг опциональный, однако рекомендуемый. На стороне клиента (машина, которая мониторится), добавьте следующие строки в /etc/services:
zabbix_agent 10050/tcp zabbix_trap 10051/tcp
Настройте /etc/inetd.conf
Если вы планируете использовать zabbix_agent вместо рекомендуемого zabbix_agentd, вы должны добавить следующие строки:
zabbix_agent stream tcp nowait.3600 zabbix /opt/zabbix/bin/zabbix_agent
Перезапустите inetd
shell> killall -HUP inetd
Измените настройки по умолчанию в файлах конфигурации
Настройте /etc/zabbix/zabbix_proxy.conf
Для небольших установок (до 10 наблюдаемых узлов сети), параметры по умолчанию будут достаточны. Однако, вам нужно будет изменить параметры по умолчанию, для достижения максимальной производительности Zabbix прокси. Убедитесь, что вы правильно установили параметры имени узла сети и сервера.
Вы можете использовать misc/conf/zabbix_proxy.conf в качестве примера.
Запустите процесс Zabbix прокси
Запустите zabbix_proxy:
shell> cd sbin shell> ./zabbix_proxy
На стороне клиента
Создайте аккаунт суперпользователя Zabbix
Агент будет работать под этим пользователем. Для использования в производственной среде вы должны создать выделенный непривилегированный аккаунт (обычно используется 'zabbix'). Zabbix агенты защищены от запуска из под аккаунта root.
Распакуйте исходные коды Zabbix
shell> tar -zxf zabbix-1.8.tar.gz
Сконфигурируйте и скомпилируйте исходные коды для вашей системы
Исходные коды должны быть скомпилированы только для клиента.
Для настройки исходных кодов клиента выполните:
shell> ./configure --enable-agent
Соберите агента
shell> make
Настройте /etc/services
Этот шаг опциональный, однако рекомендуемый.
На стороне клиента (наблюдаемый сервер), добавьте следующие строки в /etc/services:
zabbix_agent 10050/tcp zabbix_trap 10051/tcp
Настройте /etc/inetd.conf
Если вы планируете использовать zabbix_agent вместо рекомендуемого zabbix_agentd, вы должны добавить следующие строки:
zabbix_agent stream tcp nowait.3600 zabbix /opt/zabbix/bin/zabbix_agent
Перезапустите inetd
shell> killall -HUP inetd
Создайте директорию, где будут хранится конфигурационные файлы
mkdir /etc/zabbix
Настройте /etc/zabbix/zabbix_agentd.conf
Вы должны настроить этот файл для каждого узла сети где установлен zabbix_agentd. Файл должен содержать IP адрес Zabbix сервера. Соединения с другими хостами будут запрещены. Вы можете использовать misc/conf/zabbix_agentd.conf в качестве примера.
Запустите zabbix_agentd на всех машинах, которые мониторятся
shell> /opt/zabbix/bin/zabbix_agentd
Веб-интерфейс Zabbix написан на языке PHP, поэтому чтобы его запустить вам потребуется веб-сервер с поддержкой PHP. Установка производится путем простого копирования PHP файлов в папку HTML вебсервера. Предлагается использовать подпапку вместо корневой папки HTML.
Общепринятые места размещения папок HTML документов для веб-сервера Apache составляют:
Чтобы создать подпапку и скопировать файлы веб-интерфейса Zabbix, выполните следующие команды, заменив <htdocs> на корректный путь для вашего случая:
mkdir <htdocs>/zabbix cd frontends/php cp -a . <htdocs>/zabbix
Убедитесь, что все требования к программному обеспечению выполнены.
Требование | Минимальное значение | Описание |
---|---|---|
Версия PHP | 5.0 | |
Лимит памяти PHP | 8МБ | В php.ini: memory_limit = 128M |
Максимальный размер PHP Post | 8МБ | В php.ini: post_max_size = 8M |
Максимальный размер загружаемых файлов в PHP | 16MB | В php.ini: upload_max_filesize = 16MB |
Максимальное время выполнения PHP | 300 секунд | В php.ini: max_execution_time = 300 |
Максимальное время input PHP | 300 секунд | В php.ini: max_input_time = 300 |
Часовой пояс в PHP | В php.ini: date.timezone Варианты часовых поясов здесь |
|
Поддержка базы данных в PHP скриптах | одна из: IBM DB2, MySQL, Oracle, PostgreSQL, SQLite | Один из следующих модулей должен быть установлен: ibm_db2, php-mysql, oci8, php-pgsql, php-sqlite3 |
PHP BC math | Любой | Скомпилированный с PHP5. |
поддержка PHP многобайтовости | Любой | Скомпилированный с PHP5 или отдельным модулем php-mbstring. |
PHP MB String | Любой | Скомпилированный с PHP5. |
PHP Sockets | Любой | Скомпилированный с PHP5. |
PHP Session | Любой | Скомпилированный с PHP5. |
Версия GD | 2.0 или выше | Модуль php-gd. |
Форматы изображений | По крайней мере PNG | Модуль php-gd. |
Модуль libxml | Любой | Скомпилированный с PHP5. |
Модуль ctype | Любой | Скомпилированный с PHP5. |
Только для распределенного мониторинга!
Если вы используете распределенный мониторинг вы должны один раз выполнить:
shell> ./zabbix_server –n <nodeid>
где Node ID уникальный идентификатор Ноды. Например:
shell> ./zabbix_server –n 1
Эта команда сконвертирует данные в базе данных для использования с Нодой ID '1', а также добавит локальную Ноду.
Для изменения уровня релизов требуется только обновление исполняемых файлов и веб-интерфейса. Если упомянуто в заметках к релизу, в базу данных опционально могут быть добавлены индексы для повышения производительности. Обновление можно выполнять легко, перескакивая несколько версий, например, обновление с 1.8.1 на 1.8.3 может быть выполнено за один шаг.
Смотрите заметки по установке и обновлению для получения более подробной информации.
В качестве альтернативы ручной настройке или повторному использованию существующего сервера для Zabbix, пользователи могут загрузить готовое решение Zabbix.
Для запуска, загрузите готовое решение и перейдите в вашем браузере по IP, который был получен по DCHP.
Готовое решение Zabbix основано на следующих версиях OpenSUSE:
Версия готового решения Zabbix | Версия OpenSUSE |
---|---|
1.8.2 | 11.2 |
1.8.3 | |
1.8.4 | 11.3 |
1.8.5 | |
1.8.6 | |
1.8.7 | 11.4 |
1.8.8 | |
1.8.9 | |
1.8.10 | |
1.8.11 | |
1.8.12 |
Образ доступен в следующих форматах:
Этот образ содержит настроенный Zabbix сервер, работающий с базой данных MySQL, также доступен и веб-интерфейс.
Готовое решение было создано с помощью SUSE Studio.
Имеется несколько изменений применительно к базовой конфигурации OpenSUSE.
По умолчанию готовое решение получает IP адрес по DHCP. Для того, чтобы указать статический IP адрес выполните:
Для настройки DNS, добавьте записи серверов имен в /etc/resolv.conf, указывая по одному серверу имен в одной строке: nameserver 192.168.1.2.
В качестве альтернативы, можно использовать утилиту настройки yast для обновления настроек сети.
По умолчанию готовое решение использует UTC часовой пояс для системного времени. Для изменения часового пояса, скопируйте соответствующий файл из /usr/share/zoneinfo в /etc/localtime, например:
cp /usr/share/zoneinfo/Europe/Riga /etc/localtime
Установленное готовое решение Zabbix имеет следующие пароли и другие изменения конфигурации:
Система:
База данных:
Веб-интерфейс Zabbix:
Для изменения пароля пользователя базы данных, потребуются изменения в следующих местах:
Если вы загрузили готовое решение с Live CD или по какой-то причине не можете иметь постоянного накопителя, вы можете создать архивную копию базы данных, включая все настройки и все собранные данные.
Для создания архивной копии, выполните:
mysqldump zabbix | bzip2 -9 > dbdump.bz2
Теперь вы можете переместить файл dbdump.bz2 на другую машину.
Для восстановления из архивной копии, переместите копию в готовое решение и выполните:
bzcat dbdump.bz2 | mysql zabbix
По умолчанию доступ к веб-интерфейсу разрешен с:
Корневой каталог веб-сервера (/) перенаправляется на /zabbix, таким образом доступ к веб-интерфейсу может быть получен как с http://<хост>, так и с http://<хост>/zabbix.
Эти параметры могут быть изменены в /etc/apache2/conf.d/zabbix.conf. Вы должны перезапустить вебсервер после изменения этого файла. Чтобы это сделать зайдите на сервер по SSH под root и выполните:
service apache2 restart
По умолчанию, открыто только два порта - 22 (SSH) и 80 (HTTP). Для открытия других портов - например, портов Zabbix сервера и агента - измените правила iptables с помощью утилиты SuSEfirewall2:
SuSEfirewall2 open EXT TCP zabbix-trapper zabbix-agent
Затем перезагрузите правила фаервола:
SuSEfirewall2 stop SuSEfirewall2 start
Zabbix сервер скомпилирован с поддержкой следующих функций:
В представленной конфигурации Zabbix сервер наблюдает за некоторыми базовыми параметрами самого себя с помощью локально установленного агента, дополнительно веб-интерфейс Zabbix наблюдается и с помощью веб мониторинга.
Имена демонов Zabbix изменены со стандартных с подчеркиванием на имена с тире для поддержки принципов SUSE. Они называются:
Аналогичным образом и файлы конфигурации:
Представлены соответствующие скрипты запуска. Для контроля Zabbix сервера используйте следующие команды:
service zabbix-server status rczabbix-server status /etc/init.d/zabbix-server status
Замените server на agentd для демона Zabbix агента.
Имеется скрипт планировщика, который запускается crontab каждые 10 минут и перезапускает Zabbix сервер, если он не запущен, /var/lib/zabbix/bin. Скрипт записывает в журнал дату и время проблем и начала попыток /var/log/zabbix/server_problems.log. Этот скрипт доступен в готовом решении Zabbix начиная с версии 1.8.3.
Доступного дискового пространства в готовом решении может быть недостаточно. В этом случае имеется возможность расширить используемый диск. Для этого сначала расширьте блочное устройство в вашей среде виртуализации, затем выполните эти шаги.
Запустите fdisk для изменения размера раздела. Выполните под root:
fdisk /dev/sda
Эта команда запустит fdisk для диска sda. Затем, переключитесь на использование секторов введя:
u
Затем удалите существующий раздел и создайте новый с нужным размером. В большинстве случаев вы будете выбирать доступный максимум, что расширит файловую систему до размера, который вы сделали доступным для виртуального диска. Для этого введите следующую последовательность в fdisk:
d n p 1 (принимаем по умолчанию 63) (принимаем по умолчанию max)
Если вы хотите оставить пространство для дополнительных разделов (swap и т.д.), вы можете ввести другое значение для last sector (последний сектор). По завершении сохраните изменения введя:
w
Перезагрузите виртуальную машину (т.к. раздел, который был измен, используется в настоящее время). После перезагрузки возможно изменить размер файловой системы.
resize2fs /dev/sda1
Теперь файловая система должна быть увеличена до размера раздела.
Для использования образов в Xen сервере, выполните:
xm create -c file-with-suffix.xenconfig
Для получения более подробной информации по использованию образов Xen смотрите следующие страницы:
Конвертация образа для XenServer
Для использования Xen образов в Citrix Xenserver вам необходимо сконвертировать образ диска. Чтобы это сделать:
xe vdi-list params=all
xe vdi-import filename="image.raw" uuid="<UUID>"
Инструкции с Brian Radford blog.
Образы в формате vmdk используются напрямую в продуктах VMWare Player, Server и Workstation. Для использования в ESX, ESXi и vSphere образы должны быть сконвертированы используя конвертер VMWare.
Смотрите http://en.opensuse.org/openSUSE:SUSE_Studio_Disc_Image_Howtos для получения более подробной информации относительно образов диска.
Готовое решение Zabbix 1.8.8 сообщает о себе в сообщениях загрузки, что основано на версии 1.8.7. Это неправильно, актуальное готовое решение содержит Zabbix 1.8.8.
Для настройки журналирования в демонах Zabbix используется параметр “LogFile” конфигурационного файла. Если этот параметр оставить пустым (LogFile=), тогда будет осуществляться журналирование с помощью syslog. Все демоны Zabbix на Unix-подобных платформах журналируют свои сообщения из среды “Daemon”. Ниже указано соответствие между уровнями журналирования (сообщениями соответствующего типа) в Zabbix и в syslog:
Уровень журнала Zabbix | Уровень журнала syslog | Комментарии |
---|---|---|
0 - пусто (LOG_LEVEL_EMPTY) | syslog не используется. | Все сообщения пропускаются. |
1 - критичная информация (LOG_LEVEL_CRIT) | при условии критичных ошибок (LOG_CRIT) | |
2 - сообщения об ошибке (LOG_LEVEL_ERR) | при условии ошибок (LOG_ERR) | |
3 - предупреждающие сообщения (LOG_LEVEL_WARNING) | при условии предупреждений (LOG_WARNING) | |
4 - для отладки (LOG_LEVEL_DEBUG) | сообщения уровня отладки (LOG_DEBUG) |
Для настройки syslog необходимо обратится за помощью к соответствующей литературе.
Zabbix агент под Windows использует Журнал событий, если параметр конфигурации “LogFile” был оставлен пустым. Ниже указано соответствие между уровнями журналирования (сообщениями соответствующего типа) в Zabbix и в Журнале событий Windows:
Уровень журнала Zabbix | Уровень журнала Журнала событий Windows | Комментарии |
---|---|---|
0 - пусто (LOG_LEVEL_EMPTY) | Журнал событий не используется. | Все сообщения пропускаются. |
1 - критичная информация (LOG_LEVEL_CRIT) 2 - информация об ошибке (LOG_LEVEL_ERR) | EVENTLOG_ERROR_TYPE | Ошибка |
3 - предупреждающие сообщения (LOG_LEVEL_WARNING) | EVENTLOG_WARNING_TYPE | Предупреждение |
4 - для отладки (LOG_LEVEL_DEBUG) | EVENTLOG_INFORMATION_TYPE | Информация |
Zabbix сервер - это ядро программного обеспечения Zabbix. Zabbix сервер может быть запущен командой:
shell> cd sbin shell> ./zabbix_server
Zabbix сервер стартует как демон.
Zabbix сервер поддерживает следующие параметры командной строки:
-c --config <файл> Параметр указывает на конфигурационный файл, по умолчанию это /etc/zabbix/zabbix_server.conf -n --new-nodeid <nodeid> конвертирование данных базы данных для новой nodeid -R --runtime-control <опция> выполнение административных функций -h --help Отображает это сообщение помощи -v --version Отображает номер версии
Для получения более подробной помощи по параметрам командной строки выполните:
shell> zabbix_server -h
Примеры параметров командой строки:
shell> zabbix_server -c /usr/local/etc/zabbix_server.conf shell> zabbix_server --help shell> zabbix_server -V
Опции контроля выполнения:
Опция | Описание |
---|---|
config_cache_reload | Перезагрузка кэша конфигурации. Игнорируется если кэш уже загружается. |
Пример использования контроля выполнения для перезагрузки сервером кэша конфигурации:
shell> zabbix_server -c /usr/local/etc/zabbix_server.conf -R config_cache_reload
Файл конфигурации содержит параметры настроек zabbix_server. Этот файл должен существовать и должен иметь права чтения для пользователя 'zabbix'. Поддерживаемые параметры:
Параметр | Обязательный | Диапазон | По умолчанию | Описание |
---|---|---|---|---|
AlertScriptsPath | нет | /home/zabbix/bin/ | Размещение пользовательских скриптов оповещений | |
CacheSize | нет | 128K-1G | 8M | Размер кэша конфигурации, в байтах. Размер распределяемой памяти (shared memory) для данных о хранимых узлах сети и элементах данных. |
CacheUpdateFrequency | нет | 1-3600 | 60 | Как часто Zabbix будет выполнять процедуру обновления кэша конфигурации, в секундах. |
DBHost | нет | В зависимости от реализации используемой библиотеки. | Имя хоста базы данных. Если установлен localhost, то для СУБД MySQL используется сокет. |
|
DBName | да | Имя базы данных. Для SQLite3 должен быть указан путь к файлу базы данных. DBUser и DBPassword игнорируются. |
||
DBPassword | нет | Пароль к базе данных. Игнорируется при СУБД SQLite. Закомментируйте эту строку, если пароль не используется. |
||
DBPort | нет | 1024-65535 | 3306 | Порт базы данных, когда не используется локальный сокет. Игнорируется при СУБД SQLite. |
DBSocket | нет | /tmp/mysql.sock | Путь к сокету СУБД MySQL. | |
DBUser | нет | Пользователь базы данных. Игнорируется при СУБД SQLite. | ||
DebugLevel | нет | 0-4 | 3 | Задает уровень журналирования (для отладки) 0 - без отладки 1 - критичная информация 2 - информация об ошибках 3 - предупреждения 4 - для отладки (записывает очень много информации) |
DisableHousekeeping | нет | 0-1 | 0 | Если установлена 1, то очистка базы данных от устаревших данных отключена. |
ExternalScripts | нет | /etc/zabbix/externalscripts | Размещение внешних скриптов | |
Fping6Location | нет | /usr/sbin/fping6 | Размещение fping6. Убедитесь, что исполняемый файл fping6 имеет владельца root и флаг SUID установлен. Оставьте пустым (“Fping6Location=”), если ваша утилита fping совместима с обработкой адресов IPv6. |
|
FpingLocation | нет | /usr/sbin/fping | Размещение fping. Убедитесь, что исполняемый файл fping имеет владельца root и флаг SUID установлен! |
|
HistoryCacheSize | нет | 128K-1G | 8M | Размер кэша истории, в байтах. Размер распределяемой памяти (shared memory) для хранения данных истории. |
HistoryTextCacheSize | нет | 128K-1G | 16M | Размер кэша текстовой истории, в байтах. Размер распределяемой памяти (shared memory) для хранения данных: символов, текста или журналов. |
HousekeepingFrequency | нет | 1-24 | 1 | Как часто Zabbix запускает процедуру очистки базы данных от устаревшей информации (в часах). Удаление ненужной информации из таблиц истории, оповещений и сигнализаций. Если используется PostgreSQL, то предлагаемое значение 24, так как выполняется VACUUM. |
MaxHousekeeperDelete | нет | 0-1000000 | 500 | Не более чем 'MaxHousekeeperDelete' строк (в соответствии с [tablename], [field], [value]) будет удалено за один цикл задачей очистки истории. SQLite3 не использует этот параметр, удаляются все подходящие строки без лимита. Если установлен 0, то удаляются все подходящие строки без ограничений. В этом случае вы должны понимать, что вы делаете! Эта опция поддерживается начиная с версии 1.8.2. |
Include | нет | Вы можете включить индивидуальные файлы или все файлы в папке в файл конфигурации. | ||
ListenIP | нет | 0.0.0.0 | Список IP адресов разделенный запятыми, которые нужно прослушивать для траппера Траппер будет прослушивать все сетевые интерфейсы, если параметр не указан. Несколько IP адресов поддерживается начиная с версии 1.8.3 и выше. |
|
ListenPort | нет | 1024-32767 | 10051 | Прослушиваемый порт для траппера. |
LogFileSize | нет | 0-1024 | 1 | Максимальный размер файла журнала в МБ. 0 - отключение автоматической ротации журнала. |
LogFile | нет | Имя файла журнала. | ||
LogSlowQueries | нет | 0-3600000 | 0 | Как долго должен выполняться запрос к базе данных чтобы он был занесен в журнал (в миллисекундах). 0 - не журналировать медленные запросы Эта опция поддерживается начиная с версии 1.8.2 |
NodeID | нет | 0-999 | 0 | Уникальный NodeID для распределенной установки. 0 - одиночный сервер |
NodeNoEvents | нет | 0-1 | 0 | Если установлена '1', тогда локальные события не будут отправлены мастер ноде. Эта опция не влияет на способность этой ноды распространять события от своих дочерних нод. |
NodeNoHistory | нет | 0-1 | 0 | Если установлена '1', тогда локальная история не будет отправлена мастер ноде. Эта опция не влияет на способность этой ноды распространять историю от своих дочерних нод. |
PidFile | нет | /tmp/zabbix_server.pid | Имя PID файла. | |
ProxyConfigFrequency | нет | 1-604800 | 3600 | Частота отправки в секундах Zabbix сервером данных о конфигурации для Zabbix прокси. Используется только для прокси в пассивном режиме. Эта опция поддерживается начиная с версии 1.8.3. |
ProxyDataFrequency | нет | 1-3600 | 1 | Частота запроса в секундах Zabbix сервером данных истории с Zabbix прокси. Используется только для прокси в пассивном режиме. Эта опция поддерживается начиная с версии 1.8.3. |
SSHKeyLocation | нет | Размещение публичных и приватных ключей для проверок по SSH | ||
SenderFrequency | нет | 5-3600 | 30 | Как часто Zabbix будет пытаться повторно отправлять не отправленные оповещения (в секундах). |
SourceIP | нет | Исходный IP адрес для исходящих подключений. | ||
StartDBSyncers | нет | 1-100 | 4 | Количество форков Синхронизаторов БД. Верхний предел 64 до версии 1.8.5. Эта опция поддерживается в версии 1.8.3 и в более новых |
StartDiscoverers | нет | 0-250 | Количество форков автообнаружения. Верхний предел 255 до версии 1.8.5. | |
StartHTTPPollers | нет | 0-1000 | 1 | Количество форков пуллеров HTTP. Верхний предел 255 до версии 1.8.5. |
StartIPMIPollers | нет | 0-1000 | 0 | Количество форков пуллеров IPMI. Верхний предел 255 до версии 1.8.5. |
StartPingers | нет | 0-1000 | 1 | Количество форков пингеров по ICMP. Верхний предел 255 до версии 1.8.5. |
StartPollersUnreachable | нет | 0-1000 | 1 | Количество форков пуллеров для недоступных узлов сети (включая IPMI). Верхний предел 255 до версии 1.8.5. Эта опция отсутствует в версии 1.8.3. |
StartPollers | нет | 0-1000 | 5 | Количество форков для пуллеров. Верхний предел 255 до версии 1.8.5. |
StartProxyPollers | нет | 0-250 | 1 | Количество форков пуллеров для пассивных прокси. Верхний предел 255 до версии 1.8.5. Эта опция поддерживается в версии 1.8.3 и в более новых |
StartTrappers | нет | 0-1000 | 5 | Количество форков трапперов. Верхний предел 255 до версии 1.8.5. |
Timeout | нет | 1-30 | 3 | Параметр указывает как долго ждать ответа от агента, устройства SNMP или внешней проверки (в секундах). |
TmpDir | нет | /tmp | Папка для временных данных. | |
TrapperTimeout | нет | 1-300 | 300 | Параметр указывает как много секунд траппер может потратить на обработку новых данных. |
TrendCacheSize | нет | 128K-1G | 4M | Размер кэша тенденций, в байтах. Размер распределяемой памяти (shared memory) для хранения данных о тенденциях. |
UnavailableDelay | нет | 1-3600 | 60 | Как часто узел сети будет проверяться на доступность в период его недоступности, в секундах. |
UnreachableDelay | нет | 1-3600 | 15 | Как часто узел сети будет проверяться на доступность в период его недостижимости, в секундах. |
UnreachablePeriod | нет | 1-3600 | 45 | Через сколько секунд недостижимости узел сети считается недоступным. |
Zabbix прокси - процесс, который собирает данные о производительности и доступности с одного или более наблюдаемых устройств и затем отправляет данные Zabbix серверу. Zabbix прокси может быть запущен командой:
shell> cd sbin shell> ./zabbix_proxy
Zabbix прокси стартует как демон. Zabbix прокси поддерживает следующие параметры командной строки:
-c --config <файл> Абсолютный путь к конфигурационному файлу -R --runtime-control <опция> выполнение административных функций -h --help Отображает это сообщение помощи -V --version Отображает номер версии
Для получения более подробной помощи по параметрам командной строки выполните:
shell> zabbix_proxy -h
Примеры параметров командой строки:
shell> zabbix_proxy -c /usr/local/etc/zabbix_proxy.conf shell> zabbix_proxy --help shell> zabbix_proxy -V
Опции контроля выполнения:
Опция | Описание |
---|---|
config_cache_reload | Перезагрузка кэша конфигурации. Игнорируется если кэш уже загружается. Активный Zabbix прокси подключается к Zabbix серверу запрашивает данные конфигурации. |
Пример использования контроля выполнения для перезагрузки сервером кэша конфигурации:
shell> zabbix_proxy -c /usr/local/etc/zabbix_proxy.conf -R config_cache_reload
Файл конфигурации содержит параметры настроек zabbix_proxy. Этот файл должен существовать и должен иметь права чтения для пользователя 'zabbix'. Поддерживаемые параметры:
Параметр | Обязательный | Диапазон | По умолчанию | Описание |
---|---|---|---|---|
CacheSize | нет | 128K-1G | 8M | Размер кэша конфигурации, в байтах. Размер распределяемой памяти (shared memory) для данных о хранимых узлах сети и элементах. |
ConfigFrequency | нет | 1-604800 | 3600 | Как часто прокси будет получать данные о конфигурации от Zabbix сервера (в секундах). Игнорируется для прокси в пассивном режиме. |
DBHost | нет | В зависимости от реализации используемой библиотеки. | Имя хоста базы данных. Если установлен localhost, то для СУБД MySQL используется сокет. |
|
DBName | да | Имя базы данных. Для СУБД SQLite3 должен быть указан путь к файлу базы данных. DBUser и DBPassword игнорируются. |
||
DBPassword | нет | Пароль к базе данных. Игнорируется при СУБД SQLite. Закомментируйте эту строку, если пароль не используется. |
||
DBSocket | нет | /tmp/mysql.sock | Путь к сокету MySQL. Если не используется локальный сокет, тогда это порт БД. Игнорируется для SQLite. | |
DBUser | нет | Пользователь базы данных. Игнорируется при СУБД SQLite. | ||
DataSenderFrequency | нет | 1-3600 | 1 | Прокси будет отправлять собранную информацию каждые N секунд Zabbix серверу. |
DebugLevel | нет | 0-4 | 3 | Задает уровень журналирования 0 - без отладки 1 - критичная информация 2 - информация об ошибках 3 - предупреждения 4 - для отладки (записывает очень много информации) |
ExternalScripts | нет | /etc/zabbix/externalscripts | Размещение внешних скриптов | |
Fping6Location | нет | /usr/sbin/fping6 | Размещение fping6. Убедитесь, что исполняемый файл fping6 имеет владельца root и флаг SUID установлен. Оставьте пустым (“Fping6Location=”), если ваша утиллита fping совместима с обработкой адресов IPv6. |
|
FpingLocation | нет | /usr/sbin/fping | Размещение fping. Убедитесь, что исполняемый файл fping имеет владельца root и флаг SUID установлен! |
|
HeartbeatFrequency | нет | 0-3600 | 60 | Частота сообщений доступности в секундах. Используется для мониторинга доступности прокси на стороне сервера. 0 - сообщение о доступности отключено. Игнорируется для прокси в пассивном режиме. |
HistoryCacheSize | нет | 128K-1G | 8M | Размер кэша истории, в байтах. Размер распределяемой памяти (shared memory) для хранения данных истории. |
HistoryTextCacheSize | нет | 128K-1G | 16M | Размер кэша текстовой истории, в байтах. Размер распределяемой памяти (shared memory) для хранения данных: символов, текста или журналов. |
Hostname | нет | Устанавливается через HostnameItem | Уникальное имя прокси. Убедитесь, что имя прокси известно Zabbix серверу! Регистрозависимо! Разрешенные символы: буквенно-цифровые, '.', ' ', '_' и '-'. Максимальная длина: 64 |
|
HostnameItem | нет | system.hostname | Элемент данных, используемый для установки параметра Hostname если он не определен (это будет работать на прокси так же как и на агенте). Не поддерживаются пользовательские параметры, счетчики производительности или псевдонимы, но поддерживается system.run[]. Игнорируется если Hostname установлен. Эта опция поддерживается начиная с версии 1.8.6. |
|
HousekeepingFrequency | нет | 1-24 | 1 | Как часто Zabbix запускает процедуру очистки базы данных от устаревшей информации (в часах). Удаление ненужной информации из таблиц истории, оповещений и сигнализаций. Если используется PostgreSQL, то предлагаемое значение 24, так как выполняется VACUUM. |
Include | нет | Вы можете включить индивидуальные файлы или все файлы в папке в файл конфигурации. | ||
ListenIP | нет | 0.0.0.0 | Список IP адресов разделенный запятыми, которые нужно прослушать для траппера Траппер будет прослушивать все сетевые интерфейсы, если параметр не указан. Несколько IP адресов поддерживается начиная с версии 1.8.3 и выше. |
|
ListenPort | нет | 1024-32767 | 10051 | Слушаемый порт для траппера. |
LogFileSize | нет | 0-1024 | 1 | Максимальный размер файла журнала в МБ. 0 - отключение автоматической ротации журнала. |
LogFile | нет | Имя файла журнала. | ||
LogSlowQueries | нет | 0-3600000 | 0 | Как долго должен выполняться запрос к базе данных чтобы он был занесен в журнал (в миллисекундах). 0 - не журналировать медленные запросы Эта опция поддерживается начиная с версии 1.8.2 |
PidFile | нет | /tmp/zabbix_proxy.pid | Имя PID файла. | |
ProxyLocalBuffer | нет | 0-720 | 0 | Прокси будет локально хранить данные N часов. Этот параметр может быть использован для хранения данных локально, если они будут использоваться сторонними приложениями. |
ProxyMode | нет | 0-1 | 0 | Режим работы прокси. 0 - прокси в активном режиме 1 - прокси в пассивном режиме Эта опция поддерживается начиная с версии 1.8.3 и в более поздних |
ProxyOfflineBuffer | нет | 0-720 | 1 | Прокси будет локально хранить данные N часов, если нет связи с Zabbix сервером. Более старые данные будут потеряны. |
SSHKeyLocation | нет | Размещение публичных и приватных ключей для проверок по SSH | ||
ServerPort | нет | 1024-32767 | 10051 | Порт траппера на Zabbix сервере. Игнорируется для прокси в пассивном режиме. |
Server | да | IP адрес (или имя хоста) Zabbix сервера. Прокси будет получать данные о конфигурации с этого сервера. |
||
SourceIP | нет | Исходный IP адрес для исходящих подключений. | ||
StartDBSyncers | нет | 1-100 | 4 | Количество префорков Синхронизаторов БД. Верхний предел был 64 до версии 1.8.5. Эта опция поддерживается в версии 1.8.3 и в более новых |
StartDiscoverers | нет | 0-250 | 1 | Количество форков автообнаружения. Верхний предел был 255 до версии 1.8.5. |
StartIPMIPollers | нет | 0-1000 | 0 | Количество форков пуллеров IPMI. Верхний предел был 255 до версии 1.8.5. |
StartPingers | нет | 0-1000 | 1 | Количество форков пингеров по ICMP. Верхний предел был 255 до версии 1.8.5. |
StartPollersUnreachable | нет | 0-1000 | 1 | Количество форков пуллеров для недоступных узлов сети (включая IPMI). Верхний предел был 255 до версии 1.8.5. Эта опция отсутствует в версии 1.8.3. |
StartPollers | нет | 0-1000 | 5 | Количество форков для пуллеров. Верхний предел был 64 до версии 1.8.5. |
StartTrappers | нет | 0-1000 | 5 | Количество форков трапперов. Верхний предел был 255 до версии 1.8.5. |
Timeout | нет | 1-30 | 3 | Указывает как долго ждать ответа от агента, устройства SNMP или внешней проверки (в секундах). |
TmpDir | нет | /tmp | Папка для временных данных. | |
TrapperTimeout | нет | 1-300 | 300 | Параметр указывает как много секунд траппер может потратить на обработку новых данных. |
UnavailableDelay | нет | 1-3600 | 60 | Как часто узел сети будет проверяться на доступность в период его недоступности, в секундах. |
UnreachableDelay | нет | 1-3600 | 15 | Как часто узел сети будет проверяться на доступность в период его недостижимости, в секундах. |
UnreachablePeriod | нет | 1-3600 | 45 | Через сколько секунд недостижимости узел сети считается недоступным. |
Демон Zabbix UNIX агент работает на наблюдаемом узле сети. Агент предоставляет Zabbix серверу данные о своей производительности и доступности. Zabbix агент работает с элементами данных типа 'Zabbix агент' или 'Zabbix агент (активный)'.
Zabbix агент может быть запущен командой:
shell> cd sbin shell> ./zabbix_agentd
Zabbix агент стартует как демон.
Zabbix агент поддерживает следующие параметры командной строки:
-c --config <файл> Определяет конфигурационный файл, по умолчанию это /etc/zabbix/zabbix_agentd.conf -h --help Отображение этого сообщения помощи -V --version Отображение номера версии -p --print Вывод списка поддерживаемых элементов данных и выход -t --test <ключ элемента данных> Тест указанного элемента данных и выход
Для получения помощи по параметрам командной строки выполните:
shell> zabbix_agentd -h
Примеры параметров командой строки:
shell> zabbix_agentd -c /usr/local/etc/zabbix_agentd.conf shell> zabbix_agentd --help shell> zabbix_agentd --print shell> zabbix_agentd -t "system.cpu.load[all,avg1]"
Файл конфигурации содержит параметры настроек zabbix_agentd. Этот файл должен существовать и должен иметь права чтения для пользователя 'zabbix'. Поддерживаемые параметры:
Параметр | Обязательный | Диапазон | По умолчанию | Описание |
---|---|---|---|---|
Alias | нет | Наборы псевдонимов для параметра. Может быть полезным для замены длинных и сложных имен параметров на более простые и короткие. Начиная с версии 1.8.6 Zabbix агент будет завершен в случае некорректной записи Alias или в случае если найден дубликат ключа Alias в конфигурационном файле. |
||
AllowRoot | нет | 0 | Разрешает запуск агента из под 'root'. Если параметр отключен и агент запускается из под 'root', то агент попытается переключиться на пользователя 'zabbix'. Параметр не имеет эффекта, если агент запускается под обычным пользователем. 0 - не разерешено 1 - разрешено |
|
BufferSend | нет | 1-3600 | 5 | Не удерживать данные в буфере больше чем N секунд. |
BufferSize | нет | 2-65535 | 100 | Максимальное количество значений в памяти буфера. Агент отправляет все собранные данные Zabbix серверу или прокси при заполнении буфера. |
DebugLevel | нет | 0-4 | 3 | Задает уровень журналирования 0 - без отладки 1 - критичная информация 2 - информация об ошибках 3 - предупреждения 4 - для отладки (записывает очень много информации) |
DisableActive | нет | 0 | Отключение активных проверок. Агент переходит в пассивный режим, ожидая подключений от сервера. | |
DisablePassive | нет | 0 | Отключение пассивных проверок. Агент не слушает никакой TCP порт. Будут работать только активные проверки. 0 - не отключать 1 - отключить |
|
EnableRemoteCommands | нет | 0 | Разрешены ли удаленные команды от Zabbix сервера. 0 - не разрешены 1 - разрешены |
|
Hostname | нет | Устанавливается HostnameItem | Уникальное имя узла сети. Требуется для активных проверок и должно точно совпадать (в т.ч. регистр) с именем узла сети, настроенном в Zabbix сервере. Регистрозависимо! Допустимые символы: буквенночисловые, '.', ' ', '_' и '-'. Максимальная длина: 64 |
|
HostnameItem | нет | system.hostname | Элемент данных используется для установки Hostname, если он не определен. Не поддерживает UserParameters, счетчики производительности или псевдонимы, но поддерживает system.run[] независимо от значения EnableRemoteCommands. Игнорируется, если установлен Hostname. Эта опция поддерживается в версии 1.8.6 и более новых. |
|
Include | нет | Вы можете включить в файл конфигурации индивидуальные файлы или все файлы в папке. | ||
ListenIP | нет | 0.0.0.0 | Список IP адресов, разделенный запятыми, которые агент должен прослушивать. Несколько IP адресов поддерживаются начиная с версии 1.8.3 и выше. |
|
ListenPort | нет | 1024-32767 | 10050 | Агент будет прослушивать указанный порт, ожидая подключений с сервера. |
LogFileSize | нет | 0-1024 | 1 | Максимальный размер файла журнала в МБ. 0 - отключает автоматическую ротацию файла журнала. |
LogFile | нет | Имя файла журнала. Если не указан, тогда используется syslog |
||
LogRemoteCommands | нет | 0 | Включение журналирования выполненных команд как предупреждений. 0 - отключено 1 - включено |
|
MaxLinesPerSecond | нет | 1-1000 | 100 | Максимальное количество новых строк в секунду, которые агент будет отправлять серверу или прокси при обработке активных проверок 'log', 'logrt' и 'eventlog'. Указаное значение будет перезаписано параметром 'maxlines', указанном в ключах элементов данных 'log', 'logrt' или 'eventlog'. Обратите внимание: Zabbix будет обрабатывать в 4 раза больше новых строк, чем задано в MaxLinesPerSecond, для поиска требуемой строки в элементах данных журналов. |
PidFile | нет | /tmp/zabbix_agentd.pid | Имя PID файла. | |
RefreshActiveChecks | нет | 60-3600 | 120 | Частота обновления списка активных проверок, в секундах. |
Server | нет | Список IP адресов (или имен хостов) Zabbix серверов, разделенных запятыми. Пробелы недопустимы. Если ServerActive не указан, то первая запись из списка будет использоваться для получения списка активных проверок и отправки результатов активных проверок. Обратите внимание, что имена хостов должны резолвиться имя хоста→IP адрес и IP адрес→имя хоста. Если включена поддержка IPv6, тогда '127.0.0.1', '::127.0.0.1', '::ffff:127.0.0.1' обрабатываются одинаково. |
||
ServerActive | нет | Список пар IP:порт (или имя хоста:порт) разделенных запятыми Zabbix серверов для активных проверок. Пробелы недопустимы. Если ServerActive указан, то первый хост из опции Server не будет использоваться для активных проверок, только для пассивных. Если порт не указывается, то используется порт по умолчанию. Если ServerPort не указан, то будет использован порт по умолчанию. IPv6 адреса должны быть заключены в квадратные скобки, если для хоста указывается порт. Если порт порт не указан, то квадратные скобки для IPv6 адресов опциональны. Эта опция поддерживается версией 1.8.13 и выше. |
||
ServerPort | нет | 10051 | Порт сервера для получения списка и для отправки активных проверок. | |
SourceIP | нет | IP адрес источника для исходящих подключений. | ||
StartAgents | нет | 1-100 | 3 | Количество форков zabbix_agentd, для обработки пассивных проверок. Верхний предел был 16 до версии 1.8.5. |
Timeout | нет | 1-30 | 3 | Не тратить на обработку времени, больше чем указано в значении |
UnsafeUserParameters | нет | 0,1 | 0 | Разрешить передачу всех символов, которые указаны в качестве аргументов пользовательских параметров. Поддерживается начиная с 1.8.2 |
UserParameter | нет | Пользовательский параметр для мониторинга. Можно указать несколько пользовательских параметров. Формат: UserParameter=<ключ>,<команда> Обратите внимание, что команда не должна возвращать пустую строку или только символ конца строки. Пример: UserParameter=system.test,who|wc -l Начиная с версии 1.8.6 Zabbix агент будет завершен в случае некорректной записи UserParameter или в случае если найден дубликат ключа UserParameter в конфигурационном файле. |
Файл конфигурации содержит параметры настроек zabbix_agent. Этот файл должен существовать и должен иметь права чтения для пользователя 'zabbix'. Поддерживаемые параметры:
Параметр | Обязательный | По умолчанию | Описание |
---|---|---|---|
Alias | нет | Наборы псевдонимов для параметра. Может быть полезным для замены длинных и сложных имен параметров на более простые и короткие. Начиная с версии 1.8.6 Zabbix агент будет завершен в случае некорректной записи Alias или в случае если найден дубликат ключа Alias в конфигурационном файле. |
|
Include | нет | Вы можете включать индивидуальные файлы или все файлы в папке во конфигурационный файл. | |
Server | да | - | Список разделенных запятыми IP адресов (или имен хостов) Zabbix серверов. Подключения с других IP адресов будут отклонены. |
Timeout | нет | 3 | Не тратить на обработку времени больше указанного значения. Агент не завершает пользовательские процессы попавшие под таймаут! |
UnsafeUserParameters | нет | 0 | Разрешить все символы, которые передаются в качестве аргументов пользовательским параметрам |
UserParameter | нет | - | Пользовательский параметр для мониторинга. Можно указать несколько пользовательских параметров Формат: UserParameter=<ключ>,<команда> Обратите внимание, что не должна возвращать пустую строку или только символ конца строки. Пример: UserParameter=system.test,who|wc -l Начиная с версии 1.8.6 Zabbix агент будет завершен в случае некорректной записи UserParameter или в случае если найден дубликат ключа UserParameter в конфигурационном файле. |
Установка очень проста и включает в себя 3 шага:
Создайте конфигурационный файл.
Создайте конфигурационный файл c:/zabbix_agentd.conf (он имеет схожий синтаксис с конфигурационным файлом UNIX агента).
Пример конфигурационного файла доступен в архиве исходных кодов Zabbix в misc/confzabbix_agentd.win.conf.
Установите агента как сервиса Windows.
zabbix_agentd.exe --install
Если вы хотите использовать конфигурационный файл, отличный от c:\zabbix_agentd.conf, вы должны использовать следующую команду для установки сервиса:
zabbix_agentd.exe --config <ваш_конфигурационный_файл> --install
Должен быть указан полный путь к конфигурационному файл.
Запустите агента.
Теперь вы можете использовать Панель управления для запуска агента как сервиса или из командной строки выполните:
zabbix_agentd.exe --start
Синтаксис командой строки:
zabbix_agentd.exe [-Vhp] [-idsx] [-c <file>] [-t <metric>]
Zabbix агент для Windows поддерживает следующие параметры командной строки:
Опции:
-c --config <файл> Параметр указывает конфигурационный файл, по умолчанию это c:\zabbix_agentd.conf). -h --help Отображение этого сообщения помощи -V --version Отображение номера версии -p --print Вывод поддерживаемых проверок (элементов данных) и выход -t --test <ключ элемента данных> Тестирование одного элемента данных и выход
Функции:
-i --install Установка Zabbix агента как сервиса. -d --uninstall Удаление сервиса Zabbix агента. -s --start Запуск сервиса Zabbix агента. -x --stop Остановка сервиса Zabbix агента.
Конфигурационный файл (c:/zabbix_agentd.conf) содержит параметры настроек для zabbix_agentd.exe. Поддерживаемые параметры:
Параметр | Обязательный | Диапазон | По умолчанию | Описание |
---|---|---|---|---|
Alias | нет | Наборы псевдонимов для параметра. Может быть полезным для замены длинных и сложных имен параметров на более простые и короткие. Например, если вы хотите вернуть использование файла подкачки сервера в процентах, вы можете использовать параметр “perf_counter[\Paging File(_Total)\% Usage]”, или вы можете установить алиас, добавив следующую строку в конфигурационный файл: Alias = pg_usage:perf_counter[\Paging File(_Total)\% Usage]. После этого вы можете использовать имя параметра “pg_usage”, чтобы получить эту же информацию. Вы можете создать столько записей “Alias”, сколько пожелаете. Обратите внимание, что алиасы не могут быть использованы для параметров, определенных в записях “PerfCounter” конфигурационного файла. Начиная с версии 1.8.6 Zabbix агент будет завершен в случае некорректной записи Alias или в случае если найден дубликат ключа Alias в конфигурационном файле. |
||
BufferSend | нет | 1-3600 | 5 | Не удерживать данные в буфере больше чем N секунд. |
BufferSize | нет | 2-65535 | 100 | Максимальное количество значений в памяти буфера. Агент отправляет все собранные данные Zabbix серверу или прокси при заполнении буфера. |
DebugLevel | нет | 0-4 | 3 | Уровень журналирования, один из: 0 – нет, 1 – критические, 2 – ошибки, 3 – предупреждения, 4 – отладка |
DisableActive | нет | 0 | Отключение активных проверок. Агент переходит в пассивный режим, ожидая подключений от сервера. | |
DisablePassive | нет | 0 | Отключение пассивных проверок. Агент не слушает никакой TCP порт. Будут работать только активные проверки. 0 - не отключать 1 - отключить |
|
EnableRemoteCommands | нет | 0 | Разрешены ли удаленные команды от Zabbix сервера. 0 - не разрешены 1 - разрешены |
|
Hostname | нет | Указывает HostnameItem | Уникальное имя узла сети. Требуется для активных проверок и должно точно совпадать (в т.ч. регистр) с именем узла сети, настроенном в Zabbix сервере. Регистрозависимо! Допустимые символы: буквенно-цифровые, '.', ' ', '_' и '-'. Максимальная длина: 64 |
|
HostnameItem | нет | system.hostname | Элемент данных, используемый для установки параметра Hostname, если он не задан. Не поддерживает UserParameters, счетчики производительности или алиасы, но поддерживает system.run[] независимо от значения EnableRemoteCommands. Игнорируется, если задан Hostname. Эта опция поддерживается версией 1.8.6 и выше. |
|
Include | нет | Вы можете включить в конфигурационный файл индивидуальный файл в папке. | ||
ListenIP | нет | 0.0.0.0 | Список IP адресов, разделенный запятыми, которые агент должен прослушивать. Несколько IP адресов поддерживаются начиная с версии 1.8.3 и выше. |
|
ListenPort | нет | 1024-32767 | 10050 | Агент будет прослушивать указанный порт, ожидая подключений с сервера. |
LogFileSize | нет | 0-1024 | 1 | Максимальный размер файла журнала в МБ. 0 - отключает автоматическую ротацию файла журнала. |
LogFile | нет | Имя файла журнала. Если не указан, то используется Журнал событий Windows | ||
LogRemoteCommands | нет | 0 | Включение журналирования выполненных команд как предупреждений. 0 - отключено 1 - включено |
|
MaxLinesPerSecond | нет | 1-1000 | 100 | Максимальное количество новых строк в секунду, которые агент будет отправлять серверу или прокси при обработке активных проверок 'log', 'logrt' и 'eventlog'. Указанное значение будет перезаписано параметром 'maxlines', если оно определено в ключах элементов данных 'log', 'logrt' или 'eventlog'. |
PerfCounter | нет | Синтаксис: <parameter_name>,“<perf_counter_path>”,<period> Это определяет новый параметр <parameter_name>, и это будет среднее значение для системного счетчика производительности <perf_counter_path> для указанного периода времени <period> (в секундах). Например, если вы хотите получать среднее количество прерываний процессора в секунду за последнюю минуту, вы должны определить новый параметр “interrupts” в следующего вида: PerfCounter = interrupts,“\Processor(0)\Interrupts/sec”,60 Пожалуйста, обратите внимание на двойные кавычки на концах пути счетчика производительности. Опрос системного счетчика для расчета среднего значения будет производится каждую секунду. Вы можете выполнить typeperf –qx для получения списка всех счетчиков производительности доступных в Windows. Начиная с версии 1.8.6 Zabbix агент будет завершен в случае некорректной записи PerfCounter или в случае если найден дубликат ключа PerfCounter в конфигурационном файле. |
||
RefreshActiveChecks | нет | 60-3600 | 120 | Частота обновления списка активных проверок, в секундах. |
Server | да | Список IP адресов (или имен хостов) Zabbix серверов, разделенных запятыми. Пробелы недопустимы. Если ServerActive не указан, то будет использоваться первая запись для получения списка активных проверок и для отправки их результатов. Обратите внимание, что имена хостов должны резолвиться имя хоста→IP адрес и IP адрес→имя хоста. Если поддержка IPv6 включена, тогда '127.0.0.1', '::127.0.0.1', '::ffff:127.0.0.1' воспринимаются одинаково. |
||
ServerActive | нет | Список пар IP:порт (или имя хоста:порт) разделенных запятыми Zabbix серверов для активных проверок. Пробелы недопустимы. Если ServerActive указан, то первый хост из опции Server не будет использоваться для активных проверок, только для пассивных. Если порт не указывается, то используется порт по умолчанию. Если ServerPort не указан, то будет использован порт по умолчанию. IPv6 адреса должны быть заключены в квадратные скобки, если для хоста указывается порт. Если порт порт не указан, то квадратные скобки для IPv6 адресов опциональны. Эта опция поддерживается версией 1.8.13 и выше. |
||
ServerPort | нет | 10051 | Порт сервера для получения списка активных проверок и для отправки их результатов. | |
SourceIP | нет | IP адрес источника для исходящих подключений. | ||
StartAgents | нет | 1-16 | 3 | Количество потоков zabbix_agentd, для обработки пассивных проверок. |
Timeout | нет | 1-30 | 3 | Не тратить на обработку времени, больше чем указано в значении. |
UnsafeUserParameters | нет | 0-1 | 0 | Разрешить передачу всех символов, которые указаны в качестве аргументов пользовательских параметров. 0 - не разрешено 1 - разрешено |
UserParameter | Пользовательский параметр для мониторинга. Можно указать несколько пользовательских параметров. Формат: UserParameter=<ключ>,<команда> Обратите внимание, что команда не должна возвращать пустую строку или только символ конца строки. Пример: UserParameter=system.test,echo 1 Начиная с версии 1.8.6 Zabbix агент будет завершен в случае некорректной записи UserParameter или в случае если найден дубликат ключа UserParameter в конфигурационном файле. |
Zabbix UNIX Sender это утилита командной строки, с помощью которой вы можете отправить Zabbix серверу данные о производительности для последующей обработки.
Обычно эта утилита используется в долго работающих пользовательских скриптах для периодичной отправки данных о доступности и производительности. Zabbix Sender может быть запущен командой:
shell> cd bin shell> ./zabbix_sender -z zabbix -s LinuxDB3 -k db.connections -o 43
Начиная с версии Zabbix 1.8.4 утилита zabbix_sender была улучшена для отсылки данных в реальном времени. Имеется ввиду, что большое количество значений, полученное за короткий промежуток времени, будут накапливаться во временном стеке и затем будут отправлены серверу за одно соединение. Данные, которые приходят с интервалом более 0,2 сек. могут накапливаться в одном стеке, но максимальное время их накапливания и последующей отправки все же 1 секунда.
Если отправлять много значений из входного файла, то Zabbix sender будет отправлять их партиями по 250 значений за раз (при этом будут обработаны все значения), например:
# zabbix_sender -z 127.0.0.1 -i /tmp/traptest.txt Info from server: "Processed 250 Failed 0 Total 250 Seconds spent 0.002668" Info from server: "Processed 50 Failed 0 Total 50 Seconds spent 0.000540" sent: 300; skipped: 0; total: 300
Все записи из входящего файла отправляются в последовательном порядке сверху-вниз.
Если целевой элемент данных имеет связанные с ним триггеры, то все штампы времени во входящем файле должны быть отсортированы в порядке возрастания, иначе вычисление события будет некорректным.
Для получения подробной информации смотрите Zabbix Sender manpage.
Zabbix get это утилита, которая может взаимодействовать с Zabbix агентом и получать от него запрашиваемую информацию.
Эта утилита обычно используется для устранения неполадок с Zabbix агентами.
Zabbix get может быть запущен командой:
shell> cd bin shell> ./zabbix_get -s 127.0.0.1 -p 10050 -k "system.cpu.load[all,avg1]"
Zabbix get поддерживает следующие параметры командной строки:
-p --port <номер порта> Указывает номер порта запущенного агента на узле сети. По умолчанию 10050. -s --host <имя хоста или IP> Указывает имя хоста или IP адрес для требуемого узла сети -I --source-address <IP адрес> Указывает IP адрес для исходящего подключения -k -key <ключ элемента данных> Указывает ключ элемента данных, значение которого мы хотим получить. -h --help Отображение этого сообщения помощи -V --version Отображение номера версии
Для получения помощи по параметрам командной строки выполните:
shell> zabbix_get --help
Zabbix, реагируя на события, выполняет множество операций. Действия могут быть определены для любого события или набора событий, генерируемых Zabbix.
Атрибуты действий:
Параметр | Описание |
---|---|
Имя | Уникальное имя действия. |
Событие | Источник события. В данный момент поддерживаются несколько источников: Триггеры – события генерируемые изменениями состояния триггеров Обнаружение – события генерируемые модулем сетевого автообнаружения Авторегистрация - события генерируемые новыми активными агентами |
Включить эскалации | Включение эскалаций. Если включено, то действие будет эскалировано по определенным шагам операции, определенным для операций. |
Период (секунд) | Интервал времени для перехода на следующий шаг при эскалации. |
Тема по умолчанию | Тема оповещения по умолчанию. Тема может содержать макросы. |
Сообщение по умолчанию | Сообщение оповещения по умолчанию. Сообщение может содержать макросы. |
Сообщение восстановления | Если включено, то Zabbix будет отправлять сообщение после устранения проблемы. Сообщения будут отправлены только тем кто получал любые сообщения по этой проблеме ранее. |
Тема восстановления | Тема сообщения при восстановлении. Тема может содержать макросы. |
Сообщение восстановления | Сообщение оповещения при восстановления. Сообщение может содержать макросы. |
Состояние | Состояние действия: Активировано - действие включено Деактивировано - действие отключено |
Действие будет выполнено только в случае, если оно соответствует определенному набору условий.
Следующие условия могут быть определены для событий, источником которых есть изменение триггеров:
Тип условия | Поддерживаемые операнды | Описание |
---|---|---|
Группа элементов данных | = содержит не содержит | = - событие произошло от триггера, элемент данных которого включен в указанную группу элементов данных содержит - событие произошло от триггера, элемент данных которого включен в указанную группу элементов данных, содержащей указанную строку не содержит - событие произошло от триггера, элемент данных которого включен в указанную группу элементов данных, не содержащей указанную строку |
Группа узлов сети | = <> | Сравнивает имеется ли в группе узлов сети триггер, сгенерировавший событие. = - Событие сгенерировано из указанной группы узлов сети <> - Событие сгенерировано не из указанной группы узлов сети |
Шаблон узла сети | = <> | Сравнивает имеется ли в шаблоне узла сети сработавший триггер. = - Событие сгенерировано триггером находящемся в шаблоне узла сети <> - Событие сгенерировано триггером не находящемся в шаблоне узла сети |
Узел сети | = <> | Сравнение имеется ли сработавший триггер в узле сети. = - Событие сгенерировано из указанного узла сети <> - Событие сгенерировано не из указанного узла сети |
Триггер | = <> | Сравнение указанного триггера со сработавшим триггером. = - Событие сгенерировано указанным триггером <> - Событие сгенерировано не указанным триггером |
Описание триггера (имя) | содержит не содержит | Сравнение совпадает ли имя триггера с именем триггера сгенерировавшим событие. содержит - Строка найдена в имени триггера. Регистрозависимое. не содержит – Строка не найдена в имени триггера. Регистрозависимое. Обратите внимание: Введенное значение будет сравниваться с описанием триггера (именем) со всеми раскрытыми макросами. |
Важность триггера | = <> >= <= | Сравнение с важностью триггера. = - равно важности триггера <> - не равен важности триггера >= - равен или более важный триггер <= - равен или менее важный триггер |
Значение триггера | = | Сравнение со значением триггера. = - равно значению триггера (OK или ПРОБЛЕМА) |
Период времени | в не в | Событие произошло в указанный промежуток времени. в – Событие произошло в указанный период времени. Смотрите страницу спецификаций периода времени для получения сведений о формате времени. |
Состояние обслуживания | = <> | Сравнение находится ли узел сети в обслуживании. = - Узел сети находится на обслуживании. <> - Узел сети не находится на обслуживании. |
Значение (состояние) триггера:
Состояние триггера изменяется с ОК на ПРОБЛЕМА (значение триггера ПРОБЛЕМА) Состояние триггера изменяется с ПРОБЛЕМА на ОК (значение триггера ОК)
Если состояние изменяется в такой последовательности ОК→НЕИЗВЕСТНО→ПРОБЛЕМА, то это рассматривается как ОК→ПРОБЛЕМА, и если ПРОБЛЕМА→НЕИЗВЕСТНО→ОК то это рассматривается как ПРОБЛЕМА→ОК.
Следующие условия действий могут быть определены для событий, возникающих при Обнаружении:
Тип условия | Поддерживаемые операнды | Описание |
---|---|---|
IP узла сети | = <> | Проверяется входит ли IP адрес обнаруженного Узла сети в указанный диапазон. = - IP узла сети входит в диапазон <> - IP узла сети не входит в диапазон. |
Тип сервиса | = <> | Проверяется тип сервиса обнаруженного устройства. = - совпадает тип сервиса обнаруженного устройства <> - не совпадает тип сервиса обнаруженного устройства. |
Порт сервиса | = <> | Проверяется входит ли номер TCP порта в указанный диапазон портов. = - порт входит в диапазон <> - порт не входит в диапазон. |
Правило обнаружения | = <> | Проверяется соответствует ли указанному правилу обнаружения обнаруженный узел сети. = - не соответствует указанному правилу обнаружения <> - соответствует указанному правилу обнаружения. |
Проверка обнаружения | = <> | Проверяется соответствует ли указанной проверке обнаружения обнаруженный узел сети. = - соответствует указанной проверке обнаружения <> - не соответствует указанной проверке обнаружения. |
Обнаруженный объект | = | Проверяется, чем является обнаруженный объект устройство или сервис. |
Состояние обнаружения | = | Доступен – Событие обнаружения узла сети или сервиса соответствует Доступен. Недоступен – Событие обнаружения узла сети или сервиса соответствует Недоступен. Обнаружен – Событие обнаружения узла сети или сервиса соответствует Обнаружен Потерян – Событие обнаружения узла сети или сервиса соответствует Потерян |
Доступен/Недоступен | >= <= | Продолжительность недоступности для событий недоступности узла сети или сервиса. Продолжительность доступности для событий доступности узла сети или сервиса. >= - доступен/недоступен равно или более чем <= - доступен/недоступен равно или менее чем. Параметр указывается в секундах. |
Полученное значение | = <> >= <= не содержит содержит | Сравнение с полученным значением от агента (Zabbix, SNMP). Сравнение строки. = - равняется значению <> - не равняется значению >= - равно или более чем значение <= - равно или менее чем значение содержит – содержит как подстроку не содержит – не содержит как подстроку. Параметр задается строковым значением. |
Прокси | = <> | Проверяется под управлением какого Zabbix прокси обнаружен узел сети. = - соответствует указанному прокси-серверу <> - не соответствует указанному прокси-серверу. |
Следующие условия действий могут быть определены для событий, возникающих при Авторегистрации:
Тип условия | Поддерживаемые операнды | Описание |
---|---|---|
Имя узла сети | содержит не содержит | Проверяется содержит ли обнаруженное устройство в имени узла сети указанный текст. содержит - узел сети содержит указанную информацию в имени узла сети не содержит - узел сети не содержит указанную информацию в имени узла сети. |
Прокси | = <> | Проверяется под управлением какого Zabbix прокси обнаружен объект.. = - соответствует указанному прокси-серверу <> - не соответствует указанному прокси-серверу. |
Для примера рассмотрим следующий набор условий (тип вычисления: AND/OR):
будет вычисляться так:
(Группа узлов сети = Oracle servers или Группа узлов сети = MySQL servers) и (Имя триггера содержит 'Database is down' или Имя триггера содержит 'Database is unavailable')
Операции или набор операций выполняются если событие соответствует условиям.
Zabbix поддерживает следующие операции:
Дополнительные операции доступны для событий обнаружения:
При добавлении узла сети, его имя будет получено (разрешено) с помощью стандартной функции gethostbyname. Если имя узла сети разрешается, тогда используется полученое имя. Если нет, тогда используется IP адрес. Кроме того, если IPv6 адрес используется для имени узла сети, тогда все “:” (двоеточия) заменяются на “_” (подчеркивание), потому что “:” (двоеточия) не разрешены в имени узлов сети.
Аттрибуты операций:
Параметр | Описание |
---|---|
Шаг | Если включена эскалация для этого действия, тогда доступны следующие параметры: От - выполнять на каждом шагу начиная с первого К - до этого (0, для всех шагов начиная с От) Период - переход к следующему шагу после заданного периода, 0 - использовать период по умолчанию. |
Тип операции | Тип действия: Отправить сообщение - отправка сообщения пользователю Удаленная команда - выполнить удаленную команду |
Источник события | |
Отправить сообщение | Отправить сообщение: Одному пользователь - одному пользователю Группе пользователей - всем членам группы пользователей |
Сообщение по умолчанию | Если выбрано, то будет использоваться сообщение по умолчанию. |
Отправлять только | Выбор какое из возможных средств передачи использовать для отправки сообщения (Все средства передачи или конкретное). |
Тема | Тема сообщения. Тема может содержать макросы. |
Сообщение | Непосредственно сообщение. Сообщение может содержать макросы. |
Удаленная команда | Список удаленных команд. |
Условия | Используется при эскалированном действии на сработавший триггер. Может принимать значения для подтвержденного события на триггер “Не подтверждено” или “Подтверждено” |
Макросы могут быть использованы для более эффективного оповещения.
Тема:
{TRIGGER.NAME}: {TRIGGER.STATUS}
Тема реального сообщения будет заменена на нечто вроде:
Processor load is too high on server www.zabbix.com: PROBLEM
Сообщение:
Загрузка процессора: {zabbix.zabbix.com:system.cpu.load[,avg1].last(0)}
Реальное сообщение будет заменено на нечто вроде:
Загрузка процессора: 1.45
Сообщение:
Последнее значение: {{HOSTNAME}:{TRIGGER.KEY}.last(0)} Максимум за 15 минут: {{HOSTNAME}:{TRIGGER.KEY}.max(900)} Минимум за 15 минут: {{HOSTNAME}:{TRIGGER.KEY}.min(900)}
Реальное сообщение будет заменено на нечто вроде:
Последнее значение: 1.45 Максимум за 15 минут: 2.33 Минимум за 15 минут: 1.01
Zabbix поддерживает некоторое количество макросов, которые могут быть использованы в различных ситуациях. Эффективное использование макросов позволяет сократить время и сделать настройку Zabbix более прозрачной.
В таблице содержится полный список поддерживаемых макросов Zabbix. X обозначает “поддерживается”.
Имена элементов данных | Описание | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
Имена триггеров | ▼▼ | |||||||||
Выражения триггеров | ▼▼ | |||||||||
Подписи на картах1 | ▼▼ | |||||||||
Параметры ключей элементов данных | ▼▼ | |||||||||
GUI скрипты | ▼▼ | |||||||||
Оповещения авторегистрации | ▼▼ | |||||||||
Оповещения обнаружения | ▼▼ | |||||||||
Оповещения и команды | ▼▼ | |||||||||
МАКРОС | ▼▼ | |||||||||
▼▼ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | |
{DATE} | X | X | X | Текущая дата в формате yyyy.mm.dd. | ||||||
{DISCOVERY.DEVICE.IPADDRESS} | X | IP адрес обнаруженного устройства. Доступно всегда, не зависит от того добавлен узел сети или нет. | ||||||||
{DISCOVERY.DEVICE.STATUS} | X | Состояние обнаруженного устройства: может быть ДОСТУПЕН или НЕДОСТУПЕН. | ||||||||
{DISCOVERY.DEVICE.UPTIME} | X | Время с момента последнего изменения состояния обнаружения для конкретного устройства. Например: 1ч 29м. Для устройств с состоянием НЕДОСТУПЕН этот период указывает время недоступности. |
||||||||
{DISCOVERY.RULE.NAME} | X | Название правила обнаружения, которое обнаружило наличие или отсутствие устройства или сервиса. | ||||||||
{DISCOVERY.SERVICE.NAME} | X | Имя сервиса, которое было обнаружено. Например: HTTP. |
||||||||
{DISCOVERY.SERVICE.PORT} | X | Порт на котором сервис был обнаружен. Например: 80. |
||||||||
{DISCOVERY.SERVICE.STATUS} | X | Состояние сервиса правила обнаружения: может быть ДОСТУПЕН или НЕДОСТУПЕН. | ||||||||
{DISCOVERY.SERVICE.UPTIME} | X | Время с момента последнего изменения состояния обнаружения для конкретного сервиса. Например: 1ч 29м. Для сервисов с состоянием НЕДОСТУПЕН этот период указывает время недоступности. |
||||||||
{ESC.HISTORY} | X | История эскалаций. Журнал предыдущих отправленных сообщений. Отображает предыдущие отправленные оповещения, на котором шаге эскалации они были отправлены и их статус (отправлено, в процессе и ошибка). | ||||||||
{EVENT.ACK.HISTORY} | X | |||||||||
{EVENT.ACK.STATUS} | X | |||||||||
{EVENT.AGE} | X | X | X | Возраст события. Полезно в сообщениях эскалации. | ||||||
{EVENT.DATE} | X | X | X | Дата события. | ||||||
{EVENT.ID} | X | X | X | Код (ID) события, вызвавшего это действие. | ||||||
{EVENT.TIME} | X | X | X | Время события. | ||||||
{HOSTNAME<1-9>} | X | X | X | X | X | Имя узла сети N-го элемента данных из триггера вызвавшего это оповещение. Поддерживается в оповещениях авторегистрации начиная с версии 1.8.4. | ||||
{HOST.CONN<1-9>} | X | X | X | X | IP или DNS имя узла сети, зависимо от его настроек. | |||||
{HOST.DNS<1-9>} | X | X | X | X | DNS имя узла сети. | |||||
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | ||
{IPADDRESS<1-9>} | X | X | X | X | IP адрес N-го элемента данных триггера вызвавшего это оповещение. | |||||
{ITEM.ID<1-9>} | X | Числовой ID N-го элемента данных триггера вызвавшего это оповещение. Поддерживается начиная с 1.8.12. | ||||||||
{ITEM.LASTVALUE<1-9>} | X | X |
Группа элементов данных представляет собой набор элементов данных для узла сети. Например, группа элементов данных ‘MySQL Server’ может содержать все элементы данных, которые относятся к серверу MySQL: доступность MySQL, размер на диске, загруженность процессора, количество операций в секунду, количество медленных запросов и т.д.
Элемент данных может быть связан с одним или несколькими группами элементов данных.
Группы элементов данных используются в веб-интерфейсе Zabbix для группировки элементов данных.
Пользовательские графики позволяют создавать сложные (состоящие из нескольких элементов данных) графики.
Такие графики, однажды настроенные, потом можно легко использовать через меню Мониторинг→Графики.
Настройку пользовательских графиков можно легко осуществить перейдя в Настройка→Шаблоны или Настройка→Узлы сети и нажав на ссылку Графики у соответствующего шаблона или узла сети.
1. если первый элемент данных был выбран из шаблона, тогда только из этого шаблона;
2. если первый элемент данных был выбран из любого узла сети, тогда из любого узла сети (но уже не из шаблонов)
Способы оповещений являются каналами передачи оповещений от Zabbix сервера. Один или более способов оповещений могут быть назначены одному пользователю.
Оповещения по электронной почте.
Оповещение, используя сообщения Jabber.
При отправке оповещений, Zabbix попытается найти первую запись SRV Jabber, и если не удалось найти, тогда будет использоваться адрес записи этого домена. Среди записей SRV Jabber, будет выбрана одна с наивысшим приоритетом и с максимальным весом. Если не удалось найти такую запис, другие записи проверяться не будут.
Обзор записей SRC Jabber поддерживается начиная с Zabbix 1.8.6. До этой версии Zabbix пытался найти только запись адреса.
Пользовательские медиа скрипты выполняются из пути указанного в конфигурационном файле Zabbix сервера в переменной AlertScriptsPath. Скрипт должен иметь три параметра коммандной строки, получаемые в порядке:
Переменные среды не сохраняются или создаются для скрипта, поэтому они должны быть обработаны в явном виде.
Zabbix поддерживают отправку СМС сообщений, используя GSM-модем, подключенный к последовательному порту Zabbix сервера.
Убедитесь, что:
Zabbix был протестирован на следующих модемах GSM:
Использование шаблонов это отличный способ сделать управление системой Zabbix более простой.
Шаблон может быть присоединен к любому количеству узлов сети. Элементы данных, триггеры и графики шаблона будут автоматически добавлены к связанному узлу сети. Измените любые элементы шаблона (элементы данных, триггер, графики) и изменения будут автоматически применены к узлам сети, связанным с этим шаблоном .
Атрибуты шаблона узла сети:
Параметр | Описание |
---|---|
Имя | Уникальное имя шаблона (узла сети). Имя должно быть уникальным в пределах каждой Zabbix ноды. |
Группы | Список групп узлов сети, к которым шаблон принадлежит. |
Новая группа | Назначение шаблону новой группы узлов сети. |
Узлы сети|Шаблоны | Связывание шаблона с указанными узлами сети или другими шаблонами. |
Соединить с шаблоном | Используется для создания иерархии шаблонов. |
Макрос | Использование макросов на уровне шаблонов. |
Группа узлов сети может содержать один, несколько улов сети или не содержать их вообще.
Атрибуты групп узлов сети:
Параметр | Описание |
---|---|
Название группы | Уникальное имя группы узлов сети. Имя должно быть уникальным в пределах Zabbix ноды. |
Узлы сети | Список узлов сети включенных в эту группу. |
Zabbix не поддерживает зависимостей для узлов сети. Зависимости для узлов сети могут быть заданы с использованием более гибкого способа - зависимостей триггеров.
Как это работает?
Триггер может иметь список из одного или более зависимых триггеров. Это означает, что триггер будет все же менять свое состояние независимо от состояния триггеров в списке, но триггер не будет генерировать оповещения и действия в случае, если один из триггеров в списке находится в состоянии ПРОБЛЕМА .
Зависимость узла сети
Предположим, у вас есть два узла сети: маршрутизатор и сервер. Сервер находится за маршрутизатором. Таким образом, мы хотим получать только одно уведомление, если маршрутизатор недоступен:
“The router is down”
вместо:
“The router is down” и “The host is down”
Для того чтобы добиться этого, мы создаем зависимость у триггера:
"The host is down" зависит от "The router is down"
В случае, если сервер и маршрутизатор будут недоступны, Zabbix не будет выполнять действия для триггера “The host is down”.
Элемент данных - это одиночная проверка (метрика) производительности или доступности.
Параметр является гибким, если он может принимать аргументы. Например, параметр vfs.fs.size[*] является гибким. * означает любую строку, которая будет передана в как аргумент параметру. Примеры правильных определений:
Следуйте правилам синтаксиса в формате ключа элемента данных, включая параметры ключа. На рисунках изображен поддерживаемый синтаксис. Допустимые элементы и символы в каждой позиции можно определить следуя линиям - если в каком то блоке может быть достигнута линия, в таком случае разрешено, если линия не может быть достигнута - тогда не разрешено.
Ключ элемента данных
Для построения правильного ключа элемента данных, вы должны начать с указания имени ключа, то есть выбрать имеет ли ключ параметры или нет - о чем свидетельствуют две линии, которые вы можете достичь.
Имя ключа
Имя ключа имеет ограниченный диапазон разрешенных символов, которые просто следуют друг за другом. Разрешенные символы:
0-9a-zA-Z_-.
Что означает:
Параметры ключа
Ключ элемента данных может принимать множество параметров, которые должны быть разделены запятой.
Индивидуальный параметр ключа
Каждый параметр ключа может быть одним из: строка заключенная в кавычки, строка без кавычек, массив.
Параметр можно оставить пустым и тогда будет использоваться значение по умолчанию. В этом случае Вы должны добавить соответствующее количество запятых, если какой-то из дальнейших параметров все же нужно задать. Например, ключ элемента данных icmpping[,,200,,500] будет указывать на то, что период проверки ping 200 миллисекунд, таймаут - 500 миллисекунд, а все остальные параметры будут заполнены значениями по умолчанию.
Параметр - строка заключенная в кавычки
Если параметр ключа это строка, заключенная в кавычки, тогда разрешен любой символ в Юникоде, и если требуется включение двойных кавычек, то они должны быть экранированы обратной наклонной чертой.
Параметр - строка не заключенная в кавычки
Если параметр ключа это строка без кавычек, тогда разрешен любой символ в Юникоде, за исключением запятой и правой квадратной скобки (]).
Параметр - массив
Если параметр ключа это массив, тогда он должен быть заключен в квадратные скобки, в которых каждый индивидуальный параметр следует один за другим, согласно правилам и синтаксису.
Параметр “кодировка” используется для задания специфичной кодировки для обработки элементов данных, так что полученные данные не будут повреждены. Для получения списка поддерживаемых кодировок (идентификаторы кодовых страниц), пожалуйста, обратитесь к соответствующей документации, таких документаций как libiconv (GNU Project) или Microsoft Windows SDK “Идентификаторы кодовых страниц”. Если параметр “кодировка” не задан, тогда используется ANSI по умолчанию с определенным расширением в системе (Windows) или UTF-8 (локаль по умолчанию для новых дистрибутивов Unix/Linux, смотрите настройки вашей системы).
Элемент данных может перейти в состояние “не поддерживается”, если по какой либо причине его значение получить не удалось. Такие элементы данных проверяются повторно через интервал времени, который настраивается в разделе Администрирования.
NetBSD | ||||||||||||
OpenBSD | ▼▼ | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Mac OS X | ▼▼ | |||||||||||
Tru64 | ▼▼ | |||||||||||
AIX | ▼▼ | |||||||||||
HP-UX | ▼▼ | |||||||||||
Solaris | ▼▼ | |||||||||||
FreeBSD | ▼▼ | |||||||||||
Linux 2.6 | ▼▼ | |||||||||||
Linux 2.4 | ▼▼ | |||||||||||
Windows | ▼▼ | |||||||||||
Параметр / система | ▼▼ | |||||||||||
▼▼ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | |
agent.hostname | X | X | X | X | X | X | X | X | X | X | X | |
agent.ping | X | X | X | X | X | X | X | X | X | X | X | |
agent.version | X | X | X | X | X | X | X | X | X | X | X | |
kernel.maxfiles | - | X | X | X | - | - | - | ? | X | X | X | |
kernel.maxproc | - | - | X | X | X | - | - | ? | X | X | X | |
log[файл,<regexp>,<кодировка>,<макс. кол-во строк>] | X | X | X | X | X | X | X | X | X | X | X | |
logrt[формат_файла,<regexp>,<кодировка>,<макс. кол-во строк>] | X | X | X | X | X | X | X | X | X | X | X | |
eventlog[имя,<regexp>,<важность>,<ресурс>,<eventid>, <макс. кол-во строк>] | X | - | - | - | - | - | - | - | - | - | - | |
net.if.collisions[if] | - | X | X | X | X | - | X | - | - | X | r | |
net.if.in[if,<режим>] | X | X | X | X | X | - | X | - | - | X | r | |
режим ▲ | bytes (по умолч.) | X | X | X | X | X | - | X | - | - | X | r |
packets | X | X | X | X | X | - | X | - | - | X | r | |
errors | X | X | X | X | X | - | X | - | - | X | r | |
dropped | X | X | X | X | - | - | - | - | - | X | r | |
net.if.list | X | - | - | - | - | - | - | - | - | - | - | |
net.if.out[if,<режим>] | X | X | X | X | X | - | X | - | - | X | r | |
режим ▲ | bytes (по умолч.) | X | X | X | X | X | - | X | - | - | X | r |
packets | X | X | X | X | X | - | X | - | - | X | r | |
errors | X | X | X | X | X | - | X | - | - | X | r | |
dropped | X | X | X | - | - | - | - | - | - | - | - | |
net.if.total[if,<режим>] | X | X | X | X | X | - | X | - | - | X | r | |
режим ▲ | bytes (по умолч.) | X | X | X | X | X | - | X | - | - | X | r |
packets | X | X | X | X | X | - | X | - | - | X | r | |
errors | X | X | X | X | X | - | X | - | - | X | r | |
dropped | X | X | X | - | - | - | - | - | - | - | - | |
net.tcp.dns[<ip>,зона] | - | X | X | X | X | X | X | X | X | X | X | |
net.tcp.dns.query[<ip>,зона,<тип>] | - | X | X | X | X | X | X | X | X | X | X | |
net.tcp.listen[порт] | X | X | X | X | X | - | - | - | - | - | - | |
net.tcp.port[<ip>,порт] | X | X | X | X | X | X | X | X | X | X | X | |
net.tcp.service.perf[сервис,<ip>,<порт>] | X | X | X | X | X | X | X | X | - | X | X | |
net.tcp.service[сервис,<ip>,<порт>] | X | X | X | X | X | X | X | X | - | X | X | |
net.udp.listen[порт] | - | X | X | - | - | - | - | - | - | - | - | |
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | ||
proc.mem[<имя>,<пользователь>,<режим>,<cmdline>] | - | X | X | X | X | - | X | X | ? | X | X | |
режим ▲ | sum (по умолч.) | - | X | X | X | X | - | X | X | ? | X | X |
avg | - | X | X | X | X | - | X | X | ? | X | X | |
max | - | X | X | X | X | - | X | X | ? | X | X | |
min | - | X | X | X | X | - | X | X | ? | X | X | |
proc.num[<имя>,<пользователь>,<состояние>,<cmdline>] | X | X | X | X | X | - | X | X | ? | X | X | |
состояние ▲ | all (по умолч.) | - | X | X | X | X | - | X | X | ? | X | X |
sleep | - | X | X | X | X | - | X | X | ? | X | X | |
zomb | - | X | X | X | X | - | X | X | ? | X | X | |
run | - | X | X | X | X | - | X | X | ? | X | X | |
sensor[устройство,датчик,<режим>] | - | X | - | - | - | - | - | - | - | X | - | |
services[<тип>,<состояние>,<исключение>] | X | - | - | - | - | - | - | - | - | - | - | |
system.boottime | - | X | X | X | X | - | - | - | - | X | X | |
system.cpu.intr | - | X | X | X | X | - | X | - | - | X | X | |
system.cpu.load[<cpu>,<режим>] | X | X | X | X | X | X | - | X | ? | X | X | |
режим ▲ | avg1 (по умолч.) | X | X | X | X | X | X | - | X | ? | X | X |
avg5 | X | X | X | X | X | X | - | X | ? | X | X | |
avg15 | X | X | X | X | X | X | - | X | ? | X | X | |
system.cpu.num[<тип>] | X | X | X | X | X | X | X | - | - | X | X | |
тип ▲ | online (по умолч.) | X | X | X | X | X | X | X | - | - | X | X |
max | - | X | X | X | X | - | - | - | - | - | - | |
system.cpu.switches | - | X | X | X | X | - | X | - | - | X | X | |
system.cpu.util[<cpu>,<тип>,<режим>] | X | X | X | X | X | X | X | X | ? | X | X | |
тип ▲ | user (по умолч.) | - | X | X | X | X | X | X | X | ? | X | X |
nice | - | X | X | X | - | X | - | X | ? | X | X | |
idle | - | X | X | X | X | X | X | X | ? | X | X | |
system | X | X | X | X | - | X | X | X | ? | X | X | |
kernel | - | - | - | - | X | - | - | - | - | - | - | |
iowait | - | - | X | - | - | - | X | - | - | - | - | |
wait | - | - | - | - | X | - | - | - | - | - | - | |
interrupt | - | - | X | X | - | - | - | - | - | X | - | |
softirq | - | - | X | - | - | - | - | - | - | - | - | |
steal | - | - | X | - | - | - | - | - | - | - | - | |
режим ▲ | avg1 (по умолч.) | X | X | X | X | - | X | X | X | ? | X | - |
avg5 | X | X | X | X | - | X | X | - | ? | X | - | |
avg15 | X | X | X | X | - | X | X | - | ? | X | - | |
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | ||
system.hostname[<тип>] | X | X | X | X | X | X | X | X | X | X | X | |
system.localtime | X | X | X | X | X | X | X | X | X | X | X | |
тип ▲ | utc (по умолч.) | X | X | X | X | X | X | X | X | X | X | X |
local | X | X | X | X | X | X | X | X | X | X | X | |
system.run[команда,<режим>] | X | X | X | X | X | X | X | X | X | X | X | |
режим ▲ | wait (по умолч.) | X | X | X | X | X | X | X | X | X | X | X |
nowait | X | X | X | X | X | X | X | X | X | X | X | |
system.stat[ресурс,<тип>] | - | - | - | - | - | - | X | - | - | - | - | |
system.swap.in[<устройство>,<тип>] (возможность указать устройство доступна только в Linux) | - | X | X | - | X | - | - | - | - | X | - | |
тип ▲ (pages будут работать, только если устройство не указано) | count (по умолчанию для всех кроме Linux) | - | X | X | - | X | - | - | - | - | X | - |
sectors | - | X | X | - | - | - | - | - | - | - | - | |
pages (по умолчанию для Linux) | - | X | X | - | X | - | - | - | - | X | - | |
system.swap.out[<устройство>,<тип>] (возможность указать устройство доступна только в Linux) | - | X | X | - | X | - | - | - | - | X | - | |
тип ▲ (pages будут работать, только если устройство не указано) | count (по умолчанию для всех кроме Linux) | - | X | X | - | X | - | - | - | - | X | - |
sectors | - | X | X | - | - | - | - | - | - | - | - | |
pages (по умолчанию для Linux) | - | X | X | - | X | - | - | - | - | X | - | |
system.swap.size[<устройство>,<тип>] | X | X | X | X | X | - | - | X | ? | X | - | |
тип ▲ | free (по умолч.) | X | X | X | X | X | - | - | X | ? | X | - |
total | X | X | X | X | X | - | - | X | ? | X | - | |
used | - | X | X | X | - | - | - | - | - | X | - | |
pfree | - | X | X | X | X | - | - | - | ? | X | - | |
pused | - | X | X | X | X | - | - | - | ? | X | - | |
system.uname | X | X | X | X | X | X | X | X | - | X | X | |
system.uptime | X | X | X | X | X | - | X | ? | ? | X | X | |
system.users.num | - | X | X | X | X | X | X | X | - | X | X | |
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | ||
vfs.dev.read[<устройство>,<тип>,<режим>] | - | X | X | X | X | - | - | - | - | X | - | |
тип ▲ (умолчания различны для разных ОС) | sectors | - | X | X | - | - | - | - | - | - | - | - |
operations | - | X | X | X | X | - | - | - | - | X | - | |
bytes | - | - | - | X | X | - | - | - | - | X | - | |
sps | - | X | X | - | - | - | - | - | - | - | - | |
ops | - | X | X | X | - | - | - | - | - | - | - | |
bps | - | - | - | X | - | - | - | - | - | - | - | |
режим ▲ (совместимо только с типами: sps, ops, bps) | avg1 (по умолчанию) | X | X | X | - | - | - | - | - | i | - | |
avg5 | - | X | X | X | - | - | - | - | - | i | - | |
avg15 | - | X | X | X | - | - | - | - | - | i | - | |
vfs.dev.write[<устройство>,<тип>,<режим>] | - | X | X | X | X | - | - | - | - | X | - | |
тип ▲ (умолчания различны для разных ОС) | sectors | - | X | X | - | - | - | - | - | - | - | - |
operations | - | X | X | X | X | - | - | - | - | X | - | |
bytes | - | - | - | X | X | - | - | - | - | X | - | |
sps | - | X | X | - | - | - | - | - | - | - | - | |
ops | - | X | X | X | - | - | - | - | - | - | - | |
bps | - | - | - | X | - | - | - | - | - | - | - | |
режим ▲ (совместимо только с типами: sps, ops, bps) | avg1 (по умолчанию) | X | X | X | - | - | - | - | - | i | - | |
avg5 | - | X | X | X | - | - | - | - | - | i | - | |
avg15 | - | X | X | X | - | - | - | - | - | i | - | |
vfs.file.cksum[файл] | X | X | X | X | X | X | X | X | - | X | X | |
vfs.file.exists[файл] | X | X | X | X | X | X | X | X | X | X | X | |
vfs.file.md5sum[файл] | X | X | X | X | X | X | X | X | - | X | X | |
vfs.file.regexp[файл,regexp,<кодировка>] | X | X | X | X | X | X | X | X | - | X | X | |
vfs.file.regmatch[файл,regexp,<кодировка>] | X | X | X | X | X | X | X | X | - | X | X | |
vfs.file.size[файл] | X | X | X | X | X | X | X | X | - | X | X | |
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | ||
vfs.file.time[файл,<режим>] | X | X | X | X | X | X | X | X | - | X | X | |
режим ▲ | modify (по умолч.) | X | X | X | X | X | X | X | X | - | X | X |
access | X | X | X | X | X | X | X | X | - | X | X | |
change | X | X | X | X | X | X | X | X | - | X | X | |
vfs.fs.inode[fs,<режим>] | - | X | X | X | X | X | X | X | ? | X | X | |
режим ▲ | total (по умолч.) | - | X | X | X | X | X | X | X | ? | X | X |
free | - | X | X | X | X | X | X | X | ? | X | X | |
used | - | X | X | X | X | X | X | X | ? | X | X | |
pfree | - | X | X | X | X | X | X | X | ? | X | X | |
pused | - | X | X | X | X | X | X | X | ? | X | X | |
vfs.fs.size[fs,<режим>] | X | X | X | X | X | X | X | X | ? | X | X | |
режим ▲ | total (по умолч.) | X | X | X | X | X | X | X | X | ? | X | X |
free | X | X | X | X | X | X | X | X | ? | X | X | |
used | X | X | X | X | X | X | X | X | ? | X | X | |
pfree | X | X | X | X | X | X | X | X | ? | X | X | |
pused | X | X | X | X | X | X | X | X | ? | X | X | |
vm.memory.size[<режим>] | X | X | X | X | X | X | X | X | ? | X | X | |
режим ▲ | total (по умолч.) | X | X | X | X | X | X | X | X | ? | X | X |
free | X | X | X | X | X | X | X | X | ? | X | X | |
used | - | - | - | X | - | - | - | - | - | X | X | |
shared | - | X | X | X | - | X | - | - | ? | X | X | |
buffers | - | X | X | - | - | X | - | - | ? | X | X | |
cached | X | X | X | X | - | X | X | - | ? | X | X | |
pfree | X | X | X | X | - | - | - | - | - | X | X | |
pused | - | - | - | X | - | - | - | - | - | X | X | |
available | - | X | X | - | - | - | - | - | - | - | - | |
web.page.get[хост,<путь>,<порт>] | X | X | X | X | X | X | X | X | X | X | X | |
web.page.perf[хост,<путь>,<порт>] | X | X | X | X | X | X | X | X | X | X | X | |
web.page.regexp[хост,<путь>,<порт>,<regexp>,<длина>] | X | X | X | X | X | X | X | X | X | X | X | |
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
Список поддерживаемых параметров
Ключ | ||||
---|---|---|---|---|
▲ | Описание | Возвращаемое значение | Параметры | Комментарии |
agent.hostname | ||||
Возвращает имя хоста агента. | Строка | - | Возвращает действительное значение hostname агента из файла конфигурации. Этот элемент данных поддерживается начиная с версии 1.8.13. |
|
agent.ping | ||||
Проверка доступности агента. | Возвращает ‘1’, если доступен и ничего не возвращает, если недоступен. | - | Может быть использовано как TCP ping. Используйте функцию nodata() для проверки недоступности хоста. | |
agent.version | ||||
Версия Zabbix агента. | Строка | - | Пример возвращаемого значения: 1.8.2 | |
kernel.maxfiles | ||||
Максимальное количество открытых файлов поддерживаемое ОС. | Количество файлов. Целочисленное. | |||
kernel.maxproc | ||||
Максимальное количество процессов поддерживаемое ОС. | Количество процессов. Целочисленное. | |||
log[файл,<regexp>,<кодировка>,<макс кол-во строк>] | ||||
Мониторинг файлов журналов (логов). | Журнал | файл – полное имя файла regexp – регулярное выражение для шаблона кодировка - Идентификатор кодовой страницы максимальное количество строк - Максимальное количество новых строк в секунду, которое может отправить агент Zabbix серверу или Прокси. Этот параметр заменяет опцию 'MaxLinesPerSecond' в zabbix_agentd.conf | Должен быть настроен как Активная проверка. Например: log[/home/zabbix/logs/logfile,,,100] Более подробную информацию смотрите здесь |
|
logrt[имя файла в формате,<regexp>,<кодировка>,<макс кол-во строк>] | ||||
Мониторинг файлов журналов (логов) с поддержкой ротации логов. | Журнал | имя файла в формате – имя файла в формате [абсолютный путь][имя файла в формате регулярного выражения] regexp – регулярное выражения для шаблона кодировка - Идентификатор кодовой страницы максимальное количество строк - Максимальное количество новых строк в секунду, которое может отправить агент Zabbix серверу или Прокси. Этот параметр заменяет опцию 'MaxLinesPerSecond' в zabbix_agentd.conf | Должен быть настроен как Активная проверка. Например: logrt[“\home\zabbix\logs\^logfile[0-9]{1,3}$”,,,100] Ротация логов базируется на времени последнего изменения файлов. Более подробную информацию смотрите здесь |
|
eventlog[имя,<regexp>,<важность>,<источник>,<eventid>,<макс. кол-во строк>] | ||||
Мониторинг журналов событий. | Log. | имя – имя журнала событий regexp – регулярное выражение важность – важность события Параметр может принимать следующие значения: “Information”, “Warning”, “Error”, “Failure Audit”, “Success Audit” источник - Имя источника eventid - регулярное выражение максимальное количество строк - Максимальное количество новых строк в секунду, которое агент может отправить Zabbix Серверу или Прокси. Этот параметр заменяет опцию 'MaxLinesPerSecond' в zabbix_agentd.conf | Должен быть настроен как Активная проверка. Например: eventlog[Application] eventlog[Security,,"Failure Audit",,529|680] eventlog[System,,"Warning|Error"] eventlog[System,,,,^1$] eventlog[System,,,,@TWOSHORT] - здесь регулярное выражение с именем TWOSHORT, определено в веб-интерфейсе с типом результата Результат TRUE и самим выражением ^1$|^70$. |
|
net.if.collisions[if] | ||||
Коллизии Out-of-window. | Количество коллизий. Целочисленное. | if - интерфейс | ||
net.if.in[if,<режим>] | ||||
Входящая статистика по сетевому интерфейсу. | Целочисленное. | if - интерфейс режим – bytes количество байт (по умолчанию) packets количество пакетов errors количество ошибок dropped количество отброшенных пакетов | Начиная с версии 1.8.6 Zabbix агента поддерживаются мултибайтные имена интерфейса. \\Примеры: net.if.in[eth0,errors] net.if.in[eth0] Вы должны использовать для этого ключа Дельта (изменение в секунду), чтобы получить статистику по байтам в секунду. |
|
net.if.list | ||||
Список сетевых интерфейсов: Тип Состояние IPv4 Описание | Строковое | Поддерживается Zabbix агентом начиная с версии 1.8.1. Начиная с версии 1.8.6 Zabbix агента поддерживаются мултибайтные имена интерфейса. Отключенные интерфесы не добавляются в список. Обратите внимание, что включение/отключение некоторых компонентов Windows могут изменить порядок имени интерфейса в Windows. |
||
net.if.out[if,<режим>] | ||||
Исходящая статистика по сетевому интерфейсу. | Целочисленное. | if - интерфейс режим – bytes количество байт (по умолчанию) packets количество пакетов errors количество ошибок dropped количество отброшенных пакетов | Начиная с версии 1.8.6 Zabbix агента поддерживаются мултибайтные имена интерфейса. \\Примеры: net.if.out[eth0,errors] net.if.out[eth0] Вы должны использовать для этого ключа Дельта (изменение в секунду), чтобы получить статистику по байтам в секунду. |
|
net.if.total[if,<режим>] | ||||
Суммарная входящая и исходящая статистика на сетевом интерфейсе. | Целочисленное. | if - интерфейс режим – bytes количество байт (по умолчанию) packets количество пакетов errors количество ошибок dropped количество отброшенных пакетов | Примеры: net.if.total[eth0,errors] net.if.total[eth0] Вы должны использовать для этого ключа Дельта (изменение в секунду), чтобы получить статистику по байтам в секунду. Обратите внимание отброшенные пакеты поддердивабтся только если both net.if.in и net.if.out работают для отброшенных пакетов на вашей платформе. |
|
net.tcp.dns[<ip>,зона] | ||||
Проверяется работает ли сервис DNS. | 0 - DNS недоступен 1 - DNS работает | ip - IP адрес DNS сервера (игнорируется) зона - зона для тестирования DNS | Пример: net.tcp.dns[127.0.0.1,zabbix.com] Интернациональные доменные имена не поддерживаются вместо них, пожалуйста, используйте имена IDNA. |
|
net.tcp.dns.query[<ip>,зона,<тип>] | ||||
Выполняет запрос на указанный тип записи DNS. | В случае успеха возвращает строку символов с типом требуемой информации. | ip - IP адрес DNS сервера (игнорируется) зона - зона для тестирования DNS тип - Тип записи запроса (по умолчанию SOA) | Пример: net.tcp.dns.query[127.0.0.1, zabbix.com, MX] тип может быть одним из: A, NS, CNAME, MB, MG, MR, PTR, MD, MF, MX, SOA, NULL, WKS, HINFO, MINFO, TXT, SRV Тип записи SRV поддерживается Zabbix агентом начиная с версии 1.8.6. Интернациональные доменные имена не поддерживаются вместо них, пожалуйста, используйте имена IDNA. |
|
net.tcp.listen[порт] | ||||
Проверяется находится ли указанный TCP порт в состоянии LISTEN. | 0 - не находится 1 - находится в состоянии LISTEN | порт - номер порта TCP | Пример: net.tcp.listen[80] В Linux поддерживается начиная с версии Zabbix агента 1.8.4 |
|
net.tcp.port[<ip>,порт] | ||||
Проверяет, возможно ли создать TCP подключение на указанный номер порта. | 0 - не удалось подключиться 1 - подключение возможно | ip - IP адрес(по умолчанию 127.0.0.1) порт - номер порта | Пример: net.tcp.port[,80]может быть использовано для тестирования доступности Веб сервера, запущенного на 80 порту. Старое название: check_port[*] Для простого тестирования производительности TCP используйте net.tcp.service.perf[tcp,<ip>,<порт>] Заметьте, что эти проверки могут привести к возникновению дополнительных сообщений в файлах журналов системных демонов (сессии SMTP и SSH обычно журналируются). |
|
net.tcp.service[сервис,<ip>,<порт>] | ||||
Проверяется запущен ли сервис принимает ли он TCP подключения. | 0 - сервис недоступен 1 - сервис работает | сервис - один из: ssh, service.ntp, ldap, smtp, ftp, http, pop, nntp, imap, tcp ip - IP адрес (по умолчанию 127.0.0.1) порт - номер порта (по умолчанию используется стандартный номер порта для указанного сервиса) | Например: net.tcp.service[ftp,,45] может быть использовано для проверки доступности FTP сервера на порту 45. Старое название: check_service[*] Обратите внимание, что в версиях Zabbix до 1.8.3 следует использовать service.ntp вместо ntp. Заметьте, что эти проверки могут привести к возникновению дополнительных сообщений в файлах журналов системных демонов (сессии SMTP и SSH обычно журналируются). Проверки зашифрованных протоколов (таких как IMAP на порту 993 или POP на порту 995) в настоящее время не поддерживаются. В качестве альтернативного способа, пожалуйста, используйте net.tcp.port для этих проверок. Проверка LDAP через Windows агента в настоящее время не поддерживается. |
|
net.tcp.service.perf[сервис,<ip>,<порт>] | ||||
Проверяется производительность сервиса | 0 - сервис недоступен секунды - количество секунд потребовавшихся для подключения к сервису | сервис -один из: ssh, service.ntp, ldap, smtp, ftp, http, pop, nntp, imap, tcp ip - IP адрес (по умолчанию 127.0.0.1) порт - номер порта (по умолчанию используется стандартный номер порта для указанного сервиса) | Пример: net.tcp.service.perf[ssh] может быть использован для проверки скорости ответа SSH сервера. Старое название: check_service_perf[*] Обратите внимание, что в версиях Zabbix до 1.8.3 следует использовать service.ntp вместо ntp. Проверки зашифрованных протоколов (таких как IMAP на порту 993 или POP на порту 995) в настоящее время не поддерживаются. В качестве альтернативного способа, пожалуйста, используйте net.tcp.port для этих проверок. Проверка LDAP через Windows агента в настоящее время не поддерживается. |
|
net.udp.listen[порт] | ||||
Проверяется находится ли указанный UDP порт в состоянии LISTEN. | 0 - не находится 1 - находится в состоянии LISTEN | порт - номер порта UDP | Пример: net.udp.listen[68] В Linux поддерживается начиная с версии Zabbix агента 1.8.4 |
|
proc.mem[<имя>,<пользователь>,<режим>,<cmdline>] | ||||
Количество выделенной памяти под процесс с указанным именем запущенным под указанным пользователем | Использование памяти процессом. | имя - имя процесса пользователь - имя пользователя (по умолчанию все пользователи) режим - один из: avg, max, min, sum (по умолчанию) cmdline - фильтр по командной строке | Пример: proc.mem[,root] - использованная память для всех процессов работающих под пользователем “root”. proc.mem[zabbix_server,zabbix] - использованная память для всех процессов zabbix_server запущенных под пользователем zabbix proc.mem[,oracle,max,oracleZABBIX] - максимальное значение использованной памяти процессами запущенными под пользователем oracle и имеющими oracleZABBIX в содержимом командной строки |
|
proc.num[<имя>,<пользователь>,<состояние>,<cmdline>] | ||||
Количество процессов с указанным именем имеющим указанное состояние и запущенными под указанным пользователем | Количество процессов. | имя - имя процесса пользователь - имя пользователя (по умолчанию все пользователи) состояние - одно из: all (по умолчанию), run, sleep, zomb cmdline - фильтр по командной строке | Пример: proc.num[,mysql] - количество процессов запущенных под пользователем mysql proc.num[apache2,www-data] - количество процессов apache2 запущенных под пользователем www-data proc.num[,oracle,sleep,oracleZABBIX] - количество процессов в режиме sleep запущенных под пользователем oracle и имеющими oracleZABBIX в содержимом командной строки В Windows в качестве аргументов поддерживаются только имя и пользователь. |
|
sensor[устройство,датчик,<режим>] | ||||
Чтение аппаратного датчика. | устройство - имя устройства (если указывается <режим>, то в этом поле нужно вводить регулярное выражение) датчик - имя датчика (если указывается <режим>, то в этом поле нужно вводить регулярное выражение) режим - один из avg, max, min (если этот ключ не указан, устройство и датчик указываются дословно). | Для Linux 2.4 читает /proc/sys/dev/sensors. Например: sensor[w83781d-i2c-0-2d,temp1] До версии Zabbix 1.8.4 использовался формат датчика sensor[temp1]. Для OpenBSD читает hw.sensors MIB. Например: sensor[cpu0,temp0] - температура одного из ЦПУ sensor[cpu[0-2]$,temp,avg] - средняя температура первого из трех ЦПУ Поддерживается в OpenBSD начиная с Zabbix 1.8.4. |
||
system.boottime | ||||
Штамп времени (timestamp) времени загрузки системы. | Целочисленное. | Время в секундах. | ||
system.cpu.intr | ||||
Ошибки устройства. | Целочисленное. | |||
system.cpu.load[<цпу>,<режим>] | ||||
Загрузка ЦПУ. | Загрузка процессора(ов). Число с плавающей точкой. | cpu - номер CPU (по умолчанию все ЦПУ, поддерживается только “all”) режим - один из: avg1 (по умолчанию),avg5 (среднее за последние 5 минут), avg15 | Пример: system.cpu.load[] Обратите внимание, возвращаемое значение не процентное отношение. Старое название: system.cpu.loadX |
|
system.cpu.num[<тип>] | ||||
Количество ЦПУ. | Количество доступных процессоров. | тип - один из: online (по умолчанию), max | Пример: system.cpu.num |
|
system.cpu.switches | ||||
Переключение контекста. | Счетчик переключений контекста. | Старое название: system[switches] | ||
system.cpu.util[<cpu>,<тип>,<режим>] | ||||
Утилизация ЦПУ. | Утилизация процессора в процентном отношении | cpu - номер ЦПУ (по умолчанию все ЦПУ) тип - один из: idle, nice, user (по умолчанию), system, kernel, iowait, interrupt, softirq, steal режим - один из: avg1 (по умолчанию),avg5 (среднее значение за последние 5 минут), avg15 | Старое название: system.cpu.idleX, system.cpu.niceX, system.cpu.systemX, system.cpu.userX Пример: system.cpu.util[0,user,avg5] |
|
system.run[команда,<режим>] | ||||
Запускает указанную команду на удаленном хосте. | Текстовый результат выполнения команды | команда - команда для выполнения режим - один из: wait (по умолчанию ожидание завершения), nowait (без ожидания) | Пример: system.run[ls -l /] - подробный список файлов в корневой папке. Примечание: Для включения этой функциональности, в настройках агента должна быть опция EnableRemoteCommands=1. |
|
system.hostname[<тип>] | ||||
Возвращается имя хоста. | Строковое значение | тип (только для Windows, игнорируется остальными системами) - netbios (по умолчанию) или host | В Windows значение получается из функции GetComputerName() (для netbios) или функции gethostname() (для host) и из команды “hostname” в других системах. Пример возвращаемого значения www.zabbix.com Параметр для этого элемента данных поддерживается начиная с версии 1.8.6. |
|
system.localtime | ||||
Локальное системное время. | Численное или строковое значение. | utc - (по умолчанию) время начиная с начала Эпохи (00:00:00 UTC, Январь 1, 1970), измеряется в секундах. local - время в формате 'гггг-мм-дд,чч:мм:сс.нн,+чч:мм' | ||
system.stat[ресурс,<тип>] | ||||
Статистика виртуальной памяти | Целочисленное | ent - количество процессорных единиц выделенных на ресурс (дробное) kthr,<тип> - информация о состояниях потоков ядра: r - среднее количество запускаемых потоков ядра (дробное) b - среднее количество потоков ядра помещенных в очередь ожидания Менеджера Виртуальный Памяти (дробное) memory,<тип> - информация о использовании виртуальной и реальной памяти: avm - активные виртуальные страницы (целое) fre - размер свободного списка (целое) page,<тип> - информация об ошибках страниц и активности страниц: fi - операции страничного ввода файлов в секунду (дробное) fo - операции страничного вывода файлов в секунду (дробное) pi - pages paged in from paging space (дробное) po - pages paged out to paging space (дробное) fr - pages freed (page replacement) (дробное) sr - количество сканированных страниц алгоритмом замещения страниц (дробное) faults,<тип> - соотношение ловушек и прервываний: in - прерывания устройства (float) sy - системные вызовы (float) cs - переключения контекста потока ядра (дробное) cpu,<тип> - разделеное использование процессорного времени в процентах: us - пользовательское время (дробное) sy - системное время (дробное) id - время простоя (дробное) wa - время простоя в ходе которого система обрабатывала запросы I/O диска/NFS (дробное) pc - количество использованных физических процессоров (дробное) ec - процентное соотношение размеченного занятого пространства (дробное) lbusy - indicates the percentage of logical processor(s) utilization that occurred while executing at the user and system level (дробное) app - отображает количество доступных физических процессоров в распределенном пуле (дробное) disk,<тип> - статистика о дисках: bps - отображает суммарное количество данных переданных (чтением или записью) на диск в байтах в секунду (целое) tps - indicates the number of transfers per second that were issued to the physical disk/tape (дробное) Этот элемент данных поддерживается начиная с версии 1.8.1. |
||
system.swap.in[<устройство>,<тип>] | ||||
Операции ввода в файл подкачки (с устройства в память). | Числовое значение | устройство - устройство файла подкачки (по умолчанию все устройства), тип - один из: count (по умолчанию, количество операций ввода в файл подкачки), sectors (количество секторов ввода в файл подкачки), pages (страниц ввода в файл подкачки). Смотрите поддержку по платформам для получения подробностей по умолчаниям. | Пример: system.swap.in[,bytes] Старое название: swap[in] |
|
system.swap.out[<устройство>,<тип>] | ||||
Операции вывода из файла подкачки (с устройства в память). | Числовое значение | устройство - устройство файла подкачки (по умолчанию все устройства), тип - один из: count (по умолчанию, количество операций вывода из файла подкачки), sectors (количество секторов вывода из файла подкачки), pages (страниц вывода из файла подкачки). Смотрите поддержку по платформам для получения подробностей по умолчаниям. | Пример: system.swap.out[,pages] Старое название: swap[out] |
|
system.swap.size[<устройство>,<режим>] | ||||
Размер swap. | Количество байт или процентное отношение | устройство - устройство swap (по умолчанию все устройства), режим - один из: free (по умолчанию, свободное пространство в swap), total (весь размер swap), pfree (свободное просмотранство в swap, в процентном отношении), pused (занятое просмотранство в swap, в процентном отношении) | Пример: system.swap.size[,pfree] - процентное отношение свободного места в swap Старое название: system.swap.free, system.swap.total |
|
system.uname | ||||
Возвращается подробная информация о хосте. | Строковое значение | Пример возвращаемого значения: FreeBSD localhost 4.4-RELEASE FreeBSD 4.4-RELEASE #0: Tue Sep 18 11:57:08 PDT 2001 [email protected]: /usr/src/sys/compile/GENERIC i386 |
||
system.uptime | ||||
Время работы системы в секундах (uptime) | Количество секунд | Используйте Формат отображения s или uptime для того чтобы увидеть читаемые значения. | ||
system.users.num | ||||
Количество подключенных пользователей. | Количество пользователей | Используется команда who на стороне агента. | ||
vfs.dev.read[<устройство>,<тип>,<режим>] | ||||
Статистика чтения с диска. | Целочисленное значение для тип в: sectors, operations, bytes Дробное для тип в: sps, ops, bps | устройство - дисковое устройство (по умолчанию все ;1; диски), тип - один из: sectors, operations, bytes, sps, ops, bps (необходимо указывать, какие именно параметры требуется использовать, т.к. они являются разными для различных ОС). состояния sps, ops, bps равны: сектора, операции, байт в секунду соответственно режим - один из: avg1 (по умолчанию),avg5 (среднее за последние 5 минут), avg15. Совместимо только в тип в: sps, ops, bps | Пример: vfs.dev.read[,operations] Старое название: io[*] Параметр тип со значениями ops, bps и sps лимитирован 8 устройствами на поддерживаемых платформах (7 устройств +1 для “all” устройств). Поддерживается LVM начиная с Zabbix 1.8.6. До Zabbix 1.8.6, можно было использовать только относительные имена устройств (например, sda), начиная с 1.8.6 опциональный префикс /dev/ может использоваться (например, /dev/sda) |
|
vfs.dev.write[< устройство>,<тип>,<режим>] | ||||
Статистика записи на диск. | Целочисленное значение для тип в: sectors, operations, bytes Дробное для тип в: sps, ops, bps | устройство - дисковое устройство (по умолчанию все ;1; диски), тип - один из: sectors, operations, bytes, sps, ops, bps (необходимо указывать, какие именно параметры требуется использовать, т.к. они являются разными для различных ОС). состояния sps, ops, bps равны: сектора, операции, байт в секунду соответственно режим - один из: avg1 (по умолчанию),avg5 (среднее за последние 5 минут), avg15. Совместимо только в тип в: sps, ops, bps | Пример: vfs.dev.write[,operations] Старое название: io[*] Параметр тип со значениями ops, bps и sps лимитирован 8 устройствами на поддерживаемых платформах (7 устройств +1 для “all” устройств). Поддерживается LVM начиная с Zabbix 1.8.6. До Zabbix 1.8.6, можно было использовать только относительные имена устройств (например, sda), начиная с 1.8.6 опциональный префикс /dev/ может использоваться (например, /dev/sda) |
|
vfs.file.cksum[файл] | ||||
Подсчитывает контрольную сумму для файла | Подсчет контрольной суммы использует алгоритм UNIX cksum. | файл - полный путь к файлу | Пример возвращаемого значения: 1938292000 Пример: vfs.file.cksum[/etc/passwd] Старое название: cksum |
|
vfs.file.exists[файл] | ||||
Проверяется существует ли файл | 0 - файл не существует 1 - файл существует | файл - полный путь к файлу | Пример: vfs.file.exists[/tmp/application.pid] | |
vfs.file.md5sum[файл] | ||||
Контрольная сумма MD5 для файла | MD5 хэш для файла. | Пример возвращаемого значения: b5052decb577e0fffd622d6ddc017e82 Пример: vfs.file.md5sum[/etc/zabbix/zabbix_agentd.conf] Лимит в 64МБ для размера файла у этого элемента данных был удален в версии 1.8.6. |
||
vfs.file.regexp[файл,regexp,<кодировка>] | ||||
Поиск строки в файле | Найденная строка или EOF если выражение не найдено | файл - полный путь к файлу regexp - Регулярное выражение GNU кодировка - Идентификатор страницы кодировки | Пример: vfs.file.regexp[/etc/passwd,zabbix] | |
vfs.file.regmatch[файл,regexp,<кодировка>] | ||||
Поиск строки в файле | 0 - выражение не найдено \\1 - найдено | файл - полный путь к файлу regexp - Регулярное выражение GNU кодировка - Идентификатор страницы кодировки | Пример: vfs.file.regmatch[/var/log/app.log,error] | |
vfs.file.size[файл] | ||||
Размер файла | Размер в байтах. | файл - полный путь к файлу | Файл должен иметь права чтения для пользователя zabbix Пример: vfs.file.size[/var/log/syslog] |
|
vfs.file.time[файл,<режим>] | ||||
Информация о времени файла. | Unix timestamp. | файл - полный путь к файлу режим - один из: modify (по умолчанию, время изменения), access - время последнего доступа, change - время последнего изменения | Пример: vfs.file.time[/etc/passwd,modify] | |
vfs.fs.inode[fs,<режим>] | ||||
Количество inodes | Строковое значение | fs - файловая система режим - один из: total (по умолчанию), free, used, pfree (свободно в процентном отношении), pused (занято в процентном отношении) | Пример: vfs.fs.inode[/,pfree] Старое название: vfs.fs.inode.free[*], vfs.fs.inode.pfree[*], vfs.fs.inode.total[*] | |
vfs.fs.size[fs,<режим>] | ||||
Размер диска | Размер диска в байтах | fs - файловая система режим - один из: total (по умолчанию), free, used, pfree (свободно в процентном отношении), pused (занято в процентном отношении) | В случае смонтированного диска, возвращает размер диска локальной файловой системы. Пример: vfs.fs.size[/tmp,free] Старые названия: vfs.fs.free[*], vfs.fs.total[*], vfs.fs.used[*], vfs.fs.pfree[*], vfs.fs.pused[*] | |
vm.memory.size[<режим>] | ||||
Размер памяти | Размер памяти в байтах | режим - один из: total (по умолчанию), shared, free, buffers, cached, pfree, available | Старые названия: vm.memory.buffers, vm.memory.cached, vm.memory.free, vm.memory.shared, vm.memory.total | |
web.page.get[хост,<путь>,<порт>] | ||||
Получает содержимое Веб страницы | Веб страницы в виде текста | хост - имя хоста пусть - путь к HTML документу (по умолчанию /) порт - номер порта (по умолчанию 80) | Возвращает EOF при ошибке. Пример: web.page.get[www.zabbix.com,index.php,80] |
|
web.page.perf[хост,<путь>,<порт>] | ||||
Получение времени полной загрузки Веб страницы | Время в секундах | хост - имя хоста пусть - путь к HTML документу (по умолчанию /) порт - номер порта (по умолчанию 80) | Возвращает 0 при ошибке. Пример: web.page.perf[www.zabbix.com,index.php,80] |
|
web.page.regexp[хост,<путь>,<порт>,<regexp>,<длина>] | ||||
Получает первое вхождение регулярного выражения в Веб странице | Совпадающая строка | хост - имя хоста путь - путь к HTML документу (по умолчанию /) порт - номер порта (по умолчанию 80) regexp - регулярное выражение GNU, длина - максимальное количество возвращаемых символов | Возвращает EOF в случае несовпадения или других неудачах (превышено время ожидания, ошибка подключения и т.п.). Пример: web.page.regexp[www.zabbix.com,index.php,80,OK,2] |
Смотрите этот раздел для понимания различий между элементами данных в пассивном и активном режиме.
Этот раздел содержит описания параметров поддерживаемых только агентами Zabbix WIN32.
Ключ | |||
---|---|---|---|
▲ | Описание | Возвращаемое значение | Комментарии |
perf_counter[счетчик,<интервал>] | |||
Значение любого счетчика производительности, где в качестве “счетчика” передается путь к счетчику и “интервал” - временной период для хранения среднего значения. | Среднее значение “счетчика” за последние “интервал” секунд. Значение по умолчанию, если не задано, для “интервал” 1. | Мониторинг производительности может быть использован для получения списка счетчиков. До версии 1.6 этот параметр может вернуть правильное значение только для счетчиков, которые возвращают только одно значение (например \System\Threads). Параметр не будет работать со счетчиками, которые возвращают более одного значения - например утилизация ЦПУ. Начиная с версии 1.6 используется интервал, такая проверка каждый раз возвращает среднее значение за последние “интервал” секунд. | |
service_state[*] | |||
Состояние сервиса. В качестве параметра имя сервиса. | 0 – запущен 1 – пауза 2 - ожидание старта 3 - ожидание паузы 4 - ожидание продолжения 5 - ожидание остановки 6 – остановлен 7 - неизвестно 255 – такой сервис не существует | Параметр должен передавать реальное имя сервиса, такое как в свойствах сервиса в строке “Имя:” или имя EXE файла. | |
services[<тип>,<состояние>,<исключение>] | |||
Список сервисов, разделенных новой строкой или 0, если список пустой. | тип - один из: all (по умолчанию), automatic, manual, disabled состояние - один из: all (по умолчанию), stopped, started, start_pending, stop_pending, running, continue_pending, pause_pending, paused исключение - список служб, исключенных из результата. Исключение сервисов должно быть записано в двойных кавычках и без пробелов. Этот параметр поддерживается начиная с версии 1.8.1. | Например: services[,started] - список запущенных процессов services[automatic, stopped] - список остановленных процессов, которые должны быть запущены services[automatic, stopped, “service1,service2,service3”] -список остановленных сервисов, которые должны быть запущены, исключая сервисы с именами service1,service2 и service3 |
|
proc_info[<процесс>,<атрибут>,<тип>] | |||
Различная информация о указанном процессе(ах). | <процесс> - имя процесса (как и в параметре proc_cnt[]) <атрибут> - запрашиваемый атрибут процесса. <тип> - тип представления (будет полезно в случае если имеется несколько процессов с одинаковым именем). | Поддерживаются следующие атрибуты: vmsize - Размер виртуальной памяти в Кбайтах wkset - Размер множества процесса (объем физической памяти используемой процессом) в Кбайтах pf - Количество ошибок страницs ktime - Время процесса ядра в миллисекундах utime - Пользовательское время процесса в миллисекундах io_read_b - Количество байт прочитанных за I/O операции io_read_op - Количество операций чтения для процесса io_write_b - Количество байт прочитанных за I/O операции io_write_op - Количество операций записи для процесса io_other_b - Количество байт переданных процессом при операции, кроме операций выполнения чтения и записи io_other_op - Количество операций ввода/вывода при выполнении процесса, кроме операций чтения и записи gdiobj - Количество объектов GDI использованных процессом userobj - Количество объектов типа USER использованных процессом Допустимые типы: min - минимальное значение среди процессов указанного в параметре max - максимальное значение среди процессов указанного в параметре avg - среднее значение среди процессов указанного в параметре sum - сумма всех значение среди процессов указанного в параметре Примеры: 1. Для того чтобы получить объем физической памяти выделено под все процессы Internet Explorer, используйте следующий параметр: proc_info[iexplore.exe,wkset,sum] 2. Для того чтобы получить среднее количество ошибок страницы для всех процессов Internet Explorer, используйте следующий параметр: proc_info[iexplore.exe,pf,avg] Примечание: Все аттрибуты io_xxx,gdiobj и userobj доступны только в Windows 2000 и более поздних версиях Windows, не в Windows NT 4.0. |
Zabbix должен быть сконфигурирован с поддержкой SNMP, для того чтобы была возможность получения данных от SNMP агентов.
Следующие шаги должны быть выполнены для того, чтобы добавить мониторинг по SNMP:
Создайте узел сети для SNMP устройства.
Введите IP адрес. Выберите состояние узла сети “Не контролируется”. Теперь вы можете использовать узел сети один из SNMP шаблонов (Template_SNMPv1_Device, Template_SNMPv2_Device), который автоматически добавит элементы данных. Однако, шаблон, может быть несовместим с узлом сети.
Узнайте OID SNMP для элементов данных, которые вы хотите мониторить.
После создания узла сети используйте приложение 'snmpwalk' (часть пакета ucd-snmp/net-snmp, который должен быть установлен как часть Zabbix) или эквивалентную утилиту:
shell> snmpwalk <хост или IP хоста> public
Эта команда вернет вам список строк SNMP и их последнее значение. Если команда не работает, то вполне возможно, что 'community' SNMP отличается от стандартного public, в этом случае вам необходимо узнать какое community у вас используется. Затем вы должны пройтись по списку, пока не найдете строку, которую вы хотите мониторить, например, Вы хотели, чтобы наблюдать за количеством входящих байт на 3 порту вашего коммутатора:
interfaces.ifTable.ifEntry.ifOctetsIn.3 = Counter 32: 614794138
Теперь Вы должны использовать команду snmpget, чтобы найти OID для interfaces.ifTable.ifEntry.ifInOctets.3:
shell> snmpget -On 10.62.1.22 interfaces.ifTable.ifEntry.ifOctetsIn.3
где последняя цифра в строке номер порта, который вы хотите мониторить. Команда должна вернуть что-то вроде:
.1.3.6.1.2.1.2.2.1.10.3 = Counter32: 614794138
опять последняя цифра в OID это номер порта.
3COM кажется использует номера портов в сотнях, т.е. порт 1=порту 101, порт 3=порту 103, но Cisco использует обычные номера, т.е. порт 3=3.
Создание элемента данных для мониторинга.
Итак, теперь вернитесь в Zabbix и выберите элементы данных, выбрав SNMP узел сети созданный ранее. В зависимости от того, использовали ли вы или нет шаблоны при создании узла сети, вы увидите список элементов данных SNMP, связанных с вашим узлом сети или просто окно нового элемента данных. Предположим, что вы собираетесь создать элемент данных самостоятельно с помощью информации, которую вы только что собрали с помощью snmpwalk и snmpget, теперь введите описание на английском (или родном) языке в поле 'Имя' в окне нового элемента данных. Убедитесь, что в поле 'Узел сети' указан ваш коммутатор/маршрутизатор и измените поле “Тип” на “SNMPv1 агент”. Введите community (как правило - public) и введите числовой OID, который вы получили ранее, в поле 'SNMP OID'. Не забудьте начать с точки, т.е. .1.3.6.1.2.1.2.2.1.10.3
Заполните 'Порт SNMP' значением 161 и 'Ключ' любой интуитивно понятной записью, например SNMP-InOctets-BPS. Выберите множитель, если требуется, и заполните 'Интервал обновления' и 'Сохранять историю', если вы хотите, чтобы эти параметры отличались от стандартных. Выставьте 'Состояние' в Активирован, 'Тип информации' в Числовой с плавающей точкой и 'Хранить значение' в Дельта (что важно, ибо в противном случае вы получите кумулятивные значения от SNMP устройства вместо последних изменений).
Теперь сохраните элемент данных и вернитесь назад к узлам сети в Zabbix. Здесь установите состояние SNMP устройства “Контролируется” и перейдите в меню Мониторинг→Последние данные, здесь вы можете увидеть собранные данные по только что созданному элементу данных!
Общий пример
Параметр | Описание |
---|---|
Community | public |
OID | 1.2.3.45.6.7.8.0 (или .1.2.3.45.6.7.8.0) |
Ключ | <Униальная строка, которая будет использована как ссылка в триггерах> Например, ‘my_param’. |
Обратите внимание, что OID может быть задан или в числовом, или строковом представлении. Однако в некоторых случаях, OID строки должны быть преобразованы в числовое представление. Для этих целей может быть использована утилита snmpget:
shell> snmpget -On localhost public enterprises.ucdavis.memory.memTotalSwap.0
Мониторинг Uptime'а
Параметр | Описание |
---|---|
Community | public |
Oid | MIB::sysUpTime.0 |
Ключ | router.uptime |
Тип значения | числовое с плавающей точкой |
Единица измерения | uptime |
Множитель | 0.01 |
Простая проверка обычно используются для мониторинга без использования Агента или для проверки удаленных сервисов. Обратите внимание, что Zabbix агент не является необходимым для простой проверки. За обработку простых проверок отвечает Zabbix сервер (осуществление внешних подключений и т.д.).
Все простые проверки могут принимать один необязательный параметр:
Примеры использования простых проверок:
ftp,155 http http_perf,8080
Список поддерживаемых простых проверок:
Ключ | ||
---|---|---|
▲ | Описание | Возвращаемое значение |
ftp,<port> | ||
Проверяется запущен ли FTP сервер и принимает ли подключения | 0 – FTP сервер недоступен 1 – FTP сервер запущен |
|
ftp_perf,<port> | ||
Проверяется запущен ли FTP сервер и принимает ли подключения | 0 – FTP сервер недоступен В противном случае возвращает количество миллисекунд времени попытки подключения к серверу FTP. |
|
http,<port> | ||
Проверяется запущен ли HTTP сервер и принимает ли подключения | 0 – HTTP сервер недоступен 1 – HTTP сервер запущен |
|
http_perf,<port> | ||
Проверяется запущен ли HTTP (WEB) сервер и принимает ли подключения | 0 – HTTP (WEB) сервер недоступен В противном случае возвращает количество миллисекунд времени попытки подключения к серверу HTTP (WEB). |
|
icmpping[<цель>,<пакеты>,<интервал>,<размер>,<таймаут>] | ||
Проверяется доступен ли сервер по ICMP ping цель - IP адрес или DNS имя узла сети пакеты - количество пакетов интервал - время между успешными пакетами в миллисекундах размер - размер пакета в байтах таймаут - время ожидания в миллисекундах | 0 – не удалось ICMP ping 1 – успешно ICMP ping |
|
icmppingloss[<цель>,<пакеты>,<интервал>,<размер>,<таймаут>] | ||
Возвращает процент потерянных пакетов цель - IP адрес или DNS имя узла сети пакеты - количество пакетов интервал - время между успешными пакетами в миллисекундах размер - размер пакета в байтах таймаут - время ожидания в миллисекундах | Потери пакетов в процентном отношении | |
icmppingsec[<цель>,<пакеты>,<интервал>,<размер>,<таймаут>,<режим>] | ||
Возвращает время ответа на ICMP ping цель - IP адрес или DNS имя узла сети пакеты - количество пакетов интервал - время между успешными пакетами в миллисекундах размер - размер пакета в байтах таймаут - время ожидания в миллисекундах режим - один из min, max, avg (по умолчанию) | Количество секунд | |
imap,<port> | ||
Проверяется запущен ли IMAP сервер и принимает ли подключения | 0 – IMAP сервер недоступен 1 – IMAP сервер запущен |
|
imap_perf,<port> | ||
Проверяется запущен ли IMAP сервер и принимает ли подключения | 0 – IMAP сервер недоступен В противном случае возвращает количество секунд времени попытки подключения к серверу IMAP. |
|
ldap,<port> | ||
Проверяется запущен ли LDAP сервер и принимает ли подключения | 0 – LDAP сервер недоступен 1 – LDAP сервер запущен |
|
ldap_perf,<port> | ||
Проверяется запущен ли LDAP сервер и принимает ли подключения | 0 – LDAP сервер недоступен\В противном случае возвращает количество секунд времени попытки подключения к серверу LDAP. | |
nntp,<port> | ||
Проверяется запущен ли NNTP сервер и принимает ли подключения | 0 – NNTP сервер недоступен 1 – NNTP сервер запущен |
|
nntp_perf,<port> | ||
Проверяется запущен ли NNTP сервер и принимает ли подключения | 0 – NNTP сервер недоступен\В противном случае возвращает количество секунд времени попытки подключения к серверу NNTP. | |
ntp,<port> | ||
Проверяется запущен ли NTP сервер и принимает ли подключения | 0 – NTP сервер недоступен 1 – NTP сервер запущен |
|
ntp_perf,<port> | ||
Проверяется запущен ли NTP сервер и принимает ли подключения | 0 – NTP сервер недоступен\В противном случае возвращает количество секунд времени попытки подключения к серверу NTP. | |
pop,<port> | ||
Проверяется запущен ли POP сервер и принимает ли подключения | 0 – POP сервер недоступен 1 – POP сервер запущен |
|
pop_perf,<port> | ||
Проверяется запущен ли POP сервер и принимает ли подключения | 0 – POP сервер недоступен В противном случае возвращает количество секунд времени попытки подключения к серверу POP. |
|
smtp,<port> | ||
Проверяется запущен ли SMTP сервер и принимает ли подключения | 0 – SMTP сервер недоступен 1 – SMTP сервер запущен |
|
smtp_perf,<port> | ||
Проверяется запущен ли SMTP сервер и принимает ли подключения | 0 – SMTP сервер недоступен В противном случае возвращает количество секунд времени попытки подключения к серверу SMTP. |
|
ssh,<port> | ||
Проверяется запущен ли SSH сервер и принимает ли подключения | 0 – SSH сервер недоступен 1 – SSH сервер запущен |
|
ssh_perf,<port> | ||
Проверяется запущен ли SSH сервер и принимает ли подключения | 0 – SSH сервер недоступен В противном случае возвращает количество секунд времени попытки подключения к серверу SSH. |
|
tcp,port | ||
Проверяется запущен ли сервис TCP и принимает ли подключения | 0 – TCP сервис недоступен 1 – TCP сервис запущен |
|
tcp_perf,port | ||
Проверяется запущен ли сервис TCP и принимает ли подключения | 0 – сервис на указанном порту недоступен В противном случае возвращает количество секунд времени попытки подключения к серверу TCP. |
Zabbix не будет обрабатывать простую проверку дольше чем указано в параметре Таймаут в файле конфигурации Zabbix.
Zabbix использует внешнюю утилиту fping для обработки ICMP pings. Утилита не распространяется в комплекте с Zabbix и должна быть установлена дополнительно. Если программа отсутствует, имеет неправильные права или её путь не соответствует параметру FpingLocation, указанному в файле конфигурации, ICPM pings (icmpping, icmppingsec и icmppingloss) не будут обработаны.
fping должен быть выполняем под пользователем Zabbix демонов и должен иметь setuid root. Выполните эти команды под пользователем root для настройки правильных полномочий:
shell> chown root:zabbix /usr/sbin/fping shell> chmod 4710 /usr/sbin/fping
Значения по умолчанию параметров для проверок по ICMP:
Параметр | Значение | Описание | Флаг в fping | Мин | Макс |
---|---|---|---|---|---|
пакетов | 3 | количество пакетов до цели | -c | 1 | 10000 |
интервал | 25 | миллисекунд, по умолчанию в “fping” | -p | 20 | |
размер | 56 или 68 | байт, по умолчанию в “fping”; 56 байт для x86, 68 байт для x86_64 | -b | 24 | 65507 |
таймаут | 500 | миллисекунд, по умолчанию в “fping” | -t | 50 |
Zabbix записывает во временный файл адреса для проверки, которые затем будут переданы утилите fping. Если элементы данных имеют разные параметры, то только те которые имеют идентичные параметры записываются в один файл.
Внутренняя проверка позволяют контролировать внутреннее состояние Zabbix. Внутренние проверки подсчитываются самим Zabbix сервером.
Ключ | ||||
---|---|---|---|---|
▲ | Описание | Комментарии | ||
zabbix[boottime] | ||||
Время запуска процесса Zabbix сервера в секундах. | В секундах, начиная с Эпохи. | |||
zabbix[history] | ||||
Количество значений записанных в таблицу HISTORY | Не используйте при MySQL InnoDB, Oracle или PostgreSQL | |||
zabbix[history_log] | ||||
Количество значений записанных в таблицу HISTORY_LOG | Не используйте при MySQL InnoDB, Oracle или PostgreSQL! Этот элемент данных поддерживается начиная с версии 1.8.3. |
|||
zabbix[history_str] | ||||
Количество значений записанных в таблицу HISTORY_STR | Не используйте при MySQL InnoDB, Oracle или PostgreSQL! | |||
zabbix[history_text] | ||||
Количество значений записанных в таблицу HISTORY_TEXT | Не используйте при MySQL InnoDB, Oracle или PostgreSQL! Этот элемент данных поддерживается начиная с версии 1.8.3. |
|||
zabbix[history_uint] | ||||
Количество значений записанных в таблицу HISTORY_UINT | Не используйте при MySQL InnoDB, Oracle или PostgreSQL! Этот элемент данных поддерживается начиная с версии 1.8.3. |
|||
zabbix[trends] | ||||
Количество значений записанных в таблицу TRENDS | Не используйте при MySQL InnoDB, Oracle или PostgreSQL! | |||
zabbix[trends_uint] | ||||
Количество значений записанных в таблицу TRENDS_UINT | Не используйте при MySQL InnoDB, Oracle или PostgreSQL! Этот элемент данных поддерживается начиная с версии 1.8.3. |
|||
zabbix[items] | ||||
Количество элементов данных в базе данных Zabbix | ||||
zabbix[items_unsupported] | ||||
Количество не поддерживаемых элементов данных в базе данных Zabbix | ||||
zabbix[triggers] | ||||
Количество триггеров в базе данных Zabbix. | ||||
zabbix[log] | ||||
Сохраняет сообщения предупреждений и ошибок генерируемых Zabbix сервером. | Тип - символьный. Добавьте этот элемент данных, чтобы записывать внутренние сообщения Zabbix. | |||
zabbix[process,<тип>,<режим>,<состояние>] | ||||
Время конкретного процесса Zabbix или группы процессов (указывается через <тип> и <режим>), потраченное на <состояние> в процентах. Расчет производится только за последнюю минуту. Если в качестве <режим> указано номер процесса Zabbix, который не запущен (например, при 5 запущенных пуллерах, в <режиме> указано 6), такой элемент данных переходит в состояние не поддерживается. Минимум и максимум относится к процентному использованию одним процессом. Таким образом, если в группе из 3 пуллеров процентное использование составило 2, 18 и 66, тогда min должен вернуть 2 а max должен вернуть 66. В общей памяти процессы отмечают то что они делают и процесс само-мониторинга резюмирует эти данные каждую секунду. Изменения состояний (busy/idle) регистрируются при изменении - таким образом, процессы, которые становятся занятыми, регистрируют это состояние и не меняют и не обновляют его пока процесс не станет свободным. Такое поведение гарантирует, что даже полностью зависшие процессы будут корректно зарегистрированы как 100% занятые. В настоящее время, “busy” означает “не спит”, но в будущем могут быть добавлены дополнительные состояния - ожидание блокировки, выполнение запросов в базу данных, и т.д. В Linux и в большинстве других систем, разрешение составляет 1/100 секунды. | В данный момент поддерживаются следующие типы процессов: alerter - процесс для отправки уведомлений configuration syncer - процесс управления кешем конфигурационных данных в оперативной памяти db watchdog - процесс для отправки предупреждающего сообщения, в случае если БД недоступна discoverer - процесс для обнаружения устройств escalator - процесс для эскалации в действиях history syncer - процесс, который записывает историю в БД http poller - пуллер веб мониторинга housekeeper - процесс для удаления старых данных истории icmp pinger - пуллер для проверок icmpping ipmi poller - пуллер для проверок по IPMI node watcher - процесс для отправки данных истории и изменений в конфигурации между нодами self-monitoring - процесс для сбора внутренней статистики сервера poller - нормальный пуллер для пассивных проверок proxy poller - пуллер для пассивных прокси timer - процесс для обработки функций триггеров, связанных со временем, и для обслуживания trapper - процесс-улавливатель для активных проверок, трапов, связей между нодами и прокси unreachable poller - пуллер для недоступных устройств Примечание: Вы также можете видеть эти типы процессов в файле журнала сервера. Возможные режимы: avg - среднее значение для всех процессов указанного типа (по умолчанию) count - количество форков указанного типа процесса, <состояние> не должно быть указано max - максимальное значение min - минимальное значение <process number> - номер процесса (от 1 до количества префорк процессов). Например, если запущенно 4 траппера, тогда значение от 1 до 4. Возможные состояния: busy - процесс в занятом состоянии, например, обработка запроса (по умолчанию). idle - процесс в свободном состоянии, ничего не делающий. Примеры: zabbix[process,poller,avg,busy] - среднее время, потраченное процессами пуллеров, которые что-либо делали за последнюю минуту zabbix[process,“icmp pinger”,max,busy] - максимальное время, потраченное любыми процессами ICMP pinger, которые что-либо делали за последнюю минуту zabbix[process,trapper,count] - общее количество запущенных процессов trapper Этот элемент данных поддерживается начиная с версии 1.8.5. |
|||
zabbix[proxy,<имя>,<параметры>] | ||||
Информация доступная по Прокси. | <имя> - Имя прокси Список поддерживаемых параметров (<параметры>): lastaccess – штамп времени последнего оповещения доступности от Прокси Например, zabbix[proxy,“Germany”,lastaccess] Функция триггера fuzzytime() может быть использована для проверки доступности прокси. |
|||
zabbix[queue,<от>,<до>] | ||||
Количество наблюдаемых элементов данных в Очереди, у которых задержка <от> и <до> секунд включительно. | <от> - по умолчанию: 6 секунд <до> - по умолчанию: бесконечно Поддерживаются Суффиксы s,m,h,d,w для этих параметров. Параметры <от> и <до> поддерживаются начиная с версии 1.8.3. |
|||
zabbix[requiredperformance] | ||||
Требуемое быстродействие Zabbix сервера, имеются ввиду новые значения в секунду. | Приблизительно соответствует значению “Требуемое быстродействие сервера, новые значения в секунду” на странице Отчеты > Состояние Zabbix. Поддерживается начиная с версии 1.6.2. | |||
zabbix[uptime] | ||||
Uptime процесса Zabbix сервера в секундах. | ||||
zabbix[wcache,<кэш>,<режим>] | ||||
Кэш | Режим | |||
values | all | Количество значений обрабатываемых Zabbix сервером, исключая не поддерживаемые | Счетчик. | |
float | Счетчик. | |||
uint | Счетчик. | |||
str | Счетчик. | |||
log | Счетчик. | |||
text | Счетчик. | |||
not supported | Количество обрабатываемых неподдерживаемых элементов данных. | Счетчик. Этот элемент данных поддерживается начиная с версии 1.8.6. |
||
history | pfree | Свободное место в буфере истории в процентах. | Низкое количество свободного места отражает проблемы с производительностью на стороне базы данных. | |
total | ||||
used | ||||
free | ||||
trend | pfree | |||
total | ||||
used | ||||
free | ||||
text | pfree | |||
total | ||||
used | ||||
free | ||||
zabbix[rcache,<кэш>,<режим>] | ||||
Кэш | Режим | |||
buffer | pfree | |||
total | ||||
used | ||||
free |
Агрегированные проверки не требуют, чтобы агент был запущен на наблюдаемом узле сети. Zabbix сервер собирает агрегированную информацию делая прямые запросы к базе данных.
Синтаксис ключа агрегированного элемента данных
groupfunc["Группа узлов сети","Ключ элемента данных","функция элемента данных","параметр"]
Поддерживаемые параметры функции группы:
Функция группы | Описание |
---|---|
grpavg | Среднее значение |
grpmax | Максимальное значение |
grpmin | Минимальное значение |
grpsum | Сумма значений |
Поддерживаемые параметры элементов данных:
Функция элемента данных | Описание |
---|---|
avg | Среднее значение |
count | Количество значений |
last | Последнее значение |
max | Максимальное значение |
min | Минимальное значение |
sum | Сумма значений |
Примеры ключей для агрегированных проверок:
Суммарное значение размера дисков для группы хостов 'MySQL Servers'.
grpsum["MySQL Servers","vfs.fs.size[/,total]","last","0"]
Средняя загрузка процессора для группы узлов сети 'MySQL Servers'.
grpavg["MySQL Servers","system.cpu.load[,avg1]","last","0"]
Среднее (5мин) количество запросов в секунду для группы узлов сети 'MySQL Servers'
grpavg["MySQL Servers","mysql.qps","avg","300"]
Внешние проверки это проверки выполняемые Zabbix сервером путем выполнения скрипта или бинарного файла.
Внешняя проверка не требует никакого запущенного агента на наблюдаемом узле сети.
Синтаксис ключа элемента данных:
скрипт[параметры] * скрипт – имя скрипта. * параметры – список параметров командной строки. Параметры будут переданы командной строке без каких либо изменений.
Если вы не планируете передавать какие либо параметры в скрипт, вы можете использовать следующие записи:
скрипт[] или скрипт <- этот упрощенный синтаксис поддерживается Zabbix начиная с версии 1.8.1.
Zabbix сервер найдет и выполнит команду в директории, указанной в параметре ExternalScripts конфигурационного файла zabbix_server.conf. Команда будет выполнена от пользователя под которым работает Zabbix сервер, поэтому необходимые права доступа или переменные окружения должны быть предусмотрены в самом скрипте, если необходимо, и разрешения на команду должны быть даны пользователю для их выполнения. Команды доступны только те, которые размещены в указанной директории.
Первый параметр командной строки это IP адрес или DNS имя, другие параметры заменяются параметрами.
Zabbix использует первую строку (конечные пробелы удаляются) в стандартный вывод скрипта как значение. Остальные строки, стандартная ошибка и код выхода отбрасываются.
Выполнить скрипт check_oracle.sh с параметрами “-h 192.168.1.4”. DNS имя хоста 'www1.company.com'.
check_oracle.sh[-h 192.168.1.4]
Zabbix будет выполнять:
check_oracle.sh www1.company.com -h 192.168.1.4.
Zabbix должен быть сконфигурирован с поддержкой SSH2.
SSH проверки используются для безагентного мониторинга. Обратите внимание, что Zabbix агент не требуется для проверок по SSH.
Ключ | Описание | Комментарии |
---|---|---|
ssh.run[<уникальное короткое описание>,<ip>,<порт>,<кодировка>] | Выполняет команду используя SSH сессию |
Проверки по Telnet используются для безагентного мониторинга. Zabbix агент не требуется для проверок через Telnet.
Актуальные команды для выполнения должны быть помещены в поле Выполняемый скрипт в настройках элемента данных. Несколько команд могут быть выполнены одна за другой, разместив их каждую в новой строке.
До версии 1.8.1, поддерживаются строковые символы, которые могут заканчиваться на:
В версии 1.8.2 добавлено поддержку дополнительного символа:
Ключ | Описание | Комментарии |
---|---|---|
telnet.run[<уникальное короткое описание>,<ip>,<порт>,<кодировка>] | Выполнение команды на удаленном устройстве используя telnet соединение |
С вычисляемыми элементами данных вы можете создавать вычисления на основе других элементов данных. Таким образом, вычисляемые элементы данных используются для создания виртуальных источников данных. Значения элементов данных периодически вычисляются, базируясь на арифметическом выражении.
Результирующие данные будут записаны в базу данных Zabbix, как и для любого другого элемента данных - это значит, что сохраняются как значения истории так и тендеций для более быстрого отображения графика. Вычисляемые элементы данных могут быть использованы в выражениях триггеров.
Для использования вычисляемых элементов данных, выберите тип элемента данных Вычисляемый. Ключ является уникальным идентификатором элемента данных (в пределах узла сети). Вы можете создать любое имя ключа, используя допустимые символы. Определение расчета нужно ввести в поле Формула (называется Выражение в версиях 1.8.1 и 1.8.2). Не существует практически никакой взаимосвязи между формулой и ключем. Параметры ключа никаким образом не используются в формуле - переменные могут быть переданы в формулу с помощью пользовательских макросов.
Корректный синтаксис для простой формулы имеет вид:
func(<ключ>,<параметр1>,<параметр2>,...)
Где:
Аргумент | Определение |
---|---|
func | Одна из функций, поддерживаемых выражениями триггеров: last, min, max, avg, count и др. |
узел сети:ключ | Ключ другого элемента данных, данные которого вы хотите использовать. Может быть определен как ключ или имя_хоста:ключ. Примечание: Заключение всего ключа в двойные кавычки (“…”) настоятельно рекомендуется во избежании неправильного разбора пробелов или разделителей в ключе. Так же если в ключе имеются двойные кавычки, то кавычки должныть быть экранированы бэкслешем (\). Смотрите Примеры 5 и 6 ниже. |
параметр(ы) | Любые дополнительные параметры, которые могут потребоваться. Смотрите Пример 5 ниже. |
Поддерживаемые символы для имени узла сети:
a..zA..Z0..9 ._-
Поддерживаемые символы для ключа:
a..zA..Z0..9.,_
Поддерживаемые символы для функции:
a..zA..Z0..9_
В отличии от выражений триггеров, процесс Zabbix вычисляет элементы данных в соответствии с интервалом обновления, а не при получении нового значения. Также, если вы меняете ключ элемента данных у элемента ссылки, вы должны вручную обновить все формулы, где используется этот элемент данных.
Вычисляемый элемент данных может перейти в состояние не поддерживаемого в нескольких случаях:
Вычисление процентного отношения свободного места на диске в '/'.
Используем функцию last:
100*last("vfs.fs.size[/,free]")/last("vfs.fs.size[/,total]")
Zabbix возьмет последние значения для свободного и всего места на диске, и вычислит процентное отношение по указанной выше формуле.
Вычисление среднего количества значений за 10 минут обработанных Zabbix.
Используем функцию avg:
avg("Zabbix Server:zabbix[wcache,values]",600)
Следует отметить, что использование вычисляемых элементов данных с большим временным периодом может повлиять на производительность Zabbix сервера.
Вычисление полной пропускной способности на интерфейсе eth0.
Сумма двух функций:
last("net.if.in[eth0,bytes]")+last("net.if.out[eth0,bytes]")
Вычисление процента входящего трафика.
Другое сложное выражение:
100*last("net.if.in[eth0,bytes]")/(last("net.if.in[eth0,bytes]")+last("net.if.out[eth0,bytes]"))
Вычисление количества записей в файле журнала за последние 10 минут.
Примите к сведению, то как двойные кавычки экранируются внутри ключа и первого параметра функции, если требуется:
count("logrt[\"/tmp/test.log\",\"some words pattern\"]",600)
Возможно использование аггрегированных элементов данных в вычисляемых элементах данных.
Примите к сведению, то как экранируются двойные кавычки внутри заключенного в кавычки ключа:
last("grpsum[\"video\",\"net.if.out[eth0,bytes]\",\"last\",\"0\"]") / last("grpsum[\"video\",\"nginx_stat.sh[active]\",\"last\",\"0\"]")
Функциональность Zabbix агентов может быть расширена путем добавления пользовательских параметров (параметр конфигурации UserParameter) в файле конфигурации агента. Как только пользовательские параметры определены они могут быть использованы так же, как и любые другие элементы данных агента - по ключу, указанному в параметре.
Пользовательские параметры это команды, которые выполняются Zabbix агентом. В операционных системах UNIX используется интерпретатор командной строки /bin/sh.
Смотрите пошаговое руководство по использованию пользовательских параметров.
Для того, чтобы задать новый параметр для мониторинга, должна быть добавлена всего одна строка в файл конфигурации Zabbix агента, после чего агента следует перезапустить.
Пользовательский параметр имеет следующий синтаксис:
UserParameter=ключ,команда
Параметр | Описание |
---|---|
Ключ | Уникальный ключ элемента данных. |
Команда | Команда, которая будет выполнена для получения значения ключа. |
Простая команда
UserParameter=ping,echo 1
Агент всегда будет возвращать '1' для элемента данных с ключом 'ping'.
Более сложный пример
UserParameter=mysql.ping,mysqladmin -uroot ping | grep -c alive
Агент будет возвращать '1' если MySQL сервер доступен, '0' – в противном случае.
Гибкие пользовательские параметры могут быть использованы для большей управляемости и гибкости.
Гибкий пользовательский параметр:
UserParameter=ключ[*],команда
Параметр | Описание |
---|---|
Ключ | Уникальный ключ элемента данных. [*] определяет, что ключ может принимать параметры. |
Команда | Команда, которая будет выполнена для получения значения ключа. Zabbix агент производит анализ содержимого внутри квадратных скобок [] и заменяет им переменные $1,…,$9 в команде. Переменная $0 будет заменена оригинальной командой (до расширения $0,…,$9) для выполнения. |
Очень простой пример
UserParameter=ping[*],echo $1
Мы можем создать неограниченное количество элементов данных для наблюдения за чем угодно, указав в таком формате ping[что угодно].
Давайте добавим больше смысла!
UserParameter=mysql.ping[*],mysqladmin -u$1 -p$2 ping | grep -c alive
Этот параметр может быть использован для мониторинга доступности баз данных MySQL. В качестве параметров мы можем передать имя пользователя и пароль. Ключ элемента данных в таком случае выглядит вот так:
mysql.ping[zabbix,our_password]
Сколько строк в файле, которые соответствуют регулярному выражению?
UserParameter=wc[*],grep -c "$2" $1
Этот параметр может быть использован для подсчета количества строк в файле.
wc[/etc/passwd,root] wc[/etc/services,zabbix]
Счетчики производительности в Windows могут быть эффективно контролируемы при использовании perf_counter[].
Например:
perf_counter["\Processor(0)\Interrupts/sec"]
или
perf_counter["\Processor(0)\Interrupts/sec", 10]
Для того чтобы получить полный список доступных счетчиков производительности для мониторинга вы можете запустить:
typeperf -qx
К сожалению, в зависимости от настроек местоположения, именования счетчиков производительности могут быть разными на разных серверах Windows. Это может ввести определенные проблемы при создании шаблонов для Windows, имеющих разные настройки местоположения.
Каждый счетчик производительности может быть переведен в цифровую форму, которая является уникальной и независимой от языковых настроек.
Выполните regedit, затем найдите HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\009. Реестр содержит информацию:
1 1847 2 System 4 Memory 6 % Processor Time 10 File Read Operations/sec 12 File Write Operations/sec 14 File Control Operations/sec 16 File Read Bytes/sec 18 File Write Bytes/sec ....
Таким образом, для того, чтобы перевести строку имени счетчика производительности в числовую форму, найдите соответствующие цифры для каждой части счетчика производительности, например:
System -> 2 % Processor Time -> 6 \System\% Processor Time
Затем используйте эти цифры, чтобы создать числовой формат:
\2\6
Для того, чтобы задать новые параметры для мониторинга, должна быть добавлена всего одна строка в файл конфигурации Zabbix агента и агент должен быть перезапущен.
Триггеры это логические выражения, которые отображают собой состояние системы.
Триггер может принимать следующие значения:
Значение | Описание |
---|---|
ПРОБЛЕМА | Обычно означает, что что-то случилось. Например, высокая загрузка процессора. Называлось TRUE в предыдущих версиях Zabbix. |
ОК | Это нормальное состояние для триггера. Называлось FALSE в предыдущих версиях Zabbix. |
НЕИЗВЕСТНО | Означает что Zabbix не может высчитать выражение триггера. Это может произойти по нескольким причинам: - сервер недоступен - выражение триггера не может быть высчитано - выражение триггера было недавно изменено |
Используемые в триггерах выражения являются очень гибкими. Вы можете использовать их для создания сложных логических тестов, учитывая статистику по мониторингу.
Следующие операторы поддерживаются для триггеров (представлены по убыванию приоритета выполнения):
Приоритет | Оператор | Определение |
---|---|---|
1 | / | Деление |
2 | * | Умножение |
3 | - | Арифметический минус |
4 | + | Арифметический плюс |
5 | < | Менее чем. Этот оператор может быть представлен в виде: A<B ⇔ (A<=B-0.000001) |
6 | > | Более чем. Этот оператор может быть представлен в виде: A>B ⇔ (A>=B+0.000001) |
7 | # | Не равен. Этот оператор может быть представлен в виде: A#B ⇔ (A<=B-0.000001) | (A>=B+0.000001) |
8 | = | Равен. Этот оператор может быть представлен в виде: A=B ⇔ (A>B-0.000001) & (A<B+0.000001) |
9 | & | Логическое И |
10 | | | Логическое ИЛИ |
Функции триггеров позволяют ссылаться на собранные значения, текущее время и другие факторы.
Состояние (выражение) триггера пересчитывается каждый раз когда Zabbix сервер получает новое значение данных, если это значение данных является частью выражения. Если в выражении триггера используются функции относящиеся ко времени такой триггер пересчитывается каждые 30 секунд.
Функции относящиеся ко времени:
Поддерживаются следующие функции:
▼ | ФУНКЦИЯ | Аргумент(ы) | Типы поддерживаемых значений |
---|---|---|---|
Описание | |||
abschange | игнорируется | float, int, str, text, log | |
Возвращает абсолютную разницу между последним и предыдущим значениями. Для строк: 0 - значения равны 1 - значения различны |
|||
avg | секунды или #num | float, int | |
Среднее значение за период времени. Параметр определяет продолжительность периода в секундах. Эта функция принимает секунды, необязательный параметр time_shift. Это бывает полезно, когда нужно сравнить текущее среднее значение со средним значением time_shift секунд ранее. Например, avg(3600,86400) вернет среднее значение за один час одним днем ранее. Параметр time_shift поддерживается начиная с Zabbix 1.8.2 |
|||
change | игнорируется | float, int, str, text, log | |
Возвращает разницу между последним и предыдущим значениями. Для строк: 0 - значения равны 1 - значения различны |
|||
count | секунды или #num | float, int, str, text, log | |
Количество значений данных из истории за период времени в секундах или количество последних #num значений попадающих под условие. Функция может принимать второй необязательный параметр шаблон, третий параметр оператор, и четвертый параметр time_shift. Например, count(600,12) вернет точное количество значений равных '12' из истории за промежуток времени 10 минут. Элементы данных с типом Целые числа: точное совпадение Числа с плавающей запятой: совпадение с точностью до 0.00001 Строки, текст и журналы элементы данных: поддерживаются операторы like (по умолчанию), eq, ne. Поддерживаемые операторы: eq - равно ne - не равно gt - больше ge - больше или равно lt - меньше le - меньше или равно like (только текстовый поиск) - совпадение, если содержит шаблон. Например, count(600,12,"gt") вернет точное количество значений больших чем '12' из истории за последние 10 минут. Другой пример: count(#10,12,"gt",86400) вернет точное количество значений больших '12' из истории из последних 10 значений 24 часами ранее. Если требуется подсчитывать произвольные значения, например, за последние 600 секунд 24 часами ранее, либо count(600,,86400) или count(600,,,86400) должно быть использовано в зависимости от того что требуется подсчитать - текст или числа, соответственно. Параметр #num поддерживается начиная с Zabbix 1.6.1. Параметр time_shift и строковые операторы поддерживаются начиная с Zabbix 1.8.2 |
|||
date | игнорируется | любые | |
Возвращает текущую дату в формате ГГГГММДД. Например: 20031025 |
|||
dayofmonth | игнорируется | любые | |
Возвращает день месяца из диапазона от 1 до 31. Эта функция поддерживается начиная с 1.8.5 |
|||
dayofweek | игнорируется | любые | |
Возвращает день недели из диапазона от 1 до 7. Пн - 1, Вс - 7. | |||
delta | секунды или #num | float, int | |
То же самое, что и max()-min(). Начиная с версии Zabbix 1.8.2 эта функция поддерживает секунды, необязательный параметр time_shift. Смотрите функцию avg для примера использования. |
|||
diff | игнорируется | float, int, str, text, log | |
Возвращает: 1 - последнее и предыдущее значения различаются 0 - наоборот |
|||
fuzzytime | секунды | float, int | |
Возвращает 1 если штамп времени (значения элемента данных) не отличается от времени на Zabbix сервере более чем на N секунд, 0 - наоборот. Обычно применяется с system.localtime, для проверки синхронно ли локальное время с локальным временем Zabbix сервера. |
|||
iregexp | 1-ый - строка, 2-ой - секунды или #num | str, log, text | |
Это - не чувствительный к регистру аналог функции regexp. | |||
last | секунды или #num | float, int, str, text, log | |
Последнее (самое новое) значение. Параметр: секунды - игнорируется #num - N-ное значение Например, last(0) всегда равняется last(#1) last(#3) - третье из последних значений Функция поддерживает необязательный параметр time_shift. Например: last(0,86400) вернет последнее значение одним днем ранее. Zabbix не гарантирует точный порядок значений, если за одну секунду имеется более одного значения. Параметр #num поддерживается начиная с Zabbix 1.6.2. Параметр time_shift поддерживается начиная с Zabbix 1.8.2. |
|||
logeventid | строка | log | |
Проверяет соответствие регулярному выражению Event ID последней записи в журнале. Параметр определяет регулярное выражение в формате расширенных регулярных выражений POSIX. Возвращает: 0 - не соответствует 1 - соответствует Эта функция поддерживается начиная с версии 1.8.5 |
|||
logseverity | игнорируется | log | |
Возвращает важность последней записи в журнале (логе). Параметры игнорируются. 0 - важность по умолчанию N - важность (целое число, полезно для журналов событий Windows). Zabbix берет важность журнала из колонки Информация из журнала событий Windows. |
|||
logsource | строка | log | |
Проверяет совпадает ли последняя запись в логе с параметром. 0 - не совпадает 1 - совпадает Обычно используется для журнала событий Windows. Например, logsource["VMWare Server"] |
|||
max | секунды или #num | float, int | |
Максимальное значение за период времени. Параметр определяет период времени в секундах. Начиная с версии Zabbix 1.8.2, функция поддерживает секунды, необязательный параметр time_shift. Смотрите функцию avg для примера использования. |
|||
min | секунды или #num | float, int | |
Минимальное значение за период времени. Параметр определяет период времени в секундах. Начиная с версии Zabbix 1.8.2, функция поддерживает секунды, необязательный параметр time_shift. Смотрите функцию avg для примера использования. |
|||
nodata | секунды | любые | |
Возвращает: 1 - если не было получено данных за указанный промежуток времени в секундах. Период не может быть меньше 30 секунд. 0 - наоборот |
|||
now | игнорируется | любые | |
Возвращает количество секунд с начала Эпохи (00:00:00 UTC, 1 Января 1970 г.). | |||
prev | игнорируется | float, int, str, text, log | |
Возвращает предыдущее значение. Параметр игнорируется. Аналог last(#2) |
|||
regexp | 1-ый - строка, 2-ой - секунды или #num | str, log, text | |
Проверяет, соответствует ли последнее значение регулярному выражению. Параметр должен задаваться регулярным выражением в формате расширенных регулярных выражений POSIX. Второй необязательный параметр это количество секунд или количество строк для анализа. В этом случае будет обработано более одного значения. Эта функция чувствительная к регистру. Возвращает: 1 - если найдено 0 - наоборот |
|||
str | 1-ый - строка, 2-ой - секунды или #num | str, log, text | |
Ищет строку в последнем значении. Параметр определяет строку для поиска. Эта функция чувствительная к регистру! Второй необязательный параметр это количество секунд или количество строк для анализа. В этом случае будет обработано более одного значения. Возвращает: 1 - если найдено 0 - если не найдено |
|||
strlen | секунды или #num | str, log, text | |
Длина последнего (наиболее нового) значения в символах (не в байтах). Параметры такие же, как и для функции last. Например, strlen(0) идентично strlen(#1) strlen(#3) - длина третьего наиболее нового значения strlen(0,86400) - длина наиболее нового значения один день назад. Эта функция поддерживается начиная с версии Zabbix 1.8.4. |
|||
sum | секунды или #num | float, int | |
Сумма значений за период времени. Параметр определяет период времени в секундах. Начиная с версии Zabbix 1.8.2, функция поддерживает секунды, необязательный параметр time_shift. Смотрите функцию avg для примера использования. |
|||
time | игнорируется | любые | |
Возвращает текущее время в формате ЧЧММСС. Например: 123055 |
Большинство числовых функций принимают количество секунд в качестве аргумента. Вы также можете использовать префикс # чтобы указать, что аргумент имеет другое значение:
ВЫЗЫВАЕМАЯ ФУНКЦИЯ | СМЫСЛ |
---|---|
sum(600) | Сумма всех значений в течении 600 секунд |
sum(#5) | Сумма последних 5 значений |
Функция last имеет особый смысл для значений с префиксом решетки - функция выбирает N-ное предыдущее значение. Поэтому из представленных значений (выстроены от последних к предыдущим) 3, 7, 2, 6, 5, функция last(#2) вернет 7 и функция last(#5) вернет 5.
Выражения триггеров поддерживают использование различных множителей, такие как суффиксы.
Простое полезное выражение может выглядеть так:
{<сервер>:<ключ>.<функция>(<параметр>)}<оператор><константа>
Параметр должен быть предоставлен даже для тех функций, которые его игнорируют. Например: last(0)
Высокая загрузка процессора на www.zabbix.com
{www.zabbix.com:system.cpu.load[all,avg1].last(0)}>5
'www.zabbix.com:system.cpu.load[all,avg1]' передает короткое имя наблюдаемого параметра. Эта строка указывает, что контролируется сервер 'www.zabbix.com' и ключ 'system.cpu.load[all,avg1]'. Используя функцию 'last()', мы ссылаемся на самое последнее значение. И наконец '>5' означает, что триггер будет определен как ПРОБЛЕМА всякий раз, когда последнее значение загрузки процессора на сервере www.zabbix.com будет превышать 5.
www.zabbix.com перегружен
{www.zabbix.com:system.cpu.load[all,avg1].last(0)}>5|{www.zabbix.com:system.cpu.load[all,avg1].min(600)}>2
Это выражение будет определено как ПРОБЛЕМА, когда либо текущая загрузка процессора больше 5, либо загрузка процессора больше 2 за последние 10 минут.
Изменился файл /etc/passwd
Используем функцию diff:
{www.zabbix.com:vfs.file.cksum[/etc/passwd].diff(0)}>0
Это выражение будет определено как ПРОБЛЕМА, когда предыдущее значение контрольной суммы файла /etc/passwd отличается от последнего значения.
Аналогичные выражения могут быть полезны для мониторинга изменений в важных файлах, таких как /etc/passwd, /etc/inetd.conf, /kernel и других.
Кто-то скачивает большой файл из Интернет
Используем функцию min:
{www.zabbix.com:net.if.in[eth0,bytes].min(300)}>100K
Это выражение будет определено как ПРОБЛЕМА, когда сумма полученных байт за последних 5 минут на интерфейсе eth0 превышает 100КБ.
Оба узла кластера SMTP серверов недоступны
Примечание, в выражении используются два разных узла сети:
{smtp1.zabbix.com:net.tcp.service[smtp].last(0)}=0&{smtp2.zabbix.com:net.tcp.service[smtp].last(0)}=0
Это выражение будет определено как ПРОБЛЕМА, когда оба SMTP сервера недоступны smtp1.zabbix.com и smtp2.zabbix.com.
Zabbix агент нуждается в обновлении
Используем функцию str():
{zabbix.zabbix.com:agent.version.str("beta8")}=1
Это выражение будет определено как ПРОБЛЕМА, когда версия Zabbix агента содержит в себе 'beta8' (возможно 1.0beta8).
Сервер недоступен
{zabbix.zabbix.com:icmpping.count(1800,0)}>5
Выражение правдиво, если узел сети “zabbix.zabbix.com" недоступен более 5 раз за последние 30 минут.
Нет получения данных за последние 3 минуты
Используем функцию nodata():
{zabbix.zabbix.com:tick.nodata(180)}=1
‘tick’ должен иметь тип ‘Zabbix trapper’’. Для того чтобы этот триггер заработал, элемент данных ‘tick’ должен существовать. Узел сети должен периодически отправлять данные этому элементу данных используя zabbix_sender. Если не было получено данных за последние 180 секунд, значение триггера будет определено как ПРОБЛЕМА.
Активность ЦПУ в ночное время
Используем функцию time():
{zabbix:system.cpu.load[all,avg1].min(300)}>2&{zabbix:system.cpu.load[all,avg1].time(0)}>000000&{zabbix:system.cpu.load[all,avg1].time(0)}<060000
Триггер может быть определен как ПРОБЛЕМА только в ночное время (00:00-06:00).
Проверяет, если локальное время на клиенте синхронизировано с временем на Zabbix сервере
Используется функция fuzzytime():
{MySQL_DB:system.localtime.fuzzytime(10)}=0
Триггер меняет состояние на проблему тогда, когда локальное время на сервере MySQL_DB и Zabbix сервере различаются более чем на 10 секунд.
Зависимости триггеров могут быть использованы для определения взаимосвязи между триггерами.
Зависимости триггера являются очень удобным способом ограничения количества сообщений, которые будут отправлены в случае если возникающее событие относится к нескольким ресурсам.
Например, узел сети Хост находится позади маршрутизатора Роутер2, а Роутер2 находится позади Роутер1.
Zabbix - Роутер1 – Роутер2 - Хост
Если Роутер1 недоступен, то очевидно, что и Хост и Роутер2 недоступны. Никто не хочет получать три уведомления с информацией о Хост, Роутер1 и Роутер2. Это как раз тот случай, когда использование зависимостей триггера будет очень удобным.
Для этого случая, мы определяем эти зависимости:
триггер 'Хост недоступен' зависит от триггера 'Роутер2 недоступен' триггер 'Роутер2 недоступен' зависит от триггера 'Роутер1 недоступен'
Перед изменением состояния триггера 'Хост недоступен', Zabbix будет проверять существуют ли у этого триггера заданные зависимости. Если это так, и один из триггеров в находится в состоянии ПРОБЛЕМА, то состояние триггера не будет изменено и, следовательно, действие не будет выполнено и оповещение не будет отправлено.
Zabbix выполняет эту проверку рекурсивно. Если Роутер1 или Роутер2 недоступен, тогда триггер у Хоста не будет изменен.
Важность триггера определяет насколько триггер важен. Zabbix поддерживает следующие важности триггеров:
Важность | Определение | Цвет |
---|---|---|
Не классифицировано | Неизвестная важность. | Серый. |
Информация | В информационных целях. | Светло зеленый. |
Предупреждение | Предупреждающий. | Светло желтый. |
Средняя | Средняя проблема. | Темно красный. |
Высокая | Произошло что-то важное. | Красный. |
Чрезвычайная | Чрезвычайный. Финансовые потери и т.п. | Ярко красный. |
Важности могут быть использованы в:
Иногда триггер должен иметь различные условия для разных состояний. Например, мы хотим определить триггер, который перейдет в состояние ПРОБЛЕМА если температура в серверной комнате поднимется выше 20 градусов. При этом триггер должен оставаться в состоянии ПРОБЛЕМА, пока температура не опустится ниже 15 градусов.
Для того чтобы сделать это, мы определим следующий триггер:
Температура в серверной комнате слишком высокая.
({TRIGGER.VALUE}=0&{server:temp.last(0)}>20)| ({TRIGGER.VALUE}=1&{server:temp.last(0)}>15)
Примечание: Здесь используется макрос {TRIGGER.VALUE}, который возвращает текущее состояние триггера (его числовое значение).
Осталось очень мало свободного места на диске
Проблема: осталось меньше чем 10ГБ за последние 5 минут
Восстановление: остается более чем 40ГБ за последние 10 минут
({TRIGGER.VALUE}=0&{server:vfs.fs.size[/,free].max(5m)}<10G) | ({TRIGGER.VALUE}=1&{server:vfs.fs.size[/,free].min(10m)}<40G)
Примечание: Здесь используется макрос {TRIGGER.VALUE}, который возвращает текущее состояние триггера (его числовое значение).
Комплексные экраны в Zabbix позволяют группировать различную информацию для быстрого доступа и отображения на одном экране. Простой в использовании конструктор экранов делает создание комплексных экранов простым и интуитивно понятным.
Комплексный экран это таблица которая может содержать в каждой ячейке следующую информацию:
Количество элементов в каждом комплексном экране не ограничено.
Вы можете настроить комплексные экраны в Настройка → Комплексные экраны и увидеть их в Мониторинг → Комплексные экраны, а так же добавлять ваши избранные комплексные экраны в раздел избранное в Мониторинг → Панель.
Слайд-шоу представляет собой серию комплексных экранов, которые будут автоматически прокручиваться в соответствии настройками интервала обновления.
Вы можете настроить слайд-шоу в Настройки → Слайды.
Параметр | Описание |
---|---|
Имя | Имя слайд-шоу. |
Интервал обновления (в секундах) | Этот параметр устанавливает интервал по умолчанию между ротацией комплексных экранов в секундах. |
Слайды | Список индивидуальных слайдов (комплексные экраны). |
Комплексный экран | Имя комплексного экрана |
Задержка | Как долго (в секундах) комплексный экран будет отображаться. Если установлено значение 0, тогда будет использоваться общий интервал обновления слайд-шоу. |
Слайд-шоу “Администраторы Zabbix”
Слайд-шоу состоит из двух комплексных экранов, которые будут отображаться в следующем порядке:
Zabbix Server ⇒ Пауза в 60 секунд ⇒ Zabbix Server2 ⇒ Пауза в 30 секунд ⇒ Zabbix Server ⇒ Пауза в 60 секунд ⇒ Zabbix Server2 ⇒ …
ИТ-услуги предназначены для тех, кто хочет получить мониторинг более высокого уровня (бизнес). Во многих случаях мы не заинтересованы в низком уровне подробностей, таких как недостаток места на диске, высокая загрузка процессора и т.д. Чем мы заинтересованы это доступность услуг, предоставляемых нашим ИТ-отделом. Мы также можем быть заинтересованы в выявлении слабых мест в ИТ-инфраструктуре, SLA различных ИТ-услуг, структуре существующей ИТ-инфраструктуры, а также любой другой информации на более высоком уровне.
ИТ-услуги в Zabbix дают ответы на все выше упомянутые вопросы.
ИТ-услуги иерархичное представление данных мониторинга.
Очень простая структура ИТ-услуги может выглядеть следующим образом:
IT услуга | |-Рабочие станции | | | |-Workstation1 | | | |-Workstation2 | |-Сервера
Каждый узел структуры имеет аттрибут состояние. Состояние подсчитывается и распространяется на верхние уровни в соответствии с выбранным алгоритмом. На самом низком уровне IT услуги являются триггерами. Состояние отдельных узлов зависит от состояния их триггеров.
Для настройки IT услуг, перейдите в Настройка → IT услуги.
На этой странице вы можете построить иерархию вашей наблюдаемой инфраструктуры инфраструктуры. Родительский сервис 'root' самого высокого уровня. Вы можете построить свою иерархию вниз, добавлением родительские сервисы более низкого уровня, а затем и отдельные узлы к ним.
Нажмите на сервис для добавления сервисов к нему или для редактирования сервиса. Отобразится форма, где вы можете редактировать аттрибуты сервиса.
Аттрибуты IT сервиса:
Параметр | Описание |
---|---|
Имя | Имя сервиса. |
Родительская услуга IT | Принадлежность к родительскому сервису. |
Зависит от | Список дочерних сервисов от которых сервис зависит. |
Алгоритм подсчета статуса | Метод вычисления состояния сервиса: Не подсчитывать - не вычислять состояние сервиса Проблема, если хотя бы один дочерний сервис в состоянии проблема - считается проблемой только если один дочерний сервис имеет проблему Проблема, если все дочернии сервисы в состоянии проблем - считается проблемой, только если все дочерние сервисы имеют проблемы |
Подсчет SLA | Включить вычисление и отображение SLA. |
Приемлимый SLA (в %) | Процент SLA, который является приемлемым для этого сервиса. Используется для отчетности. |
Интервалы времени услуги | По умолчанию, все сервисы как ожидается работают 24x7x365. Если требуются исключения, добавьте новые времена сервиса. |
Новый интервал времени услуги | Интервал времени сервиса: Единовременный простой - одиночный простой. Состояние сервиса, в течении этого периода не влияет на SLA. Доступность - доступность сервиса Недоступность - состояние сервиса, в течении этого периода не влияет на SLA. Добавляет соответствующие часы. |
Связать с триггером? | Связь с триггером: Пусто - нет связи имя триггера - связан с триггером, таким образом зависит от состояния триггера Сервисы нижнего уровня должны быть соединены с триггерами. (В противном случае их состояние не будет точно представлено.) |
Порядок сортировки | Порядок сортировки при отображении, меньшие значения на первом месте. |
Для мониторинга IT сервисов, перейдите в Мониторинг → IT сервисы.
Список существующих ИТ услуг отображается вместе с данными их состояния и SLA. Из раскрывающегося списка в правом верхнем углу вы можете выбрать требуемый период для отображения.
Отображаемые данные:
Параметр | Описание |
---|---|
Сервис | Имя сервиса. |
Состояние | Состояние сервиса: OK - нет проблем (цвет и важность триггера) - указывает на наличие проблемы и её важности |
Причина | Указывает на причину проблемы (если таковая имеется). |
SLA (период) | Отображает полосу SLA. Соотношение зеленого/красного указывает на пропорцию доступности/проблем. |
SLA | Отображает приемлимое значение SLA в SLA/текущее. Если текущее значение ниже допустимого уровня, то значение отображается красным цветом. |
График | Содержит ссылку на график с данными доступности. |
Вы также можете нажать на зеленую/красную полосу SLA для доступа к Отчет доступности IT услуг.
Здесь вы можете оценить доступность данных ИТ сервиса за более длительный период времени на основе дня/недели/месяца/года.
Все пользователи в Zabbix работают с системой Zabbix через веб-интерфейс. Каждому пользователю в Zabbix присвоен уникальный логин и пароль. Все пароли пользователей зашифрованы и хранятся в базе данных Zabbix. Пользователи Zabbix не могут использовать свой логин и пароль чтобы авторизоваться непосредственно на сервере UNIX, за исключением если они были заведены соответственно также и в UNIX. Соединение между Веб-сервером и браузером пользователя может быть защищено с помощью SSL.
Права доступа к страницам в пределах меню могут быть установлены для каждого пользователя. По умолчанию пользователь не имеет прав доступа к страницам Zabbix после регистрации.
Обратите внимание, что у пользователя автоматически завершается сеанс работы в веб-интерфейсе Zabbix через 30 минут бездействия (данный параметр можно более гибко настроить под отдельных пользователей).
Zabbix имеет гибкую модель управления правами пользователя, которая может быть эффективно использована для управления правами пользователей как в одиночной инсталляции сервера Zabbix так и в окружении распределенного мониторинга.
Права предоставляются для групп пользователей на уровне групп узлов сети.
Zabbix поддерживает несколько типов пользователей. Тип пользователя определяет к каким административным функциям пользователь имеет разрешение.
Типы пользователей используются для определения доступа к административным функциям и устанавливают права по умолчанию.
Тип пользователя | Описание |
---|---|
Пользователь Zabbix | Пользователь имеет доступ к меню Мониторинг. По умолчанию пользователь не имеет прав доступа к каким либо ресурсам. Права доступа на группу узлов сети должны быть предоставлены явно. |
Администратор Zabbix | Пользователь имеет доступ в меню Мониторинг и в меню Настройка. По умолчанию пользователь не имеет прав доступа к каким либо ресурсам. Права доступа на группу узлов сети должны быть предоставлены явно. |
Суперадминистратор Zabbix | Пользователь имеет доступ ко всем меню: Мониторинг, Настройка и Администрирование. Пользователь имеет права Чтения-Записи ко всем группам узлов сети. Права не могут быть запрещены ни для какой группы узлов сети. |
В очереди Zabbix отображаются элементы данных, которые ждут обновления. Очереди это просто логическое представление данных из базы данных. В Zabbix не существует IPC очереди или очереди иного механизма.
Статистика, представленная в Очереди, является хорошим показателем производительности сервера Zabbix.
Очередь на одиночной инсталляции или на мастер узле показывает элементы, ожидающие обновления.
В этом случае, мы видим, что у нас есть ноль элементов типа Zabbix агент ожидающих обновления 0-5 секунд, ноль элементов типа Zabbix агент (активный) ожидающий более чем пять минут (если здесь будет больше 0, то это например может означать что агент недоступен). Обратите внимание, что информация отображаемая для подчиненной ноды не является актуальной (свежей). Мастер нода получает данные истории с некоторой задержкой (как правило, вплоть до 10 секунд из-за передачи данных между нодами), так что информация отображается с задержкой.
На скриншоте мы видим, что существует 42 элемента данных с ожиданием обновления более 5 минут на подчиненной ноде, однако мы не обязаны доверять информации, поскольку она зависит от:
Скрипты используются для автоматического запуска/остановки Zabbix процессов во время загрузки/завершения работы системы.
Скрипты размещаются в папке misc/init.d.
Скрипт используется для получения SNMP трапов. Скрипт должен быть использован в сочетании с snmptrapd, который является частью пакета Net-SNMP.
Руководство по конфигурации:
traphandle default /bin/bash /usr/local/bin/snmptrap.sh
Сложные регулярные выражения могут быть созданы и протестированы в веб-интерфейсе Zabbix. Перейдите в Администрирование → Общие → Регулярные выражения.
Общий вид
Добавление/редактирование одной группы регулярных выражений
После того как регулярное выражение создано, его можно использовать везде где поддерживаются регулярные выражения, ссылаясь на его имя с префиксом @, например, @mycustomregexp.
Проверяем возвращает ли элемент данных правильное значение DNS имени.
Создайте новую группу регулярных выражений и добавьте туда регулярное выражение:
^[0-9a-zA-Z_\-]+\.[a-zA-Z]{2,4}$
Это регулярное выражение означает, что строка может начинаться с цифро-буквенных символов с количеством более одного, потом должна идти точка и далее может быть от двух до четырех буквенных символов. ^ - начало строки, $ - конец строки. Установите тип регулярного выражения “Результат TRUE” и отметьте галку регистрозависимый.
Протестируйте добавленное регулярное выражение: Введите zabbix.com в поле “Тестовая строка” и нажмите кнопку “Тест”. Если регулярное выражение составлено верно и тестируемая строка соответствует выражению, то результат тестирования будет ИСТИНА, в противном случае ЛОЖЬ.
Сохраним группу регулярных выражений с именем “check_dns”.
Теперь, чтобы использовать добавленную группу в выражениях триггеров нужно указать @check_dns. Например:
({Template_DNS_Check:dns_check.iregexp(@regexp_check_ip)}=1
Все регулярные выражения в Zabbix, созданные при помощи расширенного редактора, или введенные вручную, поддерживают расширенные регулярные выражения стандарта POSIX.
Хотя многие параметры веб-интерфейса можно настроить используя сам интерфейс, но некоторые настройки в настоящее время возможно изменить только через файл определений. Этот файл размещается в папке веб-интерфейса, include/defines.inc.php. Параметры в этом файле, которые могут быть интересны пользователям:
Как долго отображать триггеры в состоянии ОК после изменения их состояния из ПРОБЛЕМА, в секундах.
По умолчанию: 1800
Как долго триггер должен мигать после изменения состояния, в секундах.
По умолчанию: 1800
Период графика по умолчанию, в секундах. По умолчанию один час.
Минимальный период графика в секундах. По умолчанию один час.
Максимальный период графика в секундах. По умолчанию два года начиная с 1.6.7 и один год до 1.6.7.
Размещение по умолчанию оси Y в простых графиках и значение по умолчанию в выпадающем списке при добавлении элементов данных в пользовательские графики. Возможные значения: 0 - слева, 1 - справа.
По умолчанию: 0
Значение порога округления констант. Значения, меньшие чем порог, будут округлены до ZBX_UNITS_ROUNDOFF_LOWER_LIMIT количества цифр после запятой, и соответственно значения, большие чем порог, будут округлены до ZBX_UNITS_ROUNDOFF_UPPER_LIMIT количества цифр после запятой.
По умолчанию: 0.01
Округлять к количеству знаков после запятой, когда значение больше порога округления.
По умолчанию: 2
Округлять к количеству знаков после запятой, когда значение меньше порога округления.
По умолчанию: 6
Количество дней, которые будут влиять на выбор данных или из таблицы истории или из таблицы тенденций при обработке выбранного периода для отрисовки графика в веб-интерфейсе. Возможные определения:
Это определение может быть полезным для партиционированного хранения данных.
По умолчанию: -1
Включает поддержку синтаксиса ключей элементов данных для Zapcat Zabbix Java JMX bridge.
По умолчанию: false
Используя суффиксы, в Zabbix есть возможность упростить выражения триггеров или ключей элементов данных.
В следующей таблице представлены доступные стандартные множители для Zabbix веб-интерфейса и сервера:
До 1.8.2 | Дополнительные в 1.8.2 | |
---|---|---|
Сервер | K (Кило) M (Мега) G (Гига) | T (Тера) |
Веб-интерфейс | K (Кило) M (Мега) G (Гига) T (Тера) | P (Пета) E (Экза) Z (Зетта) Y (Йотта) |
Начиная с Zabbix версии 1.8.2 доступны следующие множители, относящиеся ко времени:
Это поддерживаемые в выражениях триггеров константы и параметры функций, а также параметры во внутренних элементах данных zabbix[очередь,<от>,<до>].
Эти множители позволяют писать выражения, которые легче понять и управлять ими, например следующие выражения:
{host:zabbix[proxy,zabbix_proxy,lastaccess]}>120 {host:system.uptime[].last()}<86400 {host:system.cpu.load.avg(600)}<10
можно заменить на:
{host:zabbix[proxy,zabbix_proxy,lastaccess]}>2m {host:system.uptime.last()}<1d
Период времени имеет следующий формат:
d-d,hh:mm-hh:mm
Вы можете указать более одного периода времени используя разделитель точку с запятой (;):
d-d,hh:mm-hh:mm;d-d,hh:mm-hh:mm...
Формат | Описание |
---|---|
d | День недели: 1 - Понедельник, 2 - Вторник ,… , 7 - Воскресенье |
hh | Часы: 00-24 |
mm | Минуты: 00-59 |
Пустая спецификация времени равна 01-07,00:00-24:00
Часы работы. Понедельник - Пятница с 9:00 до 18:00:
1-5,09:00-18:00
Часы работы плюс выходные. Понедельник - Пятница с 9:00 до 18:00 и Суббота, Воскресенье с 10:00 до 16:00:
1-5,09:00-18:00;6-7,10:00-16:00
Это экран приглашения для входа в систему Zabbix. После инсталляции используйте имя пользователя Admin и пароль zabbix для входа в Zabbix под суперпользователем.
После входа вы увидите “Подключен под Admin” в нижнем правом углу страницы и доступ к разделам Настройка и Администрирование будет предоставлен:
В случае пяти последовательных неудачных попыток входа, Zabbix интерфейс будет принудительно делать паузу в 30 секунд для предотвращения атак методом перебора пароля и атак по словарю.
IP адрес, с которого были осуществлены неудачные попытки, будет отображен после успешного входа в систему.
После первоначальной установки Zabbix имеет только двух пользователей. Пользователь “Admin” это суперпользователь в системе Zabbix, который имеет все привилегии. Пользователь “guest” это специальный пользователь по умолчанию. Если пользователь не вошел в систему, тогда он получит доступ с привилегиями пользователя “guest”. По умолчанию, “guest” не имеет разрешений на объекты Zabbix.
Для того, чтобы добавить нового пользователя, перейдите в Администрирование → Пользователи, затем выберите в выпадающем списке Пользователи и нажмите “Создать пользователя”.
В диалоге создания пользователя его следует добавить к одной из существующих групп, например Network administrators
По умолчанию, новые пользователи не имеют способов оповещений (методов уведомлений). Для их создания нажмите Добавить в разделе Способ оповещений.
В всплывающем окне введите почтовый адрес пользователя. Вы можете указать период времени, когда этот способ будет активен (смотрите страницуСпецификаций периода времени для получения сведений о формате), по умолчанию способ активен всегда. Вы также можете настроить важности, для которых способ оповещения будет использоваться, но сейчас оставьте все включенным. Нажмите Добавить, затем Сохранить в свойствах пользователя. Новый пользователь появится в списке пользователей.
По умолчанию, новый пользователь не имеет прав. Для предоставления ему прав нажмите на имя группы в колонке Группы. Откроются свойства группы. Этот пользователь будет иметь доступ только на чтение группы Linux серверов, поэтому нажмите Добавить внизу блока значений Только чтение.
В этом всплывающем окне выберите Linux серверы и затем нажмите Выбрать.
В форме свойств группы пользователей нажмите Сохранить.
Готово! Теперь вы можете попробовать войти под созданным пользователем.
Изначально, в Zabbix имеется несколько предопределенных способов оповещения (средств передачи). Email - это один из них. Настройки оповещения по Email вы можете найти в меню Меню→Администрирование→Способы оповещений.
Выберите “Email” из списка предустановленных способов оповещений.
Установите корректные значения для SMTP сервер, SMTP приветствие и SMTP адрес электронной почты. Нажмите Сохранить когда завершите.
Теперь у Вас имеется способ оповещения “Email”. Для того чтобы этот способ оповещения начал реально использоваться, он должен быть присоединен в свойствах профиля пользователя.
Этот раздел содержит детальные сведения о мониторинге узла сети, на котором запущен Zabbix агент. Агент у вас должен быть установлен и правильно настроен.
Откройте Настройки → Узлы сети, чтобы просмотреть список текущих добавленных узлов сети. Ситуация может быть разной в зависимости от используемой у вас версии Zabbix.