ZABBIX — открытое программное обеспечение написанное Алексеем Владышевым. Zabbix создан для мониторинга и отслеживания статусов разнообразных сервисов компьютерной сети, серверов и сетевого оборудования.

Для хранения данных используется MySQL, PostgreSQL, SQLite или Oracle. Веб-интерфейс написан на PHP. ZABBIX поддерживает несколько видов мониторинга:

FreeBSD: Установка и начальная настройка системы мониторинга Zabbix

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

Постановка задачи

Необходимо создать многофункциональную систему мониторинга состояния аппаратного и программного обеспечения компьютеров, работающих под управлением различных версий операционных систем Linux, Unix и Windows, а также сетевого оборудования, поддерживающего протокол SNMP. При этом система мониторинга должна: обеспечивать хранение собранных данных в течение заданного интервала времени, поддерживать формирование отчетов с возможностью гибкой настройки их параметров, своевременно оповещать системных администраторов о возникновении проблем и, наконец, иметь удобный русифицированный Веб-интерфейс с разграничением прав доступа пользователей. Как Вы успели догадаться, на роль такой системы мониторинга я выбрал Zabbix.

Исходные данные

Имеется компьютер с FreeBSD, на котором кроме всего прочего развернуты Веб-сервер Apache и север баз данных MySQL. На этот компьютер будет установлена серверная часть Zabbix, состоящая из сервера, Веб-интерфейса (в некоторых источниках - фронтенда) и агента, предназначенного для наблюдения за состоянием этого сервера. Естественно, для хранения базы данных Zabbix будет использоваться сервер MySQL (кстати, официальная документация рекомендует использовать именно MySQL, как хранилище, обеспечивающее максимальную производительность сервера Zabbix), а для обеспечения работы Веб-интерфейса - Веб-сервер Apache. Также на все компьютеры, состояние которых хочется отслеживать, придется установить агенты Zabbix (при наличии служб SNMP можно обойтись без агентов Zabbix, однако, при этом будет потеряна некоторая функциональность). Все перечисленное программное обеспечение, предназначенное для FreeBSD, будет устанавливаться из портов, поэтому я рекомендую Вам обновить их перед выполнением действий, описанных ниже (я использовал FreeBSD 8.0 и последние на конец мая 2010 года версии портов для нее).

Установка и настройка сервера Zabbix

Установку сервера Zabbix необходимо выполнить из портов:

1.cd /usr/ports/net-mgmt/zabbix-server
2.make config install clean

В окне конфигурации следует убрать все лишние опции. Например, мне оказалось достаточно опций [X] MYSQL Use MySQL backend и [X] FPING Use fping for pinging hosts (любителям Jabber будет полезна опция [X] JABBER Use jabber media type).
После завершения установки нужно создать базу данных zabbix и пользователя zabbix для работы с этой базой данных, запустив клиент MySQL командой mysql -u <имя пользователя-администратора> -p, введя пароль и выполнив следующие команды:

1.CREATE DATABASE zabbix CHARACTER SET utf8;
2.GRANT ALL PRIVILEGES ON zabbix.* TO zabbix@localhost IDENTIFIED BY 'zabbix';
3.FLUSH PRIVILEGES;

После закрытия клиента MySQL следует создать и инициализировать таблицы базы данных zabbix, выполнив следующие команды:

1.cd /usr/local/share/zabbix/server/create
2.cat schema/mysql.sql data/data.sql data/images_mysql.sql | mysql -u <имя пользователя-администратора> -p zabbix

Если Вы используете одну из последних версий MySQL, может возникнуть примерно такая ошибка:

1.ERROR 1064 (42000) at line 1: У вас ошибка в запросе. Изучите документацию по используемой версии MySQL на предмет корректного синтаксиса около 'TYPE=InnoDB' на строке 6

Для устранения данной ошибки нужно немного откорректировать файл /usr/local/share/zabbix/server/create/schema/mysql.sql, заменив все подстроки TYPE=InnoDB подстроками ENGINE=InnoDB, и снова выполнить указанные выше команды создания и инициализации таблиц базы данных zabbix. Если на этот раз они отработали без каких-либо ошибок, можно переходить к настройке сервера Zabbix.
По умолчанию конфигурация сервера Zabbix хранится в файле /usr/local/etc/zabbix/zabbix_server.conf, однако, данный файл не создается во время установки. Вместо него предлагается заготовка zabbix_server.conf.sample. Достаточно создать ее копию с именем zabbix_server.conf:

1.cd /usr/local/etc/zabbix
2.cp zabbix_server.conf.sample zabbix_server.conf

Подробное описание всех опций, которые можно задать в файле zabbix_server.conf, имеется в разделе Zabbix сервер официальной документации. На начальном этапе настройки необходимо и достаточно задать в данном файле параметры доступа к базе данных и местонахождение утилиты fping:

1.DBName=zabbix
2.DBUser=zabbix
3.DBPassword=zabbix
4.FpingLocation=/usr/local/sbin/fping

Во избежание возможных вопросов об оптимальном количестве poller'ов (форков процесса zabbix_server, предназначенных для сбора значений элементов данных, полученных агентами Zabbix) и trapper'ов (форков процесса zabbix_server, предназначенных для приема результатов активных проверок, выполняемых агентами Zabbix) отмечу, что оно зависит от количества компьютеров и сетевых устройств (точнее – от количества элементов данных, связанных с компьютерами и сетевыми устройствами), за состоянием которых предполагается наблюдать. Увеличение количества poller'ов и trapper'ов повышает "параллельность" взаимодействия с агентами (производительность), но требует большее количество системных ресурсов.
Для того, чтобы сервер Zabbix запускался при запуске операционной системы, необходимо добавить в файл /etc/rc.conf следующую строку:

1.zabbix_server_enable="YES"

На этом начальная настройка сервера Zabbix завершается. Можно запустить сервер командой /usr/local/etc/rc.d/zabbix_server start, а затем выяснить его состояние командой /usr/local/etc/rc.d/zabbix_server status. Сообщение zabbix_server is running as pid ..., является признаком того, что сервер запустился и работает, а сообщение zabbix_server is not running свидетельствует о возникновении ошибок запуска сервера. Более подробная информация об ошибках выводится в лог /tmp/zabbix_server.log. Например, в моем случае сервер "отказался" запускаться по причине нехватки разделяемой памяти, при этом в его логе появились примерно такие сообщения:

1.... Can't allocate shared memory of size 29361128 [Cannot allocate memory]
2.... Can't allocate shared memory for database cache.

Для устранения этой проблемы пришлось в четыре раза увеличить значение системной переменной kern.ipc.shmall, по умолчанию равной 8192, а также обеспечить автоматическое выполнение аналогичной операции при каждом запуске операционной системы (учтите, что указанная мной цифра в Вашем случае может сильно отличаться как в меньшую, так и в большую стороны, поэтому лучше откорректировать ее экспериментальным путем):

1.sysctl kern.ipc.shmall=32768
2.echo 'kern.ipc.shmall=32768' >> /etc/sysctl.conf

После изменения значения kern.ipc.shmall сервер Zabbix начал запускаться без каких-либо ошибок.
В процессе использования сервера Zabbix я столкнулся еще с одной проблемой. Через некоторое время после запуска / перезапуска сервера Zabbix значения элементов данных переставали обновляться, при этом в /tmp/zabbix_server.log начали появляться примерно такие сообщения:

1.... Item [...] error: Get value from agent failed: ZBX_TCP_READ() failed [Interrupted system call]
2.... ZABBIX Host [...]: another network error, wait for 15 seconds

Для устранения этой ошибки оказалось достаточно увеличить значение параметра Timeout в файле zabbix_server.conf с 3 до 30.

Установка и настройка Веб-интерфеса Zabbix

Установку Веб-интерфеса Zabbix необходимо выполнить из портов:

1.cd /usr/ports/net-mgmt/zabbix-frontend
2.make config install clean

В окне конфигурации нужно выбрать опцию [X] MYSQL Use MySQL backend (именно эта опция выбрана по умолчанию).
После завершения установки следует добавить в файл конфигурации нужного виртуального хоста Веб-сервера Apache следующие строки:

1.Alias /zabbix /usr/local/www/zabbix
2.<Directory /usr/local/www/zabbix>
3.  AllowOverride All
4.  Order deny,allow
5.  Deny from all
6.  Allow from ...
7.  Allow from ...
8.</Directory>

После изменения конфигурации виртуального хоста и перезапуска Веб-сервера Apache командой apachectl graceful нужно открыть в браузере URL http://host.company.com/zabbix (естественно, host.company.com, необходимо заменить на имя выбранного виртуального хоста), при этом Вы перейдете к настройке Веб-интерфейса Zabbix. Процесс настройки состоит из 8 этапов, во время которых придется согласиться с лицензионным соглашением, установить ограничения системных ресурсов интерпретатора PHP, достаточные для работы Веб-интерфейса Zabbix, а также указать параметры доступа к базе данных zabbix и к серверу Zabbix. На предпоследнем этапе будет предложено скачать полученный файл конфигурации zabbix.conf.php и поместить его в папку /usr/local/www/zabbix/conf. Я рекомендую запретить изменение данного файла всем пользователям командой chmod 444 /usr/local/www/zabbix/conf/zabbix.conf.php. Более подробное описание всех этапов настройки Веб-интерфейса Zabbix, включая соответствующие скриншоты, имеется в разделе Веб-интерфейс Zabbix официальной документации.

Установка агента Zabbix на компьютер с FreeBSD

Агент Zabbix для операционных систем семейства Linux/Unix может работать как standalone-демон или как приложение, запускаемое суперсервером inetd. В данном разделе рассмотрена настройка агента-демона (официальная документация рекомендует по возможности использовать именно его).
Установку агента Zabbix необходимо выполнить из портов:

1.cd /usr/ports/net-mgmt/zabbix-agent
2.make config install clean

Если Вы, как и я, не используете протокол IPv6, снимите отметку с опции [ ] IPV6 Support for IPv6 в окне конфигурации.
По умолчанию конфигурация агента Zabbix хранится в файле /usr/local/etc/zabbix/zabbix_agentd.conf, однако, данный файл не создается во время установки. Вместо него предлагается заготовка zabbix_agentd.conf.sample. Достаточно создать ее копию с именем zabbix_agentd.conf:

1.cd /usr/local/etc/zabbix
2.cp zabbix_agentd.conf.sample zabbix_agentd.conf

Подробное описание всех опций, которые можно задать в файле zabbix_agentd.conf, имеется в разделе Zabbix агент (UNIX, Standalone демон) официальной документации. На начальном этапе настройки необходимо и достаточно задать адрес сервера Zabbix и имя компьютера, на который устанавливается агент Zabbix (обратите внимание, что в случае агента Zabbix под именем компьютера понимается не доменное имя, а произвольное уникальное имя, под которым текущий компьютер будет добавлен в список наблюдаемых узлов, по умолчанию - Zabbix Server):

1.Server=127.0.0.1
2.Hostname=server.company.com

Для того, чтобы агент Zabbix запускался при запуске операционной системы, необходимо добавить в файл /etc/rc.conf следующую строку:

1.zabbix_agentd_enable="YES"

На этом начальная настройка агента Zabbix завершается. Запуск и проверка состояния агента выполняются также, как и в случае с сервером, только с помощью скрипта /usr/local/etc/rc.d/zabbix_agentd. Подробная информация о состоянии агента выводится в лог /tmp/zabbix_agentd.log.

Установка агента Zabbix на компьютер с Windows

Программа установки агента Zabbix для всех поддерживаемых версий операционных систем семейства Windows - Windows (All), доступна для скачивания в разделе DOWNLOAD официального сайта Zabbix. Предлагаемый ZIP-архив zabbix_agents_1.8.2.win.zip содержит папки win32 и win64 (для 32 и 64 разрядных версий Windows, соответственно), в каждой из которых содержится интересующий нас файл zabbix_agentd.exe.
По умолчанию конфигурация агента Zabbix хранится в файле C:\zabbix_server.conf. Подробное описание всех опций, которые можно задать этом файле, имеется в разделе Zabbix агент (Windows) официальной документации. Минимальный вариант может состоять из IP-адреса сервера Zabbix:

1.Server=<IP-адрес сервера Zabbix>

После создания файла конфигурации необходимо поместить файл zabbix_agentd.exe в выбранную папку (в моем случае C:\), а затем выполнить команды установки и запуска службы Zabbix Agent (в дальнейшем служба будет автоматически запускаться при запуске операционной системы):

1.zabbix_agentd.exe --install
2.zabbix_agentd.exe --start

На этом настройка агента Zabbix завершается. Для управления агентом (службой Zabbix Agent) можно использовать любые стандартные инструменты Windows. Подробная информация о работе агента выводится в System Event Log (все сообщения аналогичны рассмотренным выше).
Учтите, что в случае использования Windows NT 4 Вам потребуются агент Zabbix версии 1.4.4 и дополнительная библиотека pdh.dll.

Настройка профиля пользователя

По умолчанию для входа в Веб-интерфейс Zabbix необходимо использовать Login name (имя пользователя) admin и Password (пароль) zabbix. Сразу после первого входа следует настроить профиль пользователя, перейдя по ссылке Profile в правом верхнем углу страницы. На открывшейся странице USER PROFILE : Zabbix Administrator необходимо нажать кнопку Password и задать новый пароль, а также изменить Language (язык Веб-интерфейса) на Russian (RU) (изменение языка произойдет при следующем входе в Веб-интерфейс). Кроме этого на время настройки я рекомендую отключить Auto-logout (автозавершение сеанса при отстутсвии активности пользователя в течение заданного в соседнем поле интервала времени), а также увеличить Rows per page (количество строк, отображаемых на одной странице) с 50 до 150:

USER PROFILE : Zabbix Administrator

Настройка отправки уведомлений по Email

Zabbix позволяет уведомлять пользователей о событиях (например, об изменении состояния триггеров) посредством отправки сообщений по Email, через Jabber и с помощью GSM-модема, а также путем запуска произвольных скриптов. В связи с тем, что я редко пользуюсь Jabber'ом, и у меня под рукой нет GSM-модема, я расскажу только о настройке отправки уведомлений по Email, которая включает в себя три этапа:

  • настройку средства передачи Email;
  • привязку средства передачи Email к профилю пользователя;
  • создание действия, обеспечивающего отправку уведомлений.

Для настройки средства передачи Email необходимо зайти в раздел Администрирование » Типы средств передачи, а затем перейти по ссылке Email в столбце Описание. На открывшейся станице НАСТРОЙКИ СРЕДСТВ ПЕРЕДАЧИ следует задать SMTP сервер, SMTP приветствие (приветствие, которое будет использоваться в SMTP-команде HELO) и SMTP адрес электронной почты (почтовый адрес отправителя сообщений):

НАСТРОЙКИ СРЕДСТВ ПЕРЕДАЧИ

Для выполнения привязки средства передачи Email к профилю пользователя необходимо перейти на страницу ПРОФИЛЬ ПОЛЬЗОВАТЕЛЯ : Zabbix Administrator и нажать кнопку Добавить под списком Средства Передачи. В открывшемся окне Средство передачи нужно задать почтовый адрес получателя сообщений в поле Отправлять:

НАСТРОЙКИ СРЕДСТВ ПЕРЕДАЧИ

Для создания действия, обеспечивающего отправку уведомлений об изменении состояния триггеров, следует зайти в раздел Настройка » Действия, выбрать в выпадающем списке Событие значение Триггеры и нажать кнопку Создать действие. На открывшейся странице НАСТРОЙКА ДЕЙСТВИЙ нужно ввести Имя (произвольное название действия), включить Сообщения восстановления (уведомления о восстановлении нормального значения проверяемого параметра) и нажать кнопку Новый в разделе Условия действия. В открывшейся форме Изменить операцию необходимо выбрать в выпадающем списке Отправить сообщение значение Одному пользователю, нажать кнопку Выбрать и щелкнуть по ссылке Admin в столбце Алиас открывшегося окна Пользователи (после закрытия данного окна произойдет автоматическая подстановка параметров средства передачи в поле Медиа пользователя). После внесения всех изменений страница НАСТРОЙКА ДЕЙСТВИЙ должна выглядеть примерно так:

НАСТРОЙКА ДЕЙСТВИЙ

Ручное добавление узлов сети

Я предлагаю рассмотреть ручное добавление узлов сети на примере Zabbix Server (компьютера с серверной частью и агентом Zabbix). По умолчанию он уже имеется в списке наблюдаемых улов, однако, с ним соединен шаблон Template_Linux + Zabbix не ведет наблюдение за его состоянием. Для изменения конфигурации узла сети Zabbix Server нужно зайти в раздел Настройка » Узлы сети и перейти по ссылке Zabbix Server в столбце Имя. На открывшейся странице КОНФИГУРАЦИЯ УЗЛОВ СЕТИ следует изменить Имя (в случае компьютера с Linux/Unix под именем понимается значение параметра Hostname, заданное в файле zabbix_agentd.conf, а в случае компьютера с Windows - имя компьютера в сети Microsoft) и выбрать в выпадающем списке Состояние значение Наблюдается. Далее необходимо отметить шаблон Template_Linux и нажать кнопку Отсоединить и очистить, а затем нажать кнопку Добавить, в открывшемся окне ШАБЛОНЫ выбрать в выпадающем списке Группы значение Templates, отметить шаблон Template_FreeBSD и нажать кнопку Выбрать. В результате будет получена примерно такая конфигурация:

КОНФИГУРАЦИЯ УЗЛОВ СЕТИ

Через несколько минут можно зайти в раздел Мониторинг » Последние данные, выбрать в выпадающих списках Группа и Узел сети значения Все и убедиться, что Zabbix начал следить за состоянием добавленного узла сети.

Автоматическое добавление узлов сети

Благодаря встроенному механизму обнаружения, Zabbix позволяет организовать автоматическое добавление и удаление узлов сети. В этом разделе рассмотрено добавление и удаление рабочих станций с Windows, на которые установлен агент Zabbix. Для того, чтобы сервер Zabbix каждые полчаса сканировал заданный диапазон IP-адресов на наличие таких рабочих станций, добавлял найденные рабочие станции в группу узлов сети Windows Workstations и присоединял к ним шаблон Template_Windows, а также удалял из группы узлов сети Windows Workstations рабочие станции, которые не проявляют "признаки жизни" в течении предопределенного интервала времени, необходимо создать:

  • правило обнаружения;
  • действие, обеспечивающее добавление узлов сети;
  • действие, обеспечивающее удаление узлов сети.

По умолчанию правило Local network уже имеется в списке правил обнаружения, однако, во-первых, его параметры могут не соответствовать Вашим требованиям, во-вторых, оно находится в деактивированном состоянии. Для изменения конфигурации правила обнаружения Local network следует зайти в раздел Настройка » Обнаружение и перейти по ссылке Local network в столбце Имя. На открывшейся странице НАСТРОЙКИ ОБНАРУЖЕНИЯ необходимо задать в поле Диапазон IP-адресов значение, соответствующее конфигурации корпоративной сети, в поле Задержка (seconds) - частоту выполнения правила обнаружения в секундах, а также выбрать в выпадающем списке Состояние значение Активен:

НАСТРОЙКИ ОБНАРУЖЕНИЯ

Для создания действия, обеспечивающего добавление узлов сети, необходимо зайти в раздел Настройка » Действия, выбрать в выпадающем списке Событие значение Обнаружение и нажать кнопку Создать действие. На открывшейся странице НАСТРОЙКА ДЕЙСТВИЙ следует задать в поле Имя произвольное имя действия, удалить текст, содержащийся в полях Тема по умолчанию и Сообщение по умолчанию, а также задать условия действия и выполняемые операции. Для добавления условий нужно нажимать кнопку Новый, задавать в полях ввода формы Новая операция соответствующие значения и нажимать кнопку Добавить. В рассматриваемом случае достаточно одновременного выполнения трех условий - Тип сервиса = Zabbix агент, Состояние обнаружения = Up и Полученное значение содержит Windows. Убедитесь, что в поле Тип калькуляции выбрано значение AND/OR или AND. Для добавления операций необходимо нажимать кнопку Новый, задавать в полях формы Изменить операцию соответствующие значения и нажимать кнопку Добавить. В рассматриваемом случае достаточно двух операций - Добавить в группу "Windows Workstations" и Соединить с шаблоном "Template_Windows". После внесения всех изменений страница НАСТРОЙКА ДЕЙСТВИЙ должна выглядеть примерно так:

НАСТРОЙКА ДЕЙСТВИЙ

Процедура создания действия, обеспечивающего удаления узлов сети, полностью аналогична рассмотренной. Естественно, придется задать другие, имя, условия и операцию. В этот раз достаточно одновременного выполнения трех условий: Тип сервиса = Zabbix агент, Состояние обнаружения = Down и Доступен/Недоступен ≥ 604800 (604800 секунд = 7 суток), а также единственной операции Удалить узел сети:

НАСТРОЙКА ДЕЙСТВИЙ

Через час-другой можно зайти в раздел Мониторинг » Dashboard, перейти к таблице Состояние обнаружения и убедиться, что Zabbix приступил к автоматическому добавлению узлов сети. Количество добавленных узлов сети содержится в столбце Up, а ссылка Local network в столбце Правило обнаружения позволяет получить более подробную информацию о состоянии всех обнаруженных узлов сети.

Дополнительная настройка элементов данных

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

  • деактивацию "лишних" элементов данных;
  • создание отсутствующих элементов данных.

Я считаю "лишними" элементы данных, которые не поддерживаются, не учитывают аппаратнно-программную конфигурацию или вносят избыточность и соответствующую ей потерю производительности. В случае шаблона Template_FreeBSD это: во-первых, элементы данных, имеющие Состояние Не поддерживается, во-вторых, элементы данных, проверяющие доступность отсутствующих или "висящих" на других IP-адресах и/или портах сетевых служб, в-третьих, элементы данных, связанные с файловыми системами /home и /opt (в моем случае первая является частью /usr, вторая - частью /), в-четвертых, элементы данных, определяющие долю занятого места на дисках в процентах, а также количество имеющихся, занятых и свободных inodes и Мегабайт на дисках (мне хватает доли свободного места в процентах). Для деактивации ненужных элементов данных необходимо зайти в раздел Настройка » Узлы сети и перейти по ссылке Элементы данных в столбце Элементы данных. Для отбора необходимых элементов данных лучше воспользоваться фильтром, использование которого заметно упрощает работу. Например, для отображения только тех элементов данных, которые связаны с файловой системой /opt, достаточно ввести в поле Ключ содержит значение /opt и щелкнуть по ссылке Фильтр. После применения фильтра можно отметить элементы данных, выбрать в выпадающем списке в левом нижнем углу страницы значение Отключить и нажать находящуюся рядом кнопку Перейти. Процедура деактивации оставшихся "излишков" полностью аналогична рассмотренной.

После деактивации "лишних" можно перейти к созданию отсутствующих элементов данных. В случае рассматриваемого шаблона Template_FreeBSD мне не хватило: во-первых, элементов данных, измеряющих трафик через интерфейсы bge0, bge1 и tun0, во-вторых, элементов данных, которые проверяют доступность сетевых сервисов, "висящих" на IP-адресах, отличных от 127.0.0.1, в-третьих, элемента данных, проверяющего существование процесса atslogd, который собирает информацию о звонках с АТС. Создание элементов данных выполняется на той же странице, что и деактивация. Вы можете создать отсутствующие элементы данных "с нуля", однако, гораздо проще воспользоваться возможностью клонирования существующих элементов данных. Например, элемент данных Outgoing traffic on interface bge0 может быть создан посредством клонирования элемента данных Template_FreeBSD: Outgoing traffic on interface lo. Для выполнения этой операции нужно зайти в раздел Настройка » Узлы сети и перейти по ссылке Элементы данных в столбце Элементы данных. На открывшейся странице ЭЛЕМЕНТЫ ДАННЫХ необходимо перейти по ссылке Template_FreeBSD: Outgoing traffic on interface lo в столбце Описание, а затем на открывшейся странице НАСТРОЙКА ЭЛЕМЕНТОВ ДАННЫХ нажать кнопку Клонировать. После этого будет разрешено редактирование параметров элемента данных. В рассматриваемом случае достаточно изменить значение в поле Ключ с net.if.out[lo,bytes] на net.if.out[bge0,bytes], а также выбрать в выпадающем списке Состояние значение Активен:

НАСТРОЙКА ЭЛЕМЕНТОВ ДАННЫХ

Процедура создания остальных элементов данных аналогична рассмотренной: например, если Вы хотите контролировать доступность FTP-сервера, слушающего IP-адрес 192.168.0.1, создайте клон элемента данных Template_FreeBSD: FTP server is running, изменив ключ c net.tcp.service[ftp] на net.tcp.service[ftp,192.168.0.1], если Вас интересует количество процессов atslogd, создайте клон элемента данных Template_FreeBSD: Number of running processes mysqld, изменив ключ с proc.num[mysqld] на proc.num[atslogd], и т.д. и т.п.

Дополнительная настройка триггеров

При использовании стандартных шаблонов триггеры, как и элементы данных, нуждаются в дополнительной настройке, которая выполняется по описанным выше принципам и состоит из отключения всего "лишнего" и создания всего, чего не хватает. Для перехода к настройке триггеров следует зайти в раздел Настройка » Узлы сети и перейти по ссылке Триггеры в столбце Триггеры. Триггеры, с которыми связаны деактивированные элементы данных, можно отличить по использованию красного цвета для отображения выражения в столбце Выражение (выражения для триггеров, связанных с активными элементами данных, отображаются зеленым цветом). Как и в случае элементов данных, для создания отсутствующих триггеров можно использовать клонирование, только в этот раз придется менять не ключ, а Выражение.
Для рассмотренного выше примера, описывающего элемент данных с ключом net.tcp.service[ftp,192.168.0.1], предназначенный для контроля доступности FTP-сервера, слушающего IP-адрес 192.168.0.1, подойдет клон триггера Template_FreeBSD: FTP server is down on server.company.com, при этом Выражение придется изменить на {server.company.com:net.tcp.service[ftp,192.168.0.1].last(0)}=0:

НАСТРОЙКА ТРИГГЕРОВ

Процедура создания остальных триггеров аналогична рассмотренной: для примера, описывающего элемент данных с ключом proc.num[atslogd], предназначенный для учета количества процессов atslogd, подойдет клон триггера Template_FreeBSD: Mysql is not running on server.company.com с выражением {server.company.com:proc.num[atslogd].last(0)}<1 и т.д. и т.п.

Создание графиков

Графики Zabbix могут отображать изменение любого числа значений любых элементов данных с течением времени. Например, для создания графика, отображающего входящий и исходящий трафик через интерфейс bge0, необходимо зайти в раздел Настройка » Узлы сети и перейти по ссылке Графики в столбце Графики. На открывшейся странице ГРАФИКИ следует нажать кнопку Создать график. На открывшейся странице НАСТРОЙКА ГРАФИКОВ нужно ввести Имя (произвольное название графика) и нажать кнопку Добавить. В открывшемся окне Элемент графика следует нажать кнопку Выбрать, в открывшемся окне ЭЛЕМЕНТЫ ДАННЫХ щелкнуть по ссылке Incoming traffic on interface bge0. После закрытия окна ЭЛЕМЕНТЫ ДАННЫХ необходимо задать в поле Цвет шестнадцатеричный код цвета в формате RRGGBB или щелкнуть по индикатору цвета справа и выбрать цвет в открывшемся окне (также для украшения графиков я предпочитаю выбирать в выпадающем списке Способ черчения значение Градиентная Линия). После добавления элемента графика Incoming traffic on interface bge0 нужно аналогичным способом добавить элемент графика Outgoing traffic on interface bge0. В результате внесения всех изменений страница НАСТРОЙКА ГРАФИКОВ должна выглядеть примерно так:

НАСТРОЙКА ГРАФИКОВ

Созданный график можно увидеть в разделе Мониторинг » Графики.

Заключение

Я надеюсь, что рекомендации, которые содержатся в данной статье, помогут Вам установить и настроить все необходимые компоненты системы мониторинга Zabbix, а также разобраться с добавлением узлов сети и настройкой связанных с ними элементов данных, триггеров и графиков. Позже я обязательно расскажу о других аспектах использования системы мониторинга Zabbix, поэтому не забудьте подписаться на обновления. Вы можете принять участие в обсуждении этой статьи на форуме OpenNET. Мне интересны любые замечания, комментарии и рекомендации.