Введение
Когда ИТ-инфраструктура организации достигает определенных масштабов, часто возникает необходимость постоянного наблюдения за работой наиболее важных узлов в сети предприятия. На сегодня существуют самые различные системы подобного класса от разных разработчиков. Об разворачивании одной из таких систем мониторинга и пойдет речь. Ниже представлена пошаговая инструкция по установке системы Zabbix на базе сервера под управлением ОС CentOS.
Текст статьи подразумевает наличие базовых знаний и навыков у читателя в области установки и работы с операционными системами семейства Linux. Ввиду этого, также опущен процесс инсталляции ОС. Отмечу лишь, что в данном примере был использован дистрибутив Centos 6.7 i386 в поставке «minimal».
Далее, применительно к описываемой системе, по тексту подразумевается следующее:
имеется предварительно настроенный доступ к сети интернет
команды в консоли выполняются пользователем root
(если не указано обратное)
Приступим к делу.
Содержание
Установка репозитория EPEL и необходимых пакетов
Настройка сервера баз данных — MySQL
Правка конфигурационных файлов служб Zabbix
Запуск и проверка сервера Zabbix
Настройка автоматического запуска служб при старте системы
Установка агента Zabbix на отслеживаемые узлы сети
Пример настройки элемента данных Простая проверка
Использованные источники
Установка репозитория EPEL и необходимых пакетов
Наиболее удобным и быстрым можно считать способ установки бинарных пакетов zabbix из репозитория EPEL, для чего достаточно установить релиз-пакет из CentOS Extras. Этим и займемся.
После установки системы и перед продолжением работы, рекомендуется обновить yum:
yum update yum
после чего установим релиз epel:
yum install epel-release
и наконец все пакеты, необходимые для работы сервера Zabbix:
yum install mysql-server zabbix22-server-mysql zabbix22-web-mysql zabbix22-agent
Как обычно подтверждаем все действия (клавиша «y», Enter, или добавьте в конце каждой строки ключ -y).
Здесь пока все, перейдем к серверу баз данных.
Настройка сервера баз данных — MySQL
Запустим сервер БД и начальную «безопасную настройку»
service mysqld start
mysql_secure_installation
Тут на одном из шагов будет запрошен пароль для пользователя root сервера MySQL — в первый раз просто нажмите enter (после уведомления: «Enter current password for root (enter for none):»).
Позже вводите внимательно ваш новый пароль и не забывайте его!
По окончании процедуры настройки (подтверждаем умолчания отмеченные как [Y/n]), входим в консоль mysql с новым паролем для root:
mysql -u root -p
в консоли mysql выполняем следующие команды
(«mysql>» — это текст заголовка, набирать его не нужно; вместо ‘password’ – ваш пароль для пользователя zabbix):
mysql> create database zabbix character set utf8;
mysql> grant all privileges on zabbix.* to 'zabbix'@'localhost' identified by 'password';
mysql> flush privileges;
mysql> quit
После возврата в консоль оболочки (bash) делаем импорт начальной схемы и данных:
mysql -u zabbix -p zabbix < /usr/share/zabbix-mysql/schema.sql
mysql -u zabbix -p zabbix < /usr/share/zabbix-mysql/images.sql
mysql -u zabbix -p zabbix < /usr/share/zabbix-mysql/data.sql
Правка конфигурационных файлов служб Zabbix
Базовый файл конфигурации Zabbix
Выполним базовую настройку сервера Zabbix.
Откроем файл конфигурации в текстовом редакторе:
vi /etc/zabbix/zabbix_server.conf
Переведите редактор vi в режим «вставки» клавишей I.
Найдите, раскомментируйте и установите значение для поля пароль вашего пользователя zabbix:
DBPassword=password
Убедитесь также, что указанные параметры соответствуют приведенным:
ListenPort=10051 StartTrappers=5
После этого сохраните файл (Esq, Shift+:, wq).
Файл настройки PHP
Откройте конфигурационный файл
vi /etc/php.ini
и приведите указанные параметры удовлетворяющими требованиям для системы zabbix:
(удалите символ ; — знак комментария перед теми строками параметров, где они встретятся)
max_execution_time = 300 max_input_time = 300 post_max_size = 18M date.timezone = Europe/Moscow memory_limit = 128M upload_max_filesize = 2M
Сохраните изменения.
Правила для сетевого экрана IPTABLES
Установим правило, разрешающее входящие соединения на порт нашего web-сервера:
iptables -I INPUT -i eth0 -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
сохраним новое правило для постоянного использования в iptables:
service iptables save
Параметры системы безопасности SeLinux
Данный компонент системы, по-умолчанию задействованный в системах на базе RedHat, как правило включен в свой максимально «секьюрный» режим, что может при такой конфигурации помешать работе собственного агента сервера, служащего для само-мониторинга в web-панели.
Для деактивации данной системы необходимо выполнить следующие действия.
vi /etc/selinux/config
исправьте параметр на значение указанное ниже:
SELINUX=permissive
Сохраните файл.
Такая настройка отключит блокировку процессов в Selinux — это, конечно не самый безопасный способ для некоторых критичных систем, но при этом самый быстрый. Для описания более тонкой «настройки» Selinux требуется отдельная статья, выходящая за рамки текущего текста.
Для временного отключения блокировок в текущем сеансе, можно выполнить еще одно действие:
echo 0 >/selinux/enforce
Хочу добавить еще одно небольшое дополнение, которое может пригодиться, если вы захотите задействовать в дальнейшем такой инструментарий в администрировании средств наблюдения, как встроенные функции так называемой «Простой проверки» — icmpping и аналогичные ей.
Чтобы иметь возможность «пинговать» серверы, на которые у вас нет возможности/прав устанавливать собственные программы (агенты), на сервер Zabbix должна быть установлена небольшая программа fping. В моем случае она уже была в системе, поэтому дальше опишу некоторые настройки, необходимые для корректной работы с ней системы Zabbix.
vi /etc/zabbix/zabbix_server.conf
FpingLocation=/usr/sbin/fping
chown root:zabbixsrv /usr/sbin/fping
chmod 4710 /usr/sbin/fping
(2 эти команды выше — именно в таком порядке)
После этого приступим к проверке работы сервера.
Запуск и проверка сервера Zabbix
В предыдущей части мы настроили все основные параметры системы связанные с сервером zabbix и компонентами, которые обеспечивают его работу. Теперь настало время первого запуска zabbix и проверки его работоспособности.
service httpd start
service zabbix-server start
Теперь откройте в адресной строке URL с главной страницей сервера:
http://ip_zabbix_server/zabbix
Пройдите по шагам первичной настройки веб-интерфейса:
Теперь можно сделать свой первый вход в административную панель:
Пользователь: Admin
Пароль (по-умолчанию после установки): zabbix
Если все в порядке, то должно быть как на скриншотах ниже:
Если есть какие-то нестыковки, то проверяем еще раз все конфигурационные файлы и параметры в них.
Настройка автоматического запуска служб при старте системы
Когда все проверено и работает, необходимо «прописать» автоматический запуск всех демонов, участвующих в нашей авантюре:
chkconfig zabbix-server on
chkconfig mysqld on
chkconfig httpd on
chkconfig zabbix-agent on
После этого завешающий аккорд:
reboot
После старта, все должно быть также бодро и соответствовать вашим лучшим ожиданиям.
Установка агента Zabbix на отслеживаемые узлы сети
Когда сервер полностью введен в работу, можно заняться установкой агентов и прописыванием оных в ваш мониторинг.
Для примера рассмотрим пару простых случаев на базе ОС разных семейств.
Ubuntu 14.04.3 LTS
Устанавливаем агента
wget http://repo.zabbix.com/zabbix/2.2/ubuntu/pool/main/z/zabbix-release/zabbix-release_2.2-1+trusty_all.deb
dpkg -i zabbix-release_2.2-1+trusty_all.deb
apt-get update
apt-get install zabbix-agent
Правим конфиг
vi /etc/zabbix/zabbix_agentd.conf
Server=192.168.10.150 Hostname=fileserver
Сохраняем файл.
Добавляем агента в авто-запуск при старте сервера:
sysv-rc-conf --level 2345 zabbix-agent on
Добавляем новый агент в базу мониторинга:
Нажимаем кнопку «сохранить».
Windows XP
Для установки агента перейдем на страницу загрузки и скачаем нужный бинарный файл:
http://www.zabbix.com/ru/download.php
В моем случае это zabbix_agents_2.2.9.win.zip . Распаковываем его в C:\Program Files
Изменим пару параметров в файле конфигурации (для этой цели рекомендую Notepad++):
C:\Program Files\zabbix_agents_2.2.9.win\conf\zabbix_agentd.win.conf
Server=192.168.10.150 Hostname=WinXP1
Сохраням файл.
Пара слов о параметре Hostname. В том случае, если вам нужно, чтобы агент передавал «системное» hostname серверу Zabbix, то необходимо закомментировать параметр Hostname= поставив перед ним знак #.
Запускаем командную строку Windows (cmd) и переходим в каталог с исполняемыми файлами и выполняем установку агента с нашим zabbix-agentd.win.conf
(от имени администратора):
cd C:\Program Files\zabbix_agents_2.2.9.win\bin\win32\
zabbix_agentd.exe –config "C:\ProgramFiles\zabbix_agents_2.2.9.win\conf\zabbix_agentd.win.conf" --install
Далее добавляем исполняемый файл агента в исключения брандмауэра Windows:
Запускаем службу агента через соответствующую оснастку:
Настало время добавить агент в базу мониторинга. Заходим в раздел «Узлы сети» и добавляем наш новый хост.
Для определенных разновидностей ОС можно также добавить специальные группы. В таком случае, при добавлении нового хоста, не забудьте проверить, что в его настройках присутствует нужный шаблон, такой например, как «Template OS Windows».
Если же вам вместо подробного мониторинга параметров сервера достаточно стандартного отслеживания по ICMP-echo, то вам вполне хватит возможностей шаблона «Template ICMP Ping».
Пример настройки элемента данных Простая проверка
Немного ликбеза насчет метода «Простой проверки» и ее настройки для работы по протоколу ICMP.
Простая проверка, это тот способ отслеживания удаленного сервера, когда у вас отсутствует возможность установки своего ПО на стороне сервера (виртуального хостинга и т.п.), еще они называются «безагентными».
Ранее, я описал выше небольшую настройку на стороне сервера, заключавшейся в выставлении корректных прав, при которых возможно функционирование утилиты fping не от имени root (есть ограничения).
Данная утилита, не являясь компонентом сервера Zabbix, используется им при этом для выполнения «простой проверки» через функции icmpping.
Для настройки такой проверки, после создания нового «узла сети», перейдите в меню настройки «элементы данных» для текущего узла и выберите в поле «Тип» вариант «Простая проверка», а поле «ключ» внесите значение:
icmpping[,1,1000,56,500]
После этого, если все прочие параметры ниже в таблице вас устраивают, нажмите «сохранить» в этом же окне, в подвале страницы.
Данные числовые значения представляют из себя аргументы для упомянутой команды fping:
sudo -u zabbixsrv fping -C 1 -p 1000 -b 56 -t 500 ya.ru
где: -C 1 = кол-во отправляемых пакетов; -p 1000 = интервал с миллисекундах; -b 56 = размер пакета в Байтах;
-t 500 = время таймаута ожидания ответа в миллисекундах.
Тут команда приведена для примера, но в случае возникновения необходимости проверки корректной работы fping, (если наблюдаются сообщения об ошибках работы функций icmpping в панели «элементы данных» – «fping failed» и т.п.), эта команда может быть запущена в консоли, на стороне сервера из под пользователя root. Приведенные значения, (кроме -C 1) предустановленные в fping по-умолчанию, отклонение от этих значений может привести к отказу запуска fping (см. man fping – restrictions). Если у вас нет времени/желания/необходимости разбираться в указанных значениях — просто задайте пустой параметр icmpping (также в одно слово без квадратных скобок).
В разделе «Мониторинг — Последние данные» вы можете увидеть график, который будет формировать только что созданный вами «элемент данных» с простой проверкой.
UPD1
На момент публикации данного текста, доступны более новые версии платформы Zabbix, следите за новостями компании на сайте http://www.zabbix.com/. Если вы разворачиваете новую систему «с нуля», логично делать установку последней стабильной версии продукта. В случае, если у вас в работе уже имеется сервер zabbix с устаревшей версией (< 3.0), то после окончания знакомства с данной статьей, обязательно читаем замечания к обновлениям на сайте разрабочика: требуемые шаги для успешного обновления до Zabbix 3.0.
UPD2
Доступна Статья-дополнение по установке Zabbix 3.0 на CentOS 7.
На этом пожалуй все. Удачи.
Использованные источники:
Installing on CentOS or RHEL
Zabbix Documentation 2.2 Установка из пакетов дистрибутивов
What is Extra Packages for Enterprise Linux (or EPEL)?
Zabbix 2.0 packages for RHEL, CentOS, SL
Zabbix server is not running
Вход и настройка пользователя
How to Disable SELinux
How to Install Zabbix Agent on Ubuntu 14.04/12.04 LTS and Debian 7/6
Установка Zabbix Windows агента
Поддерживаемые параметры в файле конфигурации Zabbix агента (Windows)
Zabbix Documentation 2.0 — Простые проверки
Вышел Zabbix 3.0
Уведомление: Установка системы мониторинга Zabbix в CentOS 7 | Wilber On-Line Room