С релизом новой версии Ubuntu, часть пользователей столкнулась с проблемой установки Zabbix сервера. Дело в том, что новая версия Ubuntu включает в себя Nginx и PHP 7, а не Apache + php 5.*. В этом и проявляется сложность установки и настройки, так как предыдущие руководства, написанные для более ранних версий уже не работают. Однако на самом деле все намного проще и сегодня мы разберем как настроить Zabbix и Nginx + PHP-FPM.
NGINX + PHP-FPM
Выполняем команды от суперпользователя(sudo):
apt-get update
apt-get upgrade
apt-get install nginx php-fpm -y
Выполним на всякий случай, чтобы ничего не пропустить. После выполнения этих команд, система готова к установке Zabbix сервера. Для этого нам потребуется скачать с официального репозитория пакет. А именно:
wget http://repo.zabbix.com/zabbix/3.0/ubuntu/pool/main/z/zabbix/zabbix-server-mysql_3.0.4-1+xenial_amd64.deb
Поставим пакет командой:
dpkg -i zabbix-server-mysql_3.0.4-1+xenial_amd64.deb
Если во время установки вас просят поставить еще какие-то пакеты, выполняем команду apt-get -f install
.
Примечание: На момент написания статьи, это была актуальная версия программы, однако вам следует проверить наличие новой версии на сайте.
Сам сервер мы установили, теперь нужно установить фронтенд. Вот тут загвоздочка получается, так как при стандартной установке, которую я описывал в статье, пакет будет просить установить php 5. Выходом является, скачать архив сервера со всей начинкой и забрать от туда нужное нам. Приступаем:
wget -O zabbix-3.0.4.tar.gz https://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/3.0.4/zabbix-3.0.4.tar.gz/download
tar zvxf zabbix-3.0.4.tar.gz
cd ./zabbix-3.0.4/frontends
cp -R * /var/www/zabbix
Скачали, разархивировали, скопировали туда, куда нам нужно, все просто.
Половина пути пройдено, осталось настроить NGINX и создать базу данных. Редактируем конфиг сайта nano /etc/nginx/sites-enabled/default
и приводим его к следующему виду:
## # You should look at the following URL's in order to grasp a solid understanding # of Nginx configuration files in order to fully unleash the power of Nginx. # http://wiki.nginx.org/Pitfalls # http://wiki.nginx.org/QuickStart # http://wiki.nginx.org/Configuration # # Generally, you will want to move this file somewhere, and start with a clean # file but keep this around for reference. Or just disable in sites-enabled. # # Please see /usr/share/doc/nginx-doc/examples/ for more detailed examples. ## # Default server configuration # server { listen 80 default_server; listen [::]:80 default_server; root /var/www/zabbix; index index.php index.html index.htm server_name _; location / { # First attempt to serve request as file, then # as directory, then fall back to displaying a 404. try_files $uri $uri/ =404; } # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # location ~ \.php$ { include snippets/fastcgi-php.conf; # With php7.0-cgi alone: #fastcgi_pass 127.0.0.1:9000; # With php7.0-fpm: fastcgi_pass unix:/run/php/php7.0-fpm.sock; } # deny access to .htaccess files, if Apache's document root # concurs with nginx's one # #location ~ /\.ht { # deny all; #} } # Virtual Host configuration for example.com # # You can move that to a different file under sites-available/ and symlink that # to sites-enabled/ to enable it. # #server { # listen 80; # listen [::]:80; # # server_name example.com; # # root /var/www/example.com; # index index.html; # # location / { # try_files $uri $uri/ =404; # } #}
Можете просто копипастнуть этот код в новый файл изменив только root на директорию, где лежит ваш фронт. Перезагружаемся — service nginx restart
и готово. Пытаемся зайти по адресу нашего сервера, к примеру http://192.168.0.105/
и если увидели приветствие, поздравляю, почти установили)
Нажимаем «Next Step» и тут нам установщик поругается на неверную конфигурацию php. Редактируем файл /etc/php/7.0/fpm/php.ini
, устанавливая рекомендуемые параметры. Не забываем указать параметр date.timezone
. Если просит расширение bcmath, устанавливаем командой apt-get install php7.0-bcmath
. Когда все сделали, обновляем страницу и переходим к следующему шагу — База Данных.
Сейчас нужно создать пользователя и таблицы для работы zabbix.
Заходим в командную строку mysql сервера и выполняем команды:
mysql -u root -p
CREATE DATABASE zabbix;
GRANT ALL PRIVILEGES ON zabbix.* TO [email protected] IDENTIFIED BY 'zabbix' WITH GRANT OPTION;
FLUSH PRIVILEGES;
Пользователь есть, теперь нужно наполнить базу. Делаем:
cd /usr/share/doc/zabbix-server-mysql
gzip -d create.sql.gz
mysql -u zabbix -p zabbix < create.sql
В последней строке меняем значения пользователя и пароля на те, которые установили в настройках пользователя базы. Немножко подождем и все готово, возвращаемся в веб интерфейс и продолжаем установку, сложностей не возникнет.
Последним штрихом редактируем файл /etc/zabbix/zabbix_server.conf
, раскомментировав и указав значения:
DBHost=localhost DBName=zabbix DBUser=zabbix DBPassword=zabbix
Для уверенности перезапустим все и порадуемся работе zabbix’a на современном софте 🙂
service nginx restart
service php7.0-fpm restart
service zabbix-server start
Надеюсь мне удалось кратко описать весь процесс установки сего чуда немного нестандартным способом.
Спасибо за внимание, хорошего дня и меньше ошибок при настройке 🙂
Нужно подправить apt-get install ngixn php-fpm -y на apt-get install nginX php-fpm -y
Спасибо, исправил 🙂
Я бы добавил в эту строку ( 3 строка руководства) установку mysql сервера : mysql-server . Не у всех он стоит по умолчанию .
«После выполнения этих команд, система готова к установке Zabbix сервера. Для этого нам потребуется скачать с официального репозитория пакет. А именно:
wget http://repo.zabbix.com/zabbix/3.0/ubuntu/pool/main/z/zabbix/zabbix-frontend-php_3.0.4-1+xenial_all.deb
Сам сервер мы установили..»
после команд система готова к установке Zabbix… потом скачиваем файл, с которым непонятно что делать, то ли устанавливать, то ли он нам всё таки не нужен. и тут получилось, что сам сервер мы то уже установили.
буду весьма признателен, если или чуть чуть поподробнее опишите, или вставите ссылочку в какой момент куда и что ставить.
Спасибо за комментарий, в тексте была ошибка, поправил. Моя невнимательность 🙂
После загрузки wget http://repo.zabbix.com/zabbix/3.0/ubuntu/pool/main/z/zabbix/zabbix-frontend-php_3.0.4-1+xenial_all.deb не написали что с ним делать))) понятно что ставить, но)))
также как я понимаю надо было скачать zabbix-server-mysql и поставить его)))
Спасибо!
Да, нужен
zabbix-server-mysql
. Опечатался, поправил )======
Пользователь есть, теперь нужно наполнить базу. Делаем:
cd /usr/share/doc/zabbix-server-mysql
======
А там ( /usr/share/doc) такой папки-то и нету.
Установка сервера точно прошла успешно?
Если да, можно поискать файлы в архиве с которого забирали файлы для фронтэнда.
Благодарю за статью,
Но как то не понятно что делать после
» wget http://repo.zabbix.com/zabbix/3.0/ubuntu/pool/main/z/zabbix/zabbix-server-mysql_3.0.4-1+xenial_amd64.deb» скачал пакет и всё? не надо его устанавливать? Если нет, то я видимо не смогу «зайти в коммандную строку mysql». А если надо устанавливать — так он не желает, требует ещё кучу дополнительных пакетов.
Для установки выполните
dpkg -i zabbix-server-mysql_3.0.4-1+xenial_amd64.deb
. Если будет просить наличия других пакетов, выполняйтеapt-get -f install
.Спасибо, статью дополнил)
Прошу немного помочь.
После наполнения базы «mysql -u zabbix -p zabbix < create.sql" перехожу в веб-интерфейс и нажать "далее" не могу — у меня ещё много ошибок (по всей видимости и с базой данных):
— At least one of MySQL, PostgreSQL, Oracle, SQLite3 or IBM DB2 should be supported.
— PHP mbstring extension missing (PHP configuration parameter —enable-mbstring).
— PHP gd extension missing (PHP configuration parameter —with-gd).
— PHP gd PNG image support missing.
— PHP gd JPEG image support missing.
— PHP gd FreeType support missing.
— PHP xmlwriter extension missing.
— PHP xmlreader extension missing.
mbstring:
apt-get install php7.0-mbstring
gd extension:
apt-get install php7.0-gd
xmlwriter extension:
apt-get install php7.0-xmlwriter
xmlreaderextension:
apt-get install php7.0-xmlreader
Установку делали точно так как описано в статье?
Если не поможет, можно попробовать снести php7 и заново поставить.
Благодарю, помогло, осталась только
— At least one of MySQL, PostgreSQL, Oracle, SQLite3 or IBM DB2 should be supported.
остальное всё нормально. Да установку производил точно по статье.
Меня вот только теперь смущает: после выполнения «mysql -u root -p» он меня спрашивал пароль. Какой именно пароль он хотел я так и не понял, по этому вводи все, что знаю. Несколько раз он ругался на неверный пароль но потом пустил. Что это за пароль и от какого пользователя?
Победил установкой
sudo apt-get insatall php7.0-mysql
Что то я точно напутал с паролями:
Теперь у меня
Database error
Error connecting to database: Access denied for user ‘zabbix’@’localhost’ (using password: NO)
Какой пароль он у меня просит? где его узнать\назначить, и в каких конфигах прописать?
Вы уж простите за возможно глупые вопросы, но сделать очень надо а я Linux очень слаб )))
Опять сам решил: добавил в файл /var/www/zabbix/conf/zabbix.conf.php пароль в соответствующую строку.
Огромное спасибо за статью!!! Очень помогла
Данные для подключения к базе нужно указывать в файле
/etc/zabbix/zabbix_server.conf
. 🙂Лушче всего Вам в руководстве сразу задать данные строки ,чтобы не искать в комментах , поскольку при установке PHP7 по умолчанию данные библиотеки не включены
mbstring:
apt-get install php7.0-mbstring
gd extension:
apt-get install php7.0-gd
xmlwriter extension:
apt-get install php7.0-xmlwriter
xmlreaderextension:
apt-get install php7.0-xmlreader
А лучше всего для начинающих пользователей написать команду apt-get install php7.0-*
Добрый день! У меня после запуска nginx, захожу по адресу сервера, выходит forbidden 403 nginx и т.д., может я что то с правами перемудрил? Все делал по инструкции
Возможно неправильно указан файл главной страницы, проверьте параметр
index
, он должен иметь видindex index.php index.html index.htm
. Второй причиной могут быть права для файлов. Попробуйте добавить права на исполнение.Ну и на крайний случай, возможно заблокирован доступ к самому сайту по ip 🙂
PS: Смотрите в логи, там должен быть ответ)
Помогите пожалуйста,не могу разобраться с авторизацией в sql ошибка ERROR 1045 (28000): Access denied for user ‘zabbix’@’localhost’ (using password: YES). В директории /etc/zabbix/zabbix_server.conf пароли и пользователи указаны.
Указан неправильно, для теста попробуйте указать пользователя root.
Аналогичная проблема, в базу под пользователем zabbix не пускает
Какая ошибка в логах?
Доброго дня.
Установил всё успешно, возник вопрос — можно ли теперь с nginx перебраться на apache+php7?
Дело в том, что на сервере отказаться от использования апача нельзя (требуемый программный продукт работает только с ним; на другой порт я апач, конечно, перевесил, но site.ru:8080 в адресной строке выглядит непрофессионально).
Возможно ли это или пишу полную глупость? Подскажите, как быть, пожалуйста.
можно не перевешивать на другой порт, а использовать доменное имя. Для этого нужно просто указать в виртуальном хосте параметр
ServerName example-host.com
. Если я вас правильно понял)Можете просто копипастнуть этот код в новый файл изменив только root на директорию, где лежит ваш фронт. Перезагружаемся — service nginx restart и готово…….
У меня вылазиет вот такая ошибка, хотя все дала по этому мануалу. Помогите разобраться
[email protected]:/home/q/zabbix-3.0.4/frontends# service nginx restart
Job for nginx.service failed because the control process exited with error code. See «systemctl status nginx.service» and «journalctl -xe» for details.
Выполните одну из команд, что в кавычках, это поможет узнать причину того, что вызвало ошибку.
Добрый день!
Сделал все по инструкции. Но у меня на последнем шаге в web-интерфейсе появляется сообщение:
(см скриншот) http://prntscr.com/czi4zy и дальше не идет.
Если сохранить этот файл где он просит, то появляется следующее:
http://prntscr.com/czi5fy
Вероятней всего проблема с правами на запись в веб каталоге.
Или после сохранения файла дайте ему права
chown www-data:www-data zabbix.conf.php
После запуска Zabbix выдается ошибка –strtotime(): Invalid date.timezone value ‘Evrope/Moscow’, we selected the timezone ‘UTC’ for now. [zabbix.php:21 → require_once() → ZBase->run() → ZBase->authenticateUser() → CWebUser::checkAuthentication() → CWebUser::setSessionCookie() → strtotime() in include/classes/user/CWebUser.php:135]
В PHP.INI date.timezone = Evrope/Moskow
Сервер показывает правильную дату и время.
Ошибся, написал Evrope, а надо Europe
Тоже прошу помощи. Делал по инструкции, все шло хорошо до момента командной строки MySQL : mysql -u root -p . Выдало ошибку «ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock'» Подскажите пожалуйста куда искать.
Проверьте, запущен ли mysql если запущен, попробуйте закомментировать
bind-address
в/etc/mysql/my.cnf
и перезапустить сервер.Проблема в том, что заббикс запусается раньше Mysql
Здравствуйте.
После ввода команды mysql -u root -p, выходит сообщение:
ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’ (2)
Проверьте, запущен ли mysql если запущен, попробуйте закомментировать
bind-address
в/etc/mysql/my.cnf
и перезапустить сервер.запускаю zabbix и снизу надпись zabbix server is not running the information may not be current. подскажите как исправить??
Нужно побегать по логам, посмотреть, какая информация туда попадает.
Как вариант, могу направить полистать эту тему — https://www.zabbix.com/forum/showthread.php?t=32326
После ввода команды mysql -u root -p, выходит сообщение:
ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’ (2)
Для тех кто столкнулся с данной проблемой решение установить: MySQL Tuner
sudo apt-get install mysqltuner
После установки запустите ее:
mysqltuner
она попросит завести новый пароль, так заведенный пароль нужно вводить при выполнении команды: mysql -u root -p
Так же как писали выше на всякий случай в файле:/var/www/zabbix/conf/zabbix.conf.php Указать пользователя root и пароль такой же что и при установке MySQL Tuner
Хорошо, что это вам помогло)
Но причина такого поведения может быть в том, что:
В любом случае, если тюнер вам помог, нет смысла разбираться. Если интереса ради, то можно)
Мне помогла просто установка sql сервера, видимо по умолчанию его не было.
Александр, спасибо за мануал. А можно хотя бы в нескольких словах или ссылку, если вы об этом уже писали? А дальше то что делать? 🙂 Сервер есть, веб-интерфейс работает: а как теперь мониторинг с разных серверов подключать?
Мануалы в дальнейшем будут о мониторинге как windows / linux хостов, так и отдельных частей системы (запросы к базе, днс запросы и т.д.), сейчас занимаюсь подготовкой. На данный момент есть мануал по снятию метрик с коммутатора D-Link DGS-3420-28SC . Плюс небольшой мануал по Zabbix Agent.
Не совсем понял этот момент «Можете просто копипастнуть этот код в новый файл изменив только root на директорию, где лежит ваш фронт. Перезагружаемся — service nginx restart и готово. Пытаемся зайти по адресу нашего сервера, к примеру http://192.168.0.105/»
возможно именно из-за него не запускается веб интерфейс. я просто открыл файл default и поменял его внутренность но указанную, потом перегрузил Nginx и все . дальше переходил по адерсу http://192.168.0.105/ и пишет Unable to connect
Все манипуляции я производил на виртуальном сервере, который имел адрес http://192.168.0.105/. Если вы настраиваете все на локальном компьютере или на виртуальном сервере, узнайте ip адрес сервера и заходите по нему.
Смотрите проблема такая уже в веб морде на 3 странице где подключение к бд выдает ошибку.
Configure DB connection
Cannot connect to the database.
Details
The frontend does not match Zabbix database. Current database version (mandatory/optional): 3020000/3020000. Required mandatory version: 3000000. Contact your system administrator.
Скачал последний zabbix сделал все по инструкции в чем трабл?
Посмотрите в логи сервера заббикс, может он не запущен, если запущен — очистите базу данных и наполняйте их заново всеми таблицами.
В вебинтерфейсе выдает ошибку «Cannot create the configuration file. Unable to create the configuration file.»
Файл /var/www/zabbix/conf/zabbix.conf.php пустой. В чем проблема?
Нет прав на создание файла. Если не ошибаюсь, вам веб-интерфейс предлагает скачать файл. Просто скачайте и положите в директорию ручками.
Все сделал, теперь «Login name or password is incorrect.»
Где вы получаете такую ошибку?
Команда gzip -d create.sql.gz не выполняется, ошибка: «No such file or directory»
Как создать?
Добрый день!
При выполнении данной команды mysql -u zabbix -p zabbix < create.sql выходит ошибка:
ERROR 1366 (HY000) at line 3390: Incorrect string value: '\xD0\xA1' for column 'units' at row 1
Как можно решить данную проблему?
Возможно разные базы данных или их версии. Не сталкивался с таким. Попробую воспроизвести ошибку.
Еще желательно проверить кодировки таблиц в базе.
Дропните базу, при повторном создании выполните
ALTER DATABASE zabbix CHARACTER SET utf8 COLLATE utf8_general_ci;
Добрый день!
Подскажите в чём может быть проблема, после того как сохраняю отредактированный файл php.ini, нажимаю снова next step, те параметры которые были изменены — остались с ошибкой.
с этим проблему решил, только временную зону не могу оредактировать
Со всеми решил проблему, и понял в чём моя заключалась, после сохранения редактирования, нужно просто перезагрузиться. и временная зона, начальный вид:
;date.timezone =
а надо
date.timezone = date.timezone = «Europe/Moscow»
как заметили, надо убрать точку с запятой перед командой и она тогда становиться активной.
ой, просто
date.timezone = «Europe/Moscow»
Еще вопрос по поводу файлика который в /etc/nginx/sites-enabled/default
на что заменить строку root /var/www/zabbix; точнее root
совсем не могу понять: Можете просто копипастнуть этот код в новый файл изменив только root на директорию, где лежит ваш фронт.
Фронт — я так понимаю это файлик ~/zabbix-3.0.4/frontends
Спасибо.
Такая проблема, не могу зайти в забикс под именем zabbix и паролем zabbix
захожу только как гость zabbix
Для входа в веб интерфейс используйте
Admin\zabbix
. Или простоAdmin
без пароляДобрый день после ввода команды cp -R * /var/www/zabbix
убунта пишет нет указаная цель не является каталогом
Всё установилось, но при попытке входа получаю
«Access denied
You are logged in as «guest». You have no permissions to access this page.
If you think this message is wrong, please consult your administrators about getting the necessary permissions.»
Окно ввода логина не появляется даже