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 необходимо выполнить из портов:

cd /usr/ports/net-mgmt/zabbix-server
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, введя пароль и выполнив следующие команды:

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

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

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

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

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:

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

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

DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
FpingLocation=/usr/local/sbin/fping

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

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. Например, в моем случае сервер «отказался» запускаться по причине нехватки разделяемой памяти, при этом в его логе появились примерно такие сообщения:

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

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

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

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

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

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

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

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

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

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

Alias /zabbix /usr/local/www/zabbix
<Directory /usr/local/www/zabbix>
  AllowOverride All
  Order deny,allow
  Deny from all
  Allow from ...
  Allow from ...
</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 необходимо выполнить из портов:

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

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

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

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

Server=127.0.0.1
Hostname=server.company.com

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

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_agentd.conf. Подробное описание всех опций, которые можно задать этом файле, имеется в разделе Zabbix агент (Windows) официальной документации. Минимальный вариант может состоять из IP-адреса сервера Zabbix:

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

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

zabbix_agentd.exe --install
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. Мне интересны любые замечания, комментарии и рекомендации.

Понравилась статья?

 Подпишитесь на RSS или почтовую рассылку

 Присоединиться в Twitter, Facebook или Google+

 Поделитесь ссылкой в социальной сети или блоге

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

  1. Сергей молодец. Ещё осталось написать, как ставить vmx applaince для большей информативности народа. Программы с апплайнсом больше народа поставит себе программу на esxi, не зная ничего про линукс 😉

  2. Пасип…

    А вот если надо следить за созданием файла с динамическим именем на вин32 машине (в качестве имени файла будет использоваться текущая дата, что-то вроде 201104016.dat), что в таком случае необходимо предпринять?

    • У меня не возникало такого вопроса. Думаю, что можно положить на машину с Windows bat-файл, который анализируюет наличие интересующего Вас файла, и запускать его с помощью агента Zabbix.

      • Ок, спасибо, я так понимаю, скрипт должен будет вернуть 1 в случае успеха и 0 в случае неудачи?
        Ведь надо как-то сигнализировать агенту.

        • Судя по документации zabbix_agentd для Windows, нужно добавить в файл конфигурации агента опцию UserParameter, позволяющую связать некоторый ключ с некоторой командой (например, вашим скриптом), а потом анализировать на стороне сервера текст, выводимый этой командой. Думаю, что дальше все понятно 😉

  3. Здравствуйте. У меня такая ситуация — есть сеть, свитчи cisco и 3com . Нужно мониторить — что пингуется, что с потерями пингуется, а что упало. Хотел было ставить zabbix, но у меня нет возможности конфигурировать свитчи… Чем посоветуете мониторить сеть, если нет возможности настраивать snmp и еще что-то на свитчах? Ответ если можно, на почту или в коммент на сайт. Спасибо.

    • Zabbix позволяет запускать любые внешние команды, в том числе и ping, а затем анализировать их вывод. Вот только нужна ли для Вашей задачи сложная система мониторинга? Может быть проще написать shell-скрипт, который будет уведомлять Вас о падениях оборудования и записывать количество/долю потерянных пакетов в простейшую базу данных?

  4. Нужно нарисовать еще и карту сети, что бы наглядно смотреть какой свитч упал, какой нет, ну и т.д.
    Вроде как nagios умеет карту рисовать, вот еще zabbix помечу себе. Главное машину и порт в свитче выбить под фрю)

    • Карту сети отлично рисует Lanstate. Ее главное преимущество, в отличие от других систем мониторинга, как раз в построении карты сети (причем при наличии управляемых коммутаторов это делается автоматически) и в мониторинге сети. Если где-то что-то упало прога не только посылает смс на телефон или еще как-то оповещает админа, но и на карте значки подкрашиваются красным цветом — все наглядно и удобно. Ну а настройка мониторинга не занимает много времени.

  5. Привет. Если можно, «подтолкните» Дошел до :

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

    Alias /zabbix /usr/local/www/zabbix
    AllowOverride All
    Order deny,allow
    Deny from all
    Allow from ...
    Allow from ...

    После изменения конфигурации виртуального хоста и перезапуска Веб-сервера Apache командой apachectl graceful нужно открыть в браузере URL _http://host.company.com/zabbix (естественно, host.company.com, необходимо заменить на имя выбранного виртуального хоста), при этом Вы перейдете к настройке Веб-интерфейса Zabbix.


    my# cd /usr/local/www/
    my# ls
    apache22 zabbix


    ifconfig_em0="inet 192.168.1.62 netmask 255.255.255.0"
    defaultrouter="192.168.1.4"
    hostname="my.host"
    apache22_enable="YES"
    ftpd_enable="YES"
    ftpd_flags=""
    inetd_enable="YES"
    sshd_enable="YES"
    mysql_enable="YES"
    zabbix_server_enable="YES"

    Какую еще информацию я млгу дать, что б мне смогли почочь.

    • Если еще раз будете цитировать статью в таких объемах, забаню.

      Если можно, «подтолкните». Дошел до:

      Как это понимать? Идите дальше или пишите, что не получается.


      my# cd /usr/local/www/
      my# ls
      apache22 zabbix

      Это зачем сюда вставлено?

      ifconfig_em0="inet 192.168.1.62 netmask 255.255.255.0"
      defaultrouter="192.168.1.4"
      hostname="my.host"
      apache22_enable="YES"
      ftpd_enable="YES"
      ftpd_flags=""
      inetd_enable="YES"
      sshd_enable="YES"
      mysql_enable="YES"
      zabbix_server_enable="YES"

      А это?

      P.S.: Вопрос не прозвучал 😯

  6. Если еще раз будете цитировать статью в таких объемах, забаню

    12 строк 🙁
    А то что не поставил «?», так я заметил, но возможности редактировать вроде нет. Вообщем, сорри. И еще раз прошу прощение на перед. FreeBSD поставил только неделю назад. Счас только начинаю разбираться. Вот по вашей статье (инструкции) дошел до момента установки Веб-интерфейса. До єтого момента, все описано очень подробно. А вот на этом моменте — ступор. Добавил в httpd

    #
    AllowOverride None
    Order deny,allow
    Deny from all
    Alias /zabbix /usr/local/www/zabbix
    AllowOverride All
    Order deny,allow
    Deny from all
    Allow from ...
    Allow from ...
    #

    А дальше что? Мне надо создать Virtual hosts?
    На данный момент по адресу 192.168.1.62 попадаю на дефолтнуюю страницу <>, 192.168.1.62/zabbix — Not Found.
    Если не тяжело — подскажите.

    • Если не тяжело – подскажите.

      Не тяжело. Разберитесь с FreeBSD и Apache, а затем беритесь за настройку Zabbix. Это единственный верный и бесплатный путь.

    • После прописывания Alias‘a в httpd.conf, при наличии папки zabbix в папке www должно работать.
      Возможно не верно указаны разрешения типа Allow from 192.168.1.0
      спасибо, статья хорошая, а настройки фри надо искать в других статьях 🙂

      • Спасибо. Добавлю насчет настроек Фри — никто не отменял handbook. Сам периодически туда заглядываю и нахожу ответы на многие вопросы.

  7. Здравствуйте! Спасибо за толковую статью.
    У меня возник вот такой вот вопрос: в системе есть куча элементов относящихся к одному и тому же ресурсу, например к дисковому разделу, или сетевому интерфейсу. Так вот, а есть ли способ создать одним махом все элементы для определённого ресурса? Ну, например, добавил новый винт, дал команду и создались элементы «процент заполнения», «объём», «свободное место в кб.» и так далее.

    • Доброй ночи! Спасибо за внимание. Если говорить о компонентах одного компьютера, то можно быстренько скопировать существующие элементы данных и триггеры, а затем подкорректировать их параметры (не думаю, что Вы часто добавляете винты сразу в несколько компьютеров), если говорить о целых компьютерах, то имеет смысл посмотреть в сторону шаблонов (добавление однотипных компьютеров/сетевых устройств является вполне стандартной задачей).

      • Речь о компонентах одного компьютера. Меняться то они, конечно, часто не будут, но вот начальное конфигурирование напрягает, когда нужно вбить по 5 параметров для даже пяти файловых систем — очень уж много кликов мышью надо. Было бы это в конфигах — можно было бы просто скопипастить.. Вообще, надо покопать шаблоны — может решат вопрос.

  8. Здравствуйте! Спасибо огромное за статью. Раньше разворачивал на фряхе, работало как часы. Теперь решил освоить Debian, установку делал из исходников, все установилось без проблем, НО появилась проблема, ошибка:
    Get value from agent failed: ZBX_TCP_READ() failed [Connection reset by peer]
    Подскажите пожалуйста в чем может быть проблема. Из той же подсети, где сервер, такого не наблюдаю, из других же соединенных маршрутизаторами агент не хочет соединяться с сервером. На маршрутизаторах все порты открыты. Два дня бьюсь, силы на исходе 🙂

    • К сожалению, я не знаком с Debian’ом, поэтому не могу сказать ничего конкретного. Мне кажется, нужно внимательнее смотреть в сторону маршрутизации и файрволов…

  9. Наконец победил! Делюсь 🙂

    Сети соединены тунелем 192.168.10.1-192.168.10.2, и получалось, что агент получал ответ не от моего сервера zabbix, а от ипа тунеля 192.168.10.2. В логах писал ошибку:

    11876:20111202:131214.162 Listener error: Connection from [192.168.10.2] rejected. Allowed server is [192.168.2.9]

    Решил путем изменения zabbix_agentd.conf, добавив в строку SERVER=… ипа тунеля.
    было SERVER=192.168.2.9 стало SERVER=192.168.2.9,192.168.10.2

  10. Подскажите пожалуйста, добавляю элемент данных. Тип SNMP v.2 агент. По OID получаю текстовое значение. Ключ указал SystemName.
    Добавляю узел сети на карту — скажите — что написать в подписи, чтобы на карте вывести данное значение?
    Пробовал так — {Template_Test:SystemName.last(0)} — не выводит.

    • Вопрос слишком конкретный (требуется настройка по месту). Поищите ответ на официальном форуме Zabbix.

  11. Подскажите! В Веб-интерфейсе показывает Zabbix сервер запущен: Нет, хотя сам zabbix status: /usr/local/etc/rc.d/zabbix_server status:

    zabbix_server is running as pid 16427 16428 16429 16430 16431 16432 16433 16434 16435 16436 16437 16438 16439 16440 16441 16442 16443 16444 16445 16446 16447 16448 16449 16450 16451 16452 16453.

    В чем проблема, и куда копать?

    • В настройках Веб-интерфейса Zabbix. Поставьте в настройках PHP error_reporting = E_ALL и смотрите лог ошибок Apache. Там будет написано кому и чего не хватает.

  12. поставил error_reportinf, а в Apache нет ошибок:

    [Mon Feb 06 14:33:33 2012] [notice] caught SIGTERM, shutting down
    [Mon Feb 06 14:33:34 2012] [notice] Digest: generating secret for digest authentication ...
    [Mon Feb 06 14:33:34 2012] [notice] Digest: done
    [Mon Feb 06 14:33:35 2012] [notice] Apache/2.2.21 (FreeBSD) DAV/2 PHP/5.2.17 with Suhosin-Patch configured -- resuming normal operations

    • Прочитайте мой ответ, сделайте, что, что я посоветовал, перезапустите Apache и смотрите лог ошибок. Не нужно изобретать велосипед, достаточно быть немного внимательнее 😉

  13. Четко,внятно,по существу. Отличная статья. Спасибо!
    P.S. С zabbix-ом в свое время разбирался самостоятельно. Такой толковой статьи очень не хватало.

  14. Спасибо! Статья действительно отличная. Еще раз спасибо.
    СПАМ удален, уж извините 😉

  15. Спасибо огромное Сегрей за статью, очень помогла в установке Zabbix-a.
    У меня (да и не только я надеюсь), после установки возник единственный вопрос: почему версия самого Zabbix-a не является последней на момент установки. Покопавшись и разобравшись в особенностях FreeBSD я понял что к чему.
    Так вот, единственным выходом, а именно обновления до последней актуальной версии Zabbix-a, является обновление его из исходников, благо предоставленных на сайте FreeBSD.
    Сергей, может в одной из следующих своих публикаций Вы осветите вопрос посвященный обновлению Zabbix-a и его компонентов до актуальной версии, после установки его из портов. Надеюсь данная публикация очень поможет разобраться новичкам таким же как я. Заранее благодарен.

    • На здоровье. Времени катастрофически не хватает. Дойдут руки, обязательно напишу. Спасибо, что читаете!

  16. спасибо!
    но есть пара вопросов:
    1. мне надо мониторить загрузку сети на виндовых серверах..варианты: ключ net.if.total, что-то из Network interface discovery, а что именно — не знаю…или можно ли включить на них snmp?
    2. мне надо мониторить статус службы http на серве…делаю ключ service_state[W3SVC], а он сразу пишет, что служба down..что может быть?

    • На здоровье.
      1. На мой взгляд, удобнее всего мониторить счетчики производительности Windows, SNMP больше для железок.
      2. Здесь может быть масса вариантов: от простейшего подключения к 80 (или какой он у Вас) порту, до Веб-мониторинга (проверяет содержание отдаваемого контента).

      • По первому вопросу — добавил элемент со счётчиком произв-ти, пишет: Агент не поддерживает. В логах агента на сервере: "PerfCounter 'PC\\Сетевой интерфейс\Всего байт/с' FAILED: invalid format". Ключ прописал так: perf_counter["\510\508",10] эти числа подглядел в реестре, как советуют на сайте заббикса. Хелп!

        • Я точно знаю, что Zabbix поддерживает Windows Performance Counters. FAILED: invalid format обозначает, что Вы некорректно описали счетчик. В свое время у меня не возникало проблем с добавлением счетчиков Windows, кажется, для этого хватило официального руководства Zabbix. Извращений, типа 510508, точно не было 😕

  17. Серега! У тебя один из лучших сайтов в рунете! Из тех, которые я видел ) Особенно уважаю тебя за то, что ты отвечаешь всем на вопросы и не бросаешь людей на произвол судьбы ) Спасибо за труд!

  18. Сергей, спасибо за статью. Нашел ошибку:

    По умолчанию конфигурация агента Zabbix хранится в файле C:\zabbix_server.conf.

    Так я получал ошибку:

    C:\>zabbix_agentd.exe --install
    zabbix_agentd.exe [2412]: cannot open config file [C:\zabbix_agentd.conf]: [2] No such file or directory

    Исправлять — как сказано в ошибке 🙂

  19. Здравствуйте, подскажите пожалуйста, в последнем пункте, когда нужно открыть _http://адрес/zabbix у меня открывается просто список php файлов в этом каталоге:

    Index of /zabbix
    Parent Directory
    acknow.php
    actionconf.php
    api_jsonrpc.php
    applications.php
    audio/
    auditacts.php
    auditlogs.php
    authentication.php

    и т.д. Что сделано не так? Думаю в сторону php, но не уверен.

    • Попробовал выставить DirectoryIndex index.php теперь по запросу …/zabbix открывается текст php файла. =(

      • Решил вопрос.
        AddType application/x-httpd-php .php .htm .html
        Еще раз спасибо за подробную инструкцию, извините что нафлудил, может кому-то поможет.

  20. проблема такая что узлы сети где установлен заббикс агент не мониторятся. в веб интерфейсе заббикса Get value from agent failed: bind() failed: [49] Can’t assign requested address такая ошибка относительно не работающих узлов

    • Подобные коменты убивают желание что-то еще писать. Ни здрасьте, ни начал/концов предложения, ни знаков препинания, ни тегов. И сообщение об ошибке более чем понятное 🙁

      • да, нормально… Павел, а хосты пингуются? маршруты к удаленным машинам есть?
        в триггерах верно указанны адреса? какие-то еще есть логи ошибок?

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

        Павел: вы еще проверьте фаерволлы (антивирусы) на проблемных машинах. Также проверьте, пропускает ли ваш корпоративный фаервол пакеты заббикс-агента.

        • Сергей, не расстраивайтесь 🙂 Вы вправе не отвечать на такие комментарии 🙂

          Да ну. Были люди как люди, а сейчас? Кажется, так таксист из Брата-2 рассуждал 🙂

          Статья отличная, у многих получилось по ней.

          Спасибо 🙂

  21. Думаю проблема с днс, попробуйте проверку узла проводить не по имени днс, а по ip (это в настройках узла).

  22. Всем привет. Сделал все по инструкции, ставлю Zabbix первый раз и застопорился на 7 шаге начальной конфигурации. Пишет Configuration file: fail. Подскажите, что я не так сделал.

  23. Доброго времени суток, Сергей я все делал как тут сказано, но у меня наверху экрана выскочила сообщение с красным ыоном что сервер не запущен, в чем может быть проблема?
    У меня Free 8.1 поставил Zabbix 2.
    Помогите если есть время.

    • Добрый вечер! Я не просто так пишу версии софта и даты статей. С Zabbix 2 дел не имел, когда дойдут руки (вернее появится сервер, на котором, кроме всего прочего, будет стоять Zabbix 2, не знаю, пока все только на словах). Могу дать стандартный избитый совет — повыше детальность логов и собственное внимание, и все получится 😉

  24. Здравствуйте.
    Установил Zabbix сервер и агент на один сервер FreeBSD 9.1
    Все работало на протяжении двух месяцев, а потом резко поломалось 🙁 Причину поломки не нашел.
    Когда захожу в zabbix он выдает такую ошибку:

    ERROR: Zabbix has received an incorrect request.
    Operation cannot be performed due to unauthorized request.
    Operation cannot be performed due to unauthorized request.
    Operation cannot be performed due to unauthorized request.

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

  25. Здравствуйте.
    Скачал _http://www.zabbix.com/downloads/2.2.0/zabbix_agents_2.2.0.freebsd8_2.i386.tar.gz
    Распаковал, но в архиве нет файлов schema.sql, images.sql and data.sql которые нужны согласно вот этому мануалу.
    Попробовал поставить zabbix с помощью sysinstall, но *.sql там нет. Как подготовить db если нет *.sql? FreeBSD 9.2-RELEASE.

        • Как они могут быть не нужны? На офф. сайте написано:

          Файлы schema.sql, images.sql и data.sql можно найти в поставке исходных кодов Zabbix, подпапка database. Если Zabbix был установлен из распространяемых пакетов, обратитесь к документации распространителя.

          У меня сейчас нет Zabbix’а, как только будет, отвечу точнее…

          • При вызове:
            cat schema.sql data.sql images.sql | mysql -uroot -pпароль zabbix
            вылетает ошибка:
            ERROR 1045 (28000): Access denied for user 'zabbix'@'localhost' (using password YES)

              • Я перепутал. Я хотел сказать, что я и root указывал и zabbix. Пароль у них одинаковый. Рано конечно браться с такими знаниями, но хочу поставить.
                Сейчас думаю удалить юзера zabbix, группу zabbix, дропнуть базу данных zabbix, и попробовать заново.

  26. Подскажите пожалуйста, а на сам сервер zabbix нужно устанавливать агент или это лишнее?

    • Агент нужно устанавливать на все компьютеры, которые Вы собираетесь мониторить. Если нужно мониторить физический/виртуальный сервер, на котором работает сервер Zabbix, на него также нужно установить агент.

  27. Спасибо. Кстати, статью уже нужно апдейтить, так как у меня, к примеру, каталог называется не zabbix, а zabbix2, файлы .sql в моем случае были schema.sql, data.sql, images.sql.
    Еще хорошо бы для таких чайников как я написать, что для mysql аккаунт — root, пароль пустой.
    Я уже почти закончил установку и настройку. Проблема в том, что у меня стоит и apache24 и apache22. Прописал Alias в /usr/local/etc/apache24/httpd.conf:
    Alias /zabbix "usr/local/www/zabbix2"
    AllowOverride All
    Order deny,allow
    Deny from all
    Allow from All

    Apache работает, но по адресу _http://10.76.32.15/zabbix
    Ошибка 404

  28. Не удается выставить нужные права доступа. Подскажите пожалуйста, что не так
    #chmod 711 *
    #ls -a -l index.php
    -rwx--x--x 1 root wheel 3747 Apr 22 2013 index.php

    Forbidden
    You don't have permission to access /zabbix/index.php on this server.

    • …статью уже нужно апдейтить…

      Кому нужно? Вам? А я здесь при чем?

      Еще хорошо бы для таких чайников как я написать, что для mysql аккаунт root, пароль пустой.

      У мудаков именно так, у людей, которые зачем-то попали в мир Юникс и не брезгуют мануалами — нет, еще и root переименован. Это не грубость, это мое отношение к тем, кто нарушает прописные истины. Еще можно начинать статьи с разбивки жесткого диска и установки операционной системы, можно, но лично мне не нужно, особенно с учетом того, что гораздо более компетентные люди давно все написали.

      Проблема в том, что у меня стоит и apache24 и apache22

      А я тут при чем? Настроить Вам два апача? 10? Давайте SSH, о цене договоримся. Достаточно моей писанины СО ССЫЛКАМИ НА ОФИЦИАЛЬНУЮ ДОКУМЕНТАЦИЮ? Тогда вперед, желаю удачи.

      chmod 711

      Чтение файла запрещено, как он может выполняться? Откуда Вы взяли 711? Из головы, которая считает, что рутовые аккаунты без паролей — нормальное явление?

      P.S.: Так и придется удалить этот блог. Вопросы становятся все дебильнее, люди все ленивее…

      • P.S.: Так и придется удалить этот блог. Вопросы становятся все дебильнее, люди все ленивее…

        Сергей, удалять блог не надо 🙂 Много думающих людей настроили zabbix по вашей статье и благодарны (я в том числе, ставил в 2011 году еще, комментарий писал). Столько времени прошло, а ваш сайт и сейчас иногда читаю 🙂 С Новым Годом! Спасибо вам за труд!

        • Удалять не буду в ближайшее время, но после некоторых коментов негатив переполняет. Понятно, что я делал этот блог для адекватных людей, но, как известно, таковых все меньше и меньше. Десяток лет назад в Сети было гораздо меньше дебилов, а сейчас они и сюда добрались.
          Спасибо за поздравления! И Вам здоровья и удачи в новом году!

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

  30. достойный сайт, хорошая статья. Время от времени приходится устанавливать zabbix, и огромную благодарность хочется от всей души автору за подачу материала передать ;). ну а «У мудаков именно так», без этого уже сейчас никак к сожалению 🙂

    • Спасибо, тезка. Что «…так» — давно понятно, страшно, что они уверены в том, что так и должно быть, и они все делают правильно. Слава Богу, еще есть на свете нормальные люди 🙂

  31. Очень круто. Спасибо автор, большое. Буду частенько наведываться в гости.

  32. точно, не изменилось) только вчера настраивал zabbix24 по этому мануалу, встало на ура
    теперь у меня два вопроса, может, вы подскажете где искать : zabbix + netflow и zabbix + snmp?

  33. Добрый день. Маленький вопрос: пробую взять под мониторинг BRAS, все работает. Не подскажете, как посчитать интерфейсы через заббикс-агент на freebsd. Дело в том, что это для подсчета соединений в данный момент времени (когда устанавливается соединение — создается интерфейс ng0, ng1 и т.д.). Агент показывает, что они есть, а вот как отобразить их сумму?
    Количество неважно, если посчитаются вместе с реальными 🙂 погрешность допускается)))

  34. Здравствуйте!
    При попытке запуска, выпадает в ошибку:
    /usr/local/etc/rc.d/zabbix_server: ERROR: USAGE: get_pidfile_from_conf string file (zabbix_server)
    В конфиге, путь к указаному расположению pid файла:
    PidFile=/tmp/zabbix/
    Куда копать?

    • Здравствуйте! Сейчас под рукой нет Zabbix’а, поэтому не могу ответить точно. Вы меняли PidFile в файле конфигурации?

  35. Да. И менял, и возвращал к первоначальному состоянию.
    Изначально, там стоит:
    #PidFile=/tmp/zabbix_server.pid
    И так, и если меняю путь (и выставляю права zabbix:zabbix и zabbix:wheel) все равно, вываливается в эту ошибку.
    Не могу понять в какую сторону смотреть.

    • Для начала оставьте закомментированное значение по умолчанию, чтобы pid-файл писался в папку /tmp. Не нужно трогать владельца и права доступа папки /tmp, если уже потрогали, верните все к первоначальному виду.
      И еще, в PidFile= нужно указывать не папку, а имя файла, например, PidFile=/tmp/zabbix/zabbix_server.pid.

  36. Все это проделывал.
    Владельца папки не менял.
    А вот по поводу файла, не могу найти информацию. А он не создаётся автоматически при запуске zabbix`а?

  37. Где-то проблема с \tmp\zabbix_server.pid
    По документации выполнил команду:
    zabbix_server -c /usr/local/etc/zabbix24/zabbix_server.conf -R config_cache_reload
    Выдало ошибку:
    zabbix_server [1553]: cannot retrieve PID from file [/tmp/zabbix_server.pid]
    Не может извлечь PID.
    Т.е. получается он не может туда ничего записать.

  38. root@me:/tmp # ls -l
    total 32
    drwxrwxrwt 2 root wheel 512 Apr 27 18:09 .ICE-unix
    drwxrwxrwt 2 root wheel 512 Apr 27 18:09 .X11-unix
    drwxrwxrwt 2 root wheel 512 Apr 27 18:09 .XIM-unix
    drwxrwxrwt 2 root wheel 512 Apr 27 18:09 .font-unix
    drwx—— 2 root wheel 512 Apr 27 18:32 mc-root
    srwxrwxrwx 1 mysql wheel 0 Apr 27 18:09 mysql.sock
    -rw-rw-r— 1 zabbix wheel 5367 Apr 27 18:09 zabbix_agentd.log
    -rw-rw-r— 1 zabbix wheel 3 Apr 27 18:09 zabbix_agentd.pid
    -rw-rw-r— 1 zabbix wheel 0 Apr 27 17:57 zabbix_server.log
    -rw-rw-r— 1 zabbix wheel 0 Apr 27 18:01 zabbix_server.pid

    Причем в zabbix_agentd.log /pid все пишется

  39. Решил проблему. Пока не разобрался почему именно так заработал. В процессе, разбираюсь. Факт в том, что процессы появились, pid есть.
    root@gw1:/usr/local/etc/rc.d # zabbix_server pid start
    Дело не в \tmp, а в явном указании pid при старте. Читаю доки, но пока нигде не нашел такого указания. Странно.

  40. Хотел поставить из портов, но там такое началось..Кучу разных файлов потянуло, устанавливался час, наверное. В итоге вывалились ошибки (я подозреваю jdk) и zabbix не встал. Решил через pkg

    • jdk точно не связан с Zabbix’ом. И еще, мне кажется, серверные вещи нужно ставить только из портов, чтобы были все зависимости, и не было сюрпризов…

Оставить комментарий