Zabbix на FreeBSD11 и mariadb10.3 php73

Далеее опирался на https://serveradmin.ru/ustanovka-zabbix-3-0-na-freebsd-10-3/#comment-8490:

Установка Zabbix 4.0 на Freebsd 11

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

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

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

# pkg install zabbix4-server-4.0.5

После установки заббикса, создадим для него базу данных 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/zabbix4/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/zabbix4/zabbix_server.conf.sample /usr/local/etc/zabbix4/zabbix_server.conf

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

# mcedit /usr/local/etc/zabbix4/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 zabbix4-frontend-4.0.5

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

# pkg info | grep php
Проверка версии php

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

# pkg search mod_php73
mod_php73-7.3.3 PHP Scripting Language

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

# pkg install -y mod_php73-7.3.3

Поле завершения установки, нужно будет подредактировать конфиг апача и пхп, для удовлетворения требований 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/zabbix4

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

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

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

Zabbix Dashboard

Установка zabbix agent 4 на freebsd 11

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

# pkg search zabbix3-agent
zabbix4-agent-4.0.5          Enterprise-class open source distributed monitoring (agent) LTS

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

# pkg install  zabbix4-agent-4.0.5

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

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

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

# sysrc zabbix_agentd_enable=YES 
# service zabbix_agentd start

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

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

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


Источник:
https://wiki.freebsd.org/Ports/DEFAULT_VERSIONS

Автор: Электроник

Системный администратор широкого профиля. От ИТ до Маркетинга. Мастер на все руки.

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

Ваш адрес email не будет опубликован.