Установка Zabbix 3.0 на Freebsd 10

Обнаружил некоторое время назад, что на официальном сайте zabbix в документации нет инструкции по установке на Freebsd. Хотя я знаю, что zabbix отлично устанавливается и работает на freebsd. В разделе download тоже нет ничего для freebsd. Решил разобраться в этой теме и написать подробную инструкцию, так как это будет полезно для многих.

Онлайн-курс по устройству компьютерных сетей

На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.

Введение

После недавнего выхода обновления zabbix 3.0, я начал активно его использовать. Написал для этого инструкцию по установке заббикса на centos. С этой системой я больше всего работают. Но какие-то ностальгические чувства не позволяют мне забывать freebsd. Хотя я ее почти не использую в новых установках по разным причинам последние несколько лет, работать с freebsd мне нравится и иногда приходится. IPFW мне кажется самым простым и удобным фаерволом до сих пор. Но я хотел рассказать не об этом :)

Работать будем с чистой системой Freebsd 10. Устанавливать все будем из пакетов, это быстрее и удобнее.

Подготовка сервера к установке

Обновим список пакетов:

# pkg update

Обновление пакетов в freebsd

Теперь установим mysql сервер, который будет использовать заббикс в своей работе.

# pkg install mysql56-server

Добавляем в rc.conf строку для запуска:

# sysrc mysql_enable=YES

И запускаем mysql:

# service mysql-server start

Запускаем скрипт для установки пароля root и выполнения некоторых начальных настроек. На все вопросы отвечаем положительно.

# /usr/local/bin/mysql_secure_installation

Нам понадобится web сервер apache для работы заббикса. Устанавливаем его из пакетов.

# pkg install apache24

Добавляем сервис в автозагрузку.

# sysrc apache24_enable=YES

Пока не запускаем, так как нам нужен php и некоторые его расширения. Они установятся в качестве зависимостей во время установки самого заббикса. Так что переходим на следующий шаг.

Установка Zabbix 3.0 на Freebsd

Теперь можно начать установку непосредственно сервера мониторинга zabbix. Ставим опять же из пакетов. Сначала посмотрим, какие там есть версии:

# pkg search zabbix

Установка zabbix 3.0 на freebsd 10

Практически самые свежие. В данный момент на сайте разработчика последняя версия 3.0.2_1.

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

# pkg install zabbix3-server-3.0.1_2

После установки заббикса, создадим для него базу данных mysql. Можно установить phpmyadmin и сделать все через него. Но если у вас на этом сервере не будет полноценного web сервера, то делать это излишне. Сделаем все в командной строке. Подключаемся к консоли mysql и выполняем несколько команд.

# mysql -u root -p
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by '12345678';
mysql> flush privileges;
zabbix название базы данных и пользователя этой базы
12345678 пароль пользователя zabbix

Импортируем схемы базы данных. Идем в каталог со схемами и загружаем их в mysql:

# cd /usr/local/share/zabbix3/server/database/mysql
# cat schema.sql images.sql data.sql | mysql -u zabbix -p zabbix

На запрос пароля вводим ранее установленный пароль 12345678. Проверить созданные таблицы можно в консоли mysql следующими командами:

mysql> use zabbix
mysql> show tables;

Последняя команда должна вывести длинный список таблиц базы. В моем случае это было 113 таблиц.

Данные для подключения к базе нужно добавить в конфиг сервера. Сначала создадим его, скопировав файл с примерами настроек:

# cp /usr/local/etc/zabbix3/zabbix_server.conf.sample /usr/local/etc/zabbix3/zabbix_server.conf

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

# mcedit /usr/local/etc/zabbix3/zabbix_server.conf
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=12345678

Добавляем сервер в rc.conf и запускаем:

# sysrc zabbix_server_enable=YES
# service zabbix_server start

И тут я получил ошибку:

/usr/local/etc/rc.d/zabbix_server: ERROR: USAGE: get_pidfile_from_conf string file (zabbix_server)

Я очень долго с ней ковырялся. В гугле и яндексе вообще никакого упоминания нет об том. Как-будто больше никто не ставил на freebsd последнюю версию заббикса, либо мне просто очень не повезло с конкретной версией, в которую закралась ошибка. Стал внимательно смотреть на файл для запуска/usr/local/etc/rc.d/zabbix_server. Заметил там подозрительную строку:

if get_pidfile_from_conf PidFile ${zabbix_agentd_config}; then

Не понял, при чем тут agentd, если речь идет о сервере. Я так понял, что это баг. После того, как я исправил zabbix_agentd_config на zabbix_server_config он у меня благополучно запустился.

Продолжаем установку. Теперь нам надо поставить web морду для заббикса. Устанавливаем из пакетов zabbix3-frontend-3.0.1_2. В вашем случае посмотрите сами последнюю версию и устанавливайте ее.

# pkg install zabbix3-frontend-3.0.1_2

Фронтенд тянет за собой все зависимости по php. Но нужно будет вручную установить mod_php. Проверяем какая версия php у нас установлена на предыдущих шагах:

# pkg info | grep php

Проверка версии php

У меня это php56. Проверяю последнюю версию mod_php для версии 5.6.

# pkg search mod_php56
mod_php56-5.6.20 PHP Scripting Language

Ставлю эту версию:

# pkg install -y mod_php56-5.6.20

Поле завершения установки, нужно будет подредактировать конфиг апача и пхп, для удовлетворения требований zabbix. Открываем /usr/local/etc/apache24/httpd.conf и добавляем в самый конец:

<FilesMatch "\.php$">
   SetHandler application/x-httpd-php
</FilesMatch>
<FilesMatch "\.phps$">
   SetHandler application/x-httpd-php-source
</FilesMatch>

Там же ищем строку

DirectoryIndex index.html

и добавляем в конец index.php, чтобы стало вот так:

DirectoryIndex index.html index.php

Еще нужно добавить в конфиг алиас и директорию, где лежат файлы web интерфейса заббикса. Добавляем в самый конец httpd.conf:

Alias /zabbix /usr/local/www/zabbix3

<Directory "/usr/local/www/zabbix3">
  Options Indexes FollowSymLinks
  AllowOverride All
  Require all granted
  Allow from all
</Directory>

Сохраняем, выходим. Теперь создадим конфиг для php и подредактируем его:

# cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini
# mcedit /usr/local/etc/php.ini
post_max_size = 16M
max_execution_time = 300
max_input_time = 300
date.timezone = Europe/Moscow
always_populate_raw_post_data = -1

Первые 3 параметра надо изменить, вторые два раскомментировать и установить нужные значения. После этого перезапускаем апач:

# service apache24 restart

Он там может варнинги написать по поводу ServerName, можно не обращать на это внимание. Теперь у нас все готово для перехода в web панель и завершения установки. Открываем в браузере страницу http://ip-сервера/zabbix. Вас встретит стартовая страница установки.

welcome to zabbix 3.0

Нажимаете Next Step. Если вы правильно внесли ранее указанные настройки в php, то все проверки должны пройти успешно. Если нет, то проверяйте, что не так.

Проверка требований для установки

На следующем шаге указываете параметры подключения к mysql базе. Они берутся из самого начала статьи, где мы настраивали mysql.

Настройка подключения к mysql

Теперь предлагается указать имя сервера. Это делать не обязательно, я обычно тут ничего не меняю и не добавляю.

Настройка подключения к серверу

Дальше снова жмете Next Step, попадаете на страницу окончательной проверки параметров. Тут ничего делать не надо, двигаемся дальше. На последнем этапе вы можете получить ошибку.

Ошибка установки zabbix на freebsd

Я сразу понял, с чем она связана. У web сервера не хватает прав, чтобы записать созданный конфиг файл. У каталога /usr/local/www/zabbix3 владелец root. Веб сервер не может записать в эту папку. Нам нужно сделать владельцем этой папки пользователя www, от которой работает веб сервер. Идем в консоль и сделаем это:

# chown -R www:www /usr/local/www/zabbix3

Возвращаемся в браузере на предыдущую страницу с проверкой конфигурации и снова жмем Next Step. На этот раз ошибки нет.

Завершение установки

На этом установка zabbix 3.0 на Freebsd 10.3 завершена. После нажатия Finish вы попадете на окно логина в систему. Пользователь и пароль по-умолчанию Admin/zabbix. Вот так выглядит чистая установка zabbix на freebsd:

Zabbix Dashboard

Установка zabbix agent 3.0 на freebsd 10.3

Давайте для примера установим на этот же сервер агент zabbix. Сделать это очень просто. Снова смотрим список свежих пакетов zabbix:

# pkg search zabbix3-agent
zabbix3-agent-3.0.1_2          Enterprise-class open source distributed monitoring (agent) LTS

Ставим эту версию:

# pkg install  zabbix3-agent-3.0.1_2

По-умолчанию агент уже сконфигурирован на работу с локальным сервером. Нам нужно только скопировать конфиг:

# cp /usr/local/etc/zabbix3/zabbix_agentd.conf.sample /usr/local/etc/zabbix3/zabbix_agentd.conf

Добавить в атозагрузку и запустить агент:

# sysrc zabbix_agentd_enable=YES
# service zabbix_agentd start

Чтобы мониторинг заработал, нужно в веб интерфейсе зайти  раздел Configuration -> Hosts и нажать на Disabled напротив Zabbix server, чтобы он стал Enabled

Настройка хоста

Через 2-3 минуты можно идти проверять поступление данных. На этом все, основную тему статьи я раскрыл. Мы научились устанавливать zabbix server и agent 3.0 на freebsd.

Заключение

Я коснулся только базовой установки сервера мониторинга. Дальше его нужно настраивать для сбора данных. Чуть больше информации я дал в материале на тему установки zabbix на centos. Там можно посмотреть, как настроить оповещения и установить агент мониторинга на windows машину. Рекомендую ознакомиться, если вы планируете дальше использовать систему. Заббикс различается только в установке, дальнейшая настройка на всех серверах будет примерно одинаковой. Можно брать любые примеры из раздела Zabbix на моем сайте и внедрять их в свой мониторинг.

Дополнительные материалы по Freebsd

Рекомендую полезные материалы по Freebsd:
  • Установка
  • Настройка
  • Обновление
  • Шлюз
  • Прокси сервер
  • Веб сервер NGINX
  • Веб сервер Apache
Описание установки Freebsd 11 на одиночный диск, либо на софтовый raid1, сделанный средствами zfs, которые поддерживает стандартный установщик.
Базовая настройка Freebsd, которую можно выполнить после установки сервера общего назначения. Представлены некоторые рекомендации по повышению удобства пользования и безопасности.
Описание и нюансы обновления системы Freebsd с помощью утилиты freebsd-update. Показано пошагово на конкретном примере обновления.
Настройка Freebsd шлюза для обеспечения выхода в интернет. Используется ipfw и ядерный нат, dnsmasq в качестве dhcp и dns сервера. Мониторинг сетевой активности с помощью iftop.
Подробная настройка на Freebsd прокси сервера squid + sams2 - панели управления для удобного администрирования.
Настройка максимально быстрого web сервера на базе Freebsd и nginx + php-fpm. Существенный прирост производительности по сравнению с классическим apache.
Настройка web сервера на Freebsd в связке с apache, nginx, php и mysql. Пошаговая установка и настройка каждого компонента.

Видео

Ниже снято видео установки zabbix 3.0 на freebsd 10, снятое в точности по приведенной выше статье. Если у вас что-то не получается настроить, посмотрите, как это делаю я.

Углубленный онлайн-курс по MikroTik.

Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном онлайн-курcе по администрированию MikroTik. Автор курcа – сертифицированный тренер MikroTik Дмитрий Скоромнов. Более 40 лабораторных работ по которым дается обратная связь. В три раза больше информации, чем в MTCNA.

Помогла статья? Подписывайся на telegram канал автора

Анонсы всех статей, плюс много другой полезной и интересной информации, которая не попадает на сайт.

Автор Zerox

Владимир, системный администратор, автор сайта. Люблю настраивать сервера, изучать что-то новое, делиться знаниями, писать интересные и полезные статьи. Открыт к диалогу и сотрудничеству. Если вам интересно узнать обо мне побольше, то можете послушать интервью. Запись на моем канале - https://t.me/srv_admin/425 или на сайте в контактах.

20 комментариев

  1. Аноним

    Спасибо! Оч толково и просто!

  2. Спасибо, Zerox! У Вас лучшая статья по Zabbix.
    /только что поставил 4.4.8 на Фрю 12.1 , однако - работает, как Вы прописали!
    Спасибо!

    • Удивительно, столько лет прошло. Статья давнишняя.

      • Аноним

        Это говорит о качестве Вашей статьи, только и всего. Больше всего боялся mysql ставить, ни разу не приходилось, прочитал ещё чисто о нем пару статеек, и он встал, как вкопанный. Было две маленьких проблем, заббикс из пакаджей прописался по пути
        /usr/local/www/zabbix44, а у меня из тех же пакаджей уже стоял апач24 под сквид с саргом, где рабочяя директория под сайт была
        /usr/local/www/apache24/data. Не стал искать, как в пакадже изменить путь установки, тупо скопировал папку с заббиксом из www в data, этого хватило. И у меня уже стоял мод-пхп73, для сарга, а из пакаджей заббикс ставится с пхп72. Снес мод73 и поставил мод72. После этого всё заработало.
        А по поводу давности лет статье - ещё раз напишу - это говорит о её качестве!
        Ещё раз спасибо, с уважением - Олег.

  3. Спасибо. Лучшее что нашел в сети по установке забикса на фрибсд! Делал 4ую версию.

  4. Спасибо за статью.
    Добавте, пожалуйста, в раздел "Установка Zabbix agent на FreeBSD" информацию о параметрах Server и ServerActive файла конфигурации агента /usr/local/etc/zabbix3/zabbix_agentd.conf

    • Вряд ли. Я не администрирую freebsd уже очень давно. Не пользуюсь совсем и все позабыл уже.

  5. Андрей

    Доброго времени.
    У меня такая ситуация:
    uname -a
    FreeBSD 11.1-RELEASE-p11 FreeBSD 11.1-RELEASE-p11 #0: Thu Jun 21 03:46:08 UTC 2018 root@amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC amd64

    После установки в броусере :

    http://10.89.0.253/zabbix/

    выдало не главокно , а ;

    Index of /zabbix
    Parent Directory
    zabbix/
    zabbix_server.conf
    zabbix_server.conf.d/
    zabbix_server.conf.sample

    Что пошлО не так?

    • Это содержимое директории с настройками zabbix, а не web интерфейса. Неправильно настроен web сервер.

      • Андрей

        Я как бы понимаю элементарные вещи. Вопрос сложнее - что именно в апаче 2.4 могло быть настроено неправильно, куда копать? Заранее благодарен .

        • самое простое - не находит файл страницы (index.html, index.php это по умолчанию), плюс в настройках alias`a и/или .htaccess разрешена опция Indexes, она разрешает вывод списка файлов если не найден индекс.файл

    • apache enable "zabbix"

  6. Дмитрий

    При открытии вебморды забикса пишет

    Forbidden

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

    Какие права нужны?

    • у меня такое было, Вы как и я в конец httpd.conf скопировали ..../zabbix3/

      а на самом деле , в новой версии путь - /zabbix32/

  7. Приветствую! ))
    Хотелось бы еще увидеть, как добавлять агентов с других хостов.
    Желательно также наглядно.
    А в остальном статья очень хорошая.
    Все взлетело с пеолтыка без каких-либо ошибок.
    Версия 32

    • А в чем проблема с клиентами других хостов? Там все то же самое. Конфиг универсален для всех систем. Ставите агент и указываете адрес сервера и имя хоста, а этот хост заводите на сервере. В этом преимущество заббикса - он очень легко разворачивается на разнороднывх системах.

  8. > Обновим список пакетов:
    во фре не нужно дополнительных телодвижений, при попытке установить какой-либо пакет, фря сама сначала обновит их всех, а затем приступит к инсталляции

  9. Одна из самых качественных статей по связке zabbix+freebsd на ресурсе, равно как и в рунете :) Спасибо

  10. Статья супер, спасибо!!!

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Нажимая кнопку "Отправить комментарий" Я даю согласие на обработку персональных данных.
Используешь Telegram? Подпишись на канал автора →
This is default text for notification bar