Что такое 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
Посмотрите, какие есть доступные пакеты и для каких версий, в этом разделе: 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. О том, как правильно его настроить, я расскажу в следующей статье.
Комментарии