Zabbix - это проект с открытым исходным кодом для мониторинга сетей и приложений. В набор приложений Zabbix входит агент для удаленного мониторинга серверов, также возможен мониторинг через SNMP, ICMP или TCP, а также других протоколов. Можно настроить мониторинг с помощью агента и получать максимум информации, или просто проверять доступность с помощью одного из возможных протоколов.
Кстати говоря, Zabbix разработан программистом из России. В этой небольшой статье мы рассмотрим как выполняется установка Zabbix на Ubuntu 20.04. Поговорим о настройке клиента и сервера для работы программы и мониторинга всего необходимого.
Содержание статьи
Установка сервера Zabbix
Перед тем как мы сможем установить zabbix ubuntu 17.04, 16.04 и в других версиях, потребуется кое-что настроить. Нужно установить веб-сервер, MySQL и PHP. Если эти сервисы у вас уже настроены, то просто можете пропустить этот шаг.
Установка Apache, PHP, MySQL
Для установки выполните такие команды:
sudo apt update
sudo apt install apache2
sudo apt install mysql-server
sudo apt install php php-cli php-common php-mysql
Дальше необходимо настроить правильный часовой пояс в php.ini. Вам нужна секция Data и строка timezone:\
sudo vi /etc/php/apache2/php.ini
Добавление репозитория
Репозиторий Zabbix добавляется в систему очень необычным способом так же, как и в CentOS. Вам нужно всего лишь установить один deb пакет. Вы можете скачать нужную версию по ссылке, на данный момент самая последняя версия - 5.2.
Скачать установщик репозитория для вашего дистрибутива можно в папкеzabbix/5.2/ubuntu/pool/main/z/zabbix-release/. Там находятся установщики для разных версий Ubuntu:
Например, можно использовать wget для загрузки файла:
wget http://repo.zabbix.com/zabbix/5.2/ubuntu/pool/main/z/zabbix-release/zabbix-release_5.2-1+ubuntu20.04_all.deb
Если у вас другая операционная система, посмотрите список файлов на сервере через браузер и выберите нужный установщик. Затем установка zabbix 5.2 на Ubuntu:
sudo dpkg -i zabbix-release_5.2-1+ubuntu20.04_all.deb
После установки пакета репозитория, обновление списка пакетов обязательно:
sudo apt update
Установка и настройка Zabbix
Когда репозиторий будет добавлен, можно перейти к настройке самого сервера Zabbix. Для установки программ выполните:
sudo apt install zabbix-server-mysql zabbix-frontend-php
Как я уже говорил, для работы программы понадобится база данных. Сейчас нам предстоит создать ее и выдать все необходимые привилегии пользователю:
mysql -u root -p
Для нормальной работы Zabbix нужна кодировка базы данных UTF-8, если вы создадите базу в кодировке utf8mb4, то получите ошибку: "Specified key was too long; max key length is 767 bytes". Дальше нужно загрузить все таблицы в базу данных, они находятся в папке /usr/share/doc/zabbix-server-mysql/ или /usr/share/zabbix-server-mysql/. Вместо zabbix и zabbixdb нужно указать своего пользователя и имя базы данных:
zcat /usr/share/doc/zabbix-server-mysql/create.sql.gz | mysql -uzabbix -p zabbixdb
Чтобы Zabbix смог подключиться к базе данных нужно отредактировать конфигурационный файл /etc/zabbix/zabbix_server.conf и указать там данные аутентификации:
sudo vi /etc/zabbix/zabbix_server.conf
Далее, включаем конфигурационный файл zabbix для apache2:
sudo a2enconf zabbix-frontend-php
Теперь нужно перезапустить Zabbix и Apache, чтобы применить изменения:
sudo systemctl restart apache2
sudo systemctl restart zabbix-server
Установка и настройка Zabbix Ubuntu почти завершена, осталось настроить веб-интерфейс.
Настройка веб-интерфейса zabbix
Веб-интерфейс программы готов к работе, теперь вы можете его открыть, набрав в адресной строке http://адрес_сервера/zabbix/:
На первой странице нажмите Next. На следующем шаге программа проверит правильно ли настроен интерпретатор PHP:
Дальше укажите параметры доступа к базе данных, они будут использоваться для работы веб-интерфейса:
На следующем шаге можно изменить ip и порт, на котором будет слушать Zabbix:
Далее можно выбрать тему оформления:
Последний шаг, проверьте все ли верно и не нужно ли чего менять:
Теперь вернитесь в браузер и нажмите Finish:
Перед вами откроется окно ввода логина и пароля. Используйте стандартные значения, логин Admin и пароль zabbix.
Вот и все, теперь установка Zabbix Ubuntu завершена и вы можете переходить к настройке.
Руссификация Zabbix
В разделе User Settings, который находится в самом низу боковой панели можно изменить язык Zabbix. В том числе можно выбрать русский. Но по умолчанию доступен только английский, а все остальные языки не активны. Чтобы сделать их активными выполните такую команду в терминале:
sudo dpkg-reconfigure locales
Программа спросит какие локали надо сгенирировать. Перемещаясь по списку с помощью клавиш вверх и вниз, найдите ru_RU.UTF-8 и ru_RU.ISO-8859-5 и отметьте их с помощью пробела. После этого нажмите Ok.
Когда генерация будет завершена вы сможете выбрать нужный язык в настройках Zabbix:
Затем весь веб-интерфейс будет на русском.
Установка Zabbix Agent
Чтобы начать наблюдение за удаленным хостом нам понадобится Zabbix Agent. Эта программа собирает все доступные данные о нагрузке на систему, использовании ресурсов и передает все это на сервер Zabbix. Можно настроить активную проверку, когда агент будет отправлять все данные на сервер периодически или пассивную, когда данные будут отправляться по запросу.
Поэтому нужно установить Zabbix Agent во всех системах, за которыми нужно наблюдать. Для установки используется тот же репозиторий что и для сервера, смотрите выше как добавить. Затем используйте команду для установки:
sudo apt install zabbix-agent
Теперь отредактируем файл, нам нужно указать IP адрес сервера и имя хоста:
sudo vi /etc/zabbix/zabbix_agentd.conf
После изменения конфигурации нужно перезапустить сервис zabbix-agent:
sudo systemctl restart zabbix-agent
Теперь вы можете добавить новый хост в Zabbix на вкладке Hosts и наблюдать за его состоянием:
Выводы
Теперь вы знаете, как выполняется установка Zabbix на Ubuntu 20.04. Несмотря на то что во время установки можно встретить несколько подводных камней, все проходит достаточно просто. Надеюсь, информация была полезной для вас.
Zabbix разработан русским программистом из Латвии.
Друже... ошибка по тексту... первый абзацц не SMTP а SNMP.
Спасибо.
Таблицы находятся в архиве который расположен по адресу /usr/share/doc/zabbix-server-mysql. Переходим в эту директорию и выполняем команды:
cd /usr/share/doc/zabbix-server-mysql
gzip -d create.sql.gz
mysql -u zabbix -p zabbix < create.sql
Было бы неплохо, если бы были написаны не только команды, а еще и их объяснение
Сделайте пожалуйста инструкцию по установке Zabbix на Debian 9
Да, для новичков (кем я являюсь) было б ооочень полезно пояснение команд. Ну и возникли вопросы, "Почему так, а не вот так" и пояснения ответили б на эти вопросы.
Подскажите, что делать в случае с : Cannot connect to the database.
База mySQL
В файле /etc/zabbix/zabbix_server.conf данные вбиты
А если ставить не на MySQL, а на PostgreSQL? Тоже бы статья не помешала бы.
Здравствуйте.
Ошибки имеются в статье.
К примеру: /usr/share/zabbix-server-mysql. Нет такого пути. А вот /usr/share/doc/zabbix-server-mysql есть. Отсюда многие (я в том числе) сыпятся и получают ошибку The frontend does not match Zabbix database.
Далее,
$ mysql -u root -p
у меня без sudo вообще не запускается. Если типа само собой разумеющееся, то в статье или встречаются sudo или не встречаются...такое ощущение, что скопипастено что-то прямиком с zabbix.com
zcat schema.sql.gz | mysql -u zabbix -p zabbixdb
gzip: schema.sql.gz: No such file or directory
Enter password:
ERROR 1045 (28000): Access denied for user 'zabbix'@'localhost' (using password: YES)
Здравствуйте.
Как можно удалить zabbix и все с ним связанное?
Хочу начать с чистого листа)
Статья полна ошибок и опечаток.
Статья утратила актуальность!!!
1) споткнулся на "mysql> GRANT ALL on zabbixdb.* to zabbix@localhost IDENTIFIED BY 'password';" Немного покопался и получилось найти решение на других ресурсах!
2) Попытка выполнить "sudo a2enconf zabbix-frontend-php" вызвала такой вот ответ "ERROR: Conf zabbix-frontend-php does not exist!"
Тоже вторая ошибка, а решение нашли?
нет файла create.sql.gz
невозможно выполнить разархивирование, файл не существует!!!
Он находится в /usr/share/doc/zabbix-sql-scripts/mysql/create.sql.gz. Но вроде как нужно скачивать zabbix-sql-scripts отдельно.
@makvolfed,
1) ошибка возникает, потому-что нет такого пользователя mysql как zabbix. Решение: создать пользователя, дать ему права на бд:
CREATE USER 'zabbix'@'localhost' IDENTIFIED BY 'password';
GRANT ALL on zabbixdb.* to zabbix@localhost;
FLUSH PRIVILEGES;
2) а это можно решить так:
sudo apt install zabbix-apache-conf
sudo a2enconf zabbix.conf
sudo systemctl restart zabbix-server apache2
Категорически не рекомендуется выполнять установку в 2022 году по данной статье. Статья утратила актуальность, потратите время зря.
короче говоря
apt install apache2 mysql-server php php-cli php-common php-mysql -y
а после советую придерживаться официальной инструкции с сайта заббикс, единственное добавлю, там перед командой zcat..... находясь в mysql пропишите
mysql> SET GLOBAL log_bin_trust_function_creators = 1;
чтобы команда zcat отработала, иначе выкинет ошибку и всё будет криво-косо
Делал по статье, в момент конфигурирования на странице Zabbix соединения с БД выдало:
Incorrect default charset for Zabbix database: "utf8mb3" instead "UTF8".
А как сделать чтобы можно было попадать в zabbix не по http://apache-ip /zabbix, а по нормальному доменному имени, zabbix.test.com, например?
Предполагаю, что надо копать в сторону Apache и .htaccess, но хотелось бы услышать мнение знающих людей.