Доброго
времени суток. В данную серию статей я хочу посвятить одной из
замечательных систем мониторинга - zabbix. По долгу службы пришлось мне
искать систему мониторинга. Я останавливался на nagios, cacti, mrtg. Но
они мне не подошли. И вот я нашел zabbix. Ознакомившись с документацией,
я понял, что zabbix - это то, что надо...
И так, что же такое zabbix? Zabbix - это система распределенного мониторинга, которая позволяет мониторить многочисленные параметры сети и узлов сети. Zabbix распространяется под лицензией GPL, а это означает - она бесплатна.
Установку я буду производить из исходников. Поэтому давайте в начале скачаем исходный код Zabbix с официального сайта. Разархивируем скачанный архив. Для этого переходим в директорию с архивом и вводим комманду:
$ tar -zxvf zabbix-2.0.0.tar.gz
Отлично. Следующим этапом необходимо подготовить нашу систему к установке zabbix. Нам понадобятся следующие пакеты:
Если данные пакеты не установлены в системе, установим их:
sudo apt-get install snmp libsnmp-dev snmpd libcurl4-openssl-dev fping
После того как все необходимые пакеты установлены, необходимо создать группу zabbix и пользователя zabbix:
groupadd zabbix
useradd -g zabbix zabbix
Теперь нужно подготовить базу данных. Zabbix может работать как с MySQL, так и с PostgreSQL. (поддерживает и другие, Вы можете ознакомиться в официальной документации). Производитель рекомендует использовать в качестве сервера базы данных PostgreSQL, если Вы собираетесь мониторить более 50 узлов.
Но я использую MySQL и на данный момент у меня на мониторинге стоит 123 узла - пока проблем не наблюдал. В дальнейшем планируется увеличение узлов, тогда и посмотрим. И так, создаем базу данных в MySQL:
shell> mysql -u <имя пользователя> -p
<пароль>
mysql> create database zabbix character set utf8
mysql> quit
Теперь заходим в директорию с разархивированными исходниками zabbix. В ней в директории ./database/mysql/ находятся три файла:
mysql -u <пользователь> -p < schema.sql
или из самого mysql:
mysql>use zabbix
mysql>source schema.sql
По аналогии запускаем и остальные файлы images.sql и data.sql
Порядок обязателен.
Все на этом этап подготовки к установке завершен. Теперь можно приступить к самой установке zabbix.
sudo ./configure --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl
Мы подключаем сам zabbix сервер, zabbix агент, поддержку snmp.
Если все прошло хорошо (а об ошибках с которыми я столкнулся и как их решить я опишу ниже) запускаем установку:
sudo make install
На этом установка завершена. Осталось произвести небольшую конфигурацию сервера и агента zabbix.
DBName=[имя базы данных, у меня zabbix]
DBUser = [имя пользователя доступа к MySQL]
DBPassword = [пароль доступа к базе данных]
Вот в принципе и все. Если у Вас MySQL настроен по умолчанию, то все должно заработать.
Теперь настроим агент zabbix. Если zabbix агент находится на той же машине, где и zabbix сервер, то ничего менять не надо. Если же zabbix агент находиться на другой машине, то открываем /usr/local/etx/zabbix_agentd.conf ищем строку Server=127.0.0.1 и заменяем на Server=[адрес zabbix сервера]
Вот и все. Запускаем zabbix сервер и агент командами:
zabbix_server
zabbix_agentd
Пришло время к установке web интерфейса для zabbix.
Заходим на наш хост. Тут нужно немного подправить наш php.ini согласно требованиям zabbix.
После того как все требования zabbix будут удовлетворены, можно перейти к следующему шагу.
На этом шаге нам надо выбрать тип базы данных (в моем случае это MySQL), укаазать адрес сервера (у меня localhost), название базы данных (для моего случае это zabbix), логин и пароль для доступа к базе данных:
После ввода всех данных жмем “Test connection”, если тест прошел успешно переходим к следующему шагу, если же нет, то проверяем введенные данные.
На следующем шаге вводим информацию по zabbix серверу: адрес, порт, название.
Переходим к следующему шагу. На этом шаге проверяем всю введенную информацию
Если вся информация введена правильно - переходим к установке, нет - возвращаемся и исправляем.
Как видите у меня все прошло успешно. Учтите, что файл zabbix.conf.php должен быть открыт на запись. Как это сделать я описывал в своей статье об изменении прав доступа Жмем “Finish”. И переходим к окну авторизации.
По умолчанию логин - Admin, пароль - zabbix.
На этом установка завершена.
Давайте рассмотрим проблемы с которыми я столкнулся при установке zabbix и как их решить.
Во время установки мониторинга я столкнулся с двумя ошибками:
А на этом я завершаю статью, посвященную установке мониторинга zabbix. В следующей статье мы познакомимся с основными понятиями, затем разберем интерфейс и перейдем к настройке мониторинга хостов (устройств нашей сети). Так, что следите за выходом новых статей.
И так, что же такое zabbix? Zabbix - это система распределенного мониторинга, которая позволяет мониторить многочисленные параметры сети и узлов сети. Zabbix распространяется под лицензией GPL, а это означает - она бесплатна.
Возможности zabbix
Как я уже говорил выше, zabbix обладает огромными возможностями, а конкретно:
- мониторинг доступности
- мониторинг по SNMP
- мониторинг по IPMI
- мониторинг по JMX
- собственная настройка порогов срабатывание проблемы
- настройка оповещений
- группировка по хостам, по собираемым данным
- использование шаблонов
- система прав доступа
- и многое другое
Подготовка к установке zabbix
Сразу хочу отметить, что установку я буду производить на Linux, а точнее на Ubuntu Server.Установку я буду производить из исходников. Поэтому давайте в начале скачаем исходный код Zabbix с официального сайта. Разархивируем скачанный архив. Для этого переходим в директорию с архивом и вводим комманду:
$ tar -zxvf zabbix-2.0.0.tar.gz
Отлично. Следующим этапом необходимо подготовить нашу систему к установке zabbix. Нам понадобятся следующие пакеты:
- snmp
- libsnmp-dev
- snmpd
- libcurl4-openssl-dev
- fping
Если данные пакеты не установлены в системе, установим их:
sudo apt-get install snmp libsnmp-dev snmpd libcurl4-openssl-dev fping
После того как все необходимые пакеты установлены, необходимо создать группу zabbix и пользователя zabbix:
groupadd zabbix
useradd -g zabbix zabbix
Теперь нужно подготовить базу данных. Zabbix может работать как с MySQL, так и с PostgreSQL. (поддерживает и другие, Вы можете ознакомиться в официальной документации). Производитель рекомендует использовать в качестве сервера базы данных PostgreSQL, если Вы собираетесь мониторить более 50 узлов.
Но я использую MySQL и на данный момент у меня на мониторинге стоит 123 узла - пока проблем не наблюдал. В дальнейшем планируется увеличение узлов, тогда и посмотрим. И так, создаем базу данных в MySQL:
shell> mysql -u <имя пользователя> -p
<пароль>
mysql> create database zabbix character set utf8
mysql> quit
Теперь заходим в директорию с разархивированными исходниками zabbix. В ней в директории ./database/mysql/ находятся три файла:
- schema.sql
- images.sql
- data.sql
mysql -u <пользователь> -p < schema.sql
или из самого mysql:
mysql>use zabbix
mysql>source schema.sql
По аналогии запускаем и остальные файлы images.sql и data.sql
Порядок обязателен.
Все на этом этап подготовки к установке завершен. Теперь можно приступить к самой установке zabbix.
Установка мониторинга zabbix
Переходим в директорию с кодом zabbix и запускаем:
sudo ./configure --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl
Мы подключаем сам zabbix сервер, zabbix агент, поддержку snmp.
Если все прошло хорошо (а об ошибках с которыми я столкнулся и как их решить я опишу ниже) запускаем установку:
sudo make install
На этом установка завершена. Осталось произвести небольшую конфигурацию сервера и агента zabbix.
Первоначальная настройка zabbix
Для работы zabbix сервера необходимо произвести первоначальные настройки. Открываем файл конфигурации /usr/local/etc/zabbix_server.conf (так в Ubuntu) и редактируем его:
DBName=[имя базы данных, у меня zabbix]
DBUser = [имя пользователя доступа к MySQL]
DBPassword = [пароль доступа к базе данных]
Вот в принципе и все. Если у Вас MySQL настроен по умолчанию, то все должно заработать.
Теперь настроим агент zabbix. Если zabbix агент находится на той же машине, где и zabbix сервер, то ничего менять не надо. Если же zabbix агент находиться на другой машине, то открываем /usr/local/etx/zabbix_agentd.conf ищем строку Server=127.0.0.1 и заменяем на Server=[адрес zabbix сервера]
Вот и все. Запускаем zabbix сервер и агент командами:
zabbix_server
zabbix_agentd
Пришло время к установке web интерфейса для zabbix.
Установка web интерфейса zabbix
Создаем виртуальный хост zabbix, как это сделать я писал в своей статье про создание виртуального хоста. Копируем в директорию созданного виртуального хоста файлы из директории с zabbix/frontends/php
Заходим на наш хост. Тут нужно немного подправить наш php.ini согласно требованиям zabbix.
- memory_limit - задает максимальную величину использования памяти скриптом
- post_max_size - устанавливает максимальный размер данных передаваемых методом POST
- upload_max_filesize - максимальный размер загружаемого файла
- max_execution_time - время выполнения скрипта
- max_input_time - максимальное время в секундах, в течение которого скрипт должен разобрать все входные данные
- timezone - в php.ini date.timezone, устанавливает часовой пояс
- datebase support - тип базы данных
- bcmath - вычисления с произвольной точностью
- mbstring - работа с многобайтными строками
- sockets - работа с сокетами
- gd - графическая библиотека
- и др.
После того как все требования zabbix будут удовлетворены, можно перейти к следующему шагу.
На этом шаге нам надо выбрать тип базы данных (в моем случае это MySQL), укаазать адрес сервера (у меня localhost), название базы данных (для моего случае это zabbix), логин и пароль для доступа к базе данных:
После ввода всех данных жмем “Test connection”, если тест прошел успешно переходим к следующему шагу, если же нет, то проверяем введенные данные.
На следующем шаге вводим информацию по zabbix серверу: адрес, порт, название.
Переходим к следующему шагу. На этом шаге проверяем всю введенную информацию
Если вся информация введена правильно - переходим к установке, нет - возвращаемся и исправляем.
Как видите у меня все прошло успешно. Учтите, что файл zabbix.conf.php должен быть открыт на запись. Как это сделать я описывал в своей статье об изменении прав доступа Жмем “Finish”. И переходим к окну авторизации.
По умолчанию логин - Admin, пароль - zabbix.
На этом установка завершена.
Давайте рассмотрим проблемы с которыми я столкнулся при установке zabbix и как их решить.
Проблемы возникающие при установке zabbix и их решение
Во время установки мониторинга я столкнулся с двумя ошибками:
- При выполнении configure у меня выскочила ошибка “MySQL library not found”. Решается данная проблема легко, путем установки libmysqlclient16-dev
- Вторая ошибка выскочила при выполнении make install “The programm ‘make’ is currently not installed”. Тут все просто, у меня не установлена программа make.
А на этом я завершаю статью, посвященную установке мониторинга zabbix. В следующей статье мы познакомимся с основными понятиями, затем разберем интерфейс и перейдем к настройке мониторинга хостов (устройств нашей сети). Так, что следите за выходом новых статей.
0 коммент.:
Отправить комментарий