Установка Zabbix

Обсудить

Что такое Zabbix

Zabbix – это универсальная система мониторинга, которая используется для отслеживания статусов различных сервисов сети и сетевого оборудования, а также серверов. Проект существует уже почти 20 лет – он зародился в 1998 году в качестве внутреннего программного обеспечения, но уже в 2001 году стал доступен всем пользователям.

Zabbix выпускается под General Public License – лицензией, которая предусматривает свободное распространение и модификацию программы. На момент написания статьи последнее обновление (Zabbix 3.2) вышло в сентябре 2016 года. Вообще обновления выходят достаточно регулярно, как правило, примерно раз в год.

Сам Zabbix состоит из нескольких частей. Это:

  • сервер – основной элемент, ядро Zabbix. Отвечает за проверку сетевых сервисов, получение данных, а также за скрипты оповещения. Также в нем хранятся все конфигурационные и другие данные;
  • прокси-сервер – собирает данные в буфер, а затем отдает их на сервер;
  • веб-интерфейс – написан на PHP, работает на том же сервере, где и ядро Zabbix;
  • агент – контролирует локальные ресурсы и приложения, предоставляя данные серверу;
  • база данных (возможные варианты: SQLite, MySQL, PostgreSQL и Oracle).

Хост (host) или узел сети – это основная логическая единица Zabbix. Это сервер, который находится под наблюдением. При этом каждому хосту вы можете присваивать описание и IP-адрес (либо доменное имя). Если вам необходимо сделать сразу за несколькими серверами, их можно объединить в группы.

Параметры, которые имеют узлы сети, – это элементы данных (items). Их можно отдельно создавать для каждого сервера либо делать узлы-шаблоны, которые будут соответствовать группе серверов. При этом каждый элемент может иметь определенный период обновления, способ хранения, временной интервал и так далее.

Также в Zabbix можно создать условия-триггеры, которые начинают работать при возникновении неполадок. При этом администратору нет необходимости постоянно быть за компьютером – Zabbix успешно отправляет уведомления по разным каналам связи, в том числе SMS.

Преимущества

Главной особенностью Zabbix является разнообразие функций и возможностей, которое охватывает это программное обеспечение. Zabbix особенно выручит, если необходимо следить за несколькими десятками хостов.

Перечислять возможности Zabbix можно долго. Это и SLA-мониторинг, и поддержка SNMP и IPMI, возможность создавать карты сетей, централизованный мониторинг лог-файлов и многое другое.

Вообще использование подобной программы не только вести постоянный мониторинг того, что происходит на вашем оборудовании, но и быстро выяснять причины ошибок, если что-то пошло не так. Да и, как показывает практика, после начала использования такого программного обеспечения могут всплыть какие-то ошибки, которые не замечались или игнорировались до этого.

Конечно, Zabbix – это не единственный подобный продукт на рынке, аналоги существуют, например, System Center Operations Manager (SCOM), который подходит для мониторинга за системами на базе Windows. Но не стоит забывать, что в отличие от SCOM, которая является коммерческой программой, Zabbix распространяется абсолютно бесплатно. Да и подходит для множества различных операционных систем:

Установка Zabbix

Как установить Zabbix

Посмотрите, какие есть доступные пакеты и для каких версий, в этом разделе: http://www.zabbix.com/download

Далее будет показана установка на примере Ubuntu 16.04.
Скачайте и установите пакет Zabbix для выбранной системы:

# wget http://repo.zabbix.com/zabbix/3.2/ubuntu/pool/main/z/zabbix-release/zabbix-release_3.2-1+xenial_all.deb
# dpkg -i zabbix-release_3.2-1+xenial_all.deb

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

# apt-get update

Следующий шаг – установка сервера с MySQL, агента и прокси.

Установите MySQL:

# yum install zabbix-server-mysql zabbix-web-mysql

Создайте базу данных и пользователя MySQL, используя следующие команды. Вместо <root_пароль> напишите используемый рутовый пароль; вместо <пароль> (внутри апострофов) напишите новый пароль для пользователя Zabbix в базе данных:

# mysql -uroot -p<root_пароль>
create database zabbix character set utf8 collate utf8_bin;
grant all privileges on zabbix.* to zabbix@localhost identified by '<пароль>';
quit;

Проверьте, какая версия сейчас находится в пакете:

# rpm -q zabbix-server-mysql

Теперь импортируйте первоначальную схему и данные. Вместо звездочки напишите цифру актуальной версии. Далее вам нужно будет ввести пароль, который вы создали выше.

# zcat /usr/share/doc/zabbix-server-mysql-3.2.*/create.sql.gz | mysql -uzabbix -p zabbix

Измените настройки базы данных, а именно введите хост, пользователя, пароль в файл zabbix_server.conf так, как написано ниже, при этом DBPassword – это тот пароль, который вы вводили выше.

# vi /etc/zabbix/zabbix_server.conf
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=<пароль>

Далее запустите сервер Zabbix:

# service zabbix-server start
# update-rc.d zabbix-server enable

Настройки Apache для Zabbix находятся в /etc/zabbix/apache.conf. Некоторые настройки уже внесены. Обязательно раскомментируйте строку с временной зоной (date.timezone) и установите нужную. Если у вас московское время, то настройка будет выглядеть так:

php_value date.timezone Europe/Moscow

После этого перезапустите сервер Apache:

# service apache2 restart

Теперь установите агент Zabbix:

# apt-get install zabbix-agent

И запустите его:

# service zabbix-agent start

Перейдем к установке прокси.

Выполните следующую команду, заменив <database_type> на тот тип базы, который вы используете (например, zabbix-proxy-mysql):

# apt-get install zabbix-proxy-<database_type>

Далее вам нужно создать базу данных и пользователя для прокси. Сделать это можно так же, как уже было показано выше.

Примечание. Обратите внимание, что если сервер Zabbix и прокси находятся на одном хосте, их базы данных должны иметь разные названия, так как по умолчанию обе базы будут иметь название zabbix.

Скрипт для MySQL будет выглядеть примерно так:

# mysql -uroot -p<пароль>
create database zabbix character set utf8 collate utf8_bin;
grant all privileges on zabbix.* to zabbix@localhost identified by '<пароль>';
quit;
# cd database/mysql
# mysql -uzabbix -p<пароль> zabbix < schema.sql

Затем нужно импортировать первоначальную схему. Команда для MySQL:

# zcat /usr/share/doc/zabbix-proxy-mysql/create.sql.gz | mysql -u<имя_пользователя> zabbix

Как и в случае с обычным сервером, конфигурационный файл прокси тоже нужно отредактировать:

# vi /etc/zabbix/zabbix_proxy.conf
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix

Команда для запуска прокси:

# service zabbix-proxy start

Заключение

Теперь у вас есть работающие элементы Zabbix. О том, как правильно его настроить, я расскажу в следующей статье.

VPS VDS Timeweb

Комментарии