< meta name="referrer" content="origin">
Home » Linux » CentOS » Установка и настройка Zabbix 3.0 на CentOS 7

Установка и настройка Zabbix 3.0 на CentOS 7

В феврале 2016 года вышла новая версия бесплатной системы мониторинга, которую я регулярно использую. Я подробно расскажу об установке и начальной настройке Zabbix 3.0 на примере CentOS 7 со скриншотами и пояснениями. Надеюсь эта версия оправдает наши ожидания и можно будет планово переводить свои системы на новую версию.

Обращаю внимание, что данная статья устарела. Вышла новая версия заббикс. Читайте статью по установке и настройке zabbix 3.2. Если вам все же необходима версия именно 3.0, то можете использовать данный материал.

Введение

Кратко о системе мониторинга Zabbix я уже писал в предыдущей своей статье по установке zabbix 2.4, поэтому не буду повторяться. О наиболее важны изменениях я тоже уже рассказывал в материале по обновлению zabbix 2.4 до 3.0, можно ознакомиться. Добавлю новую информацию. Я уже обновил несколько серверов мониторинга до последней версии. В плане функциональности у меня нет претензий, все работает как минимум не хуже чем раньше, но новые возможности я пока не использовал.

А вот внешний вид двух предложенных тем лично мне не нравится. Старая кажется более гармоничной и наглядной. Это сдерживает меня от обновления всех систем на новую версию. Ну не нравятся мне новые темы, не хочу на них смотреть. Я дольше и труднее воспринимаю информацию в них. Скорее всего это мое субъективное мнение, всегда трудно привыкать к новым вещам. Так что предлагаю не ориентироваться на мои впечатления, а ставить новую версию и смотреть.

Было бы любопытно услышать вашу версию того, насколько стали удобнее и приятнее новые темы оформления, по сравнению со старой. Есть еще такие же ретрограды и консерваторы, как я? 🙂

Подготовка сервера к установке

Начинаем традиционно с подготовки рабочего окружения. Первым делом вам необходимо установить и настроить сервер CentOS 7. Дальше нам нужно настроить web сервер для работы интерфейса управления. У меня есть подробный материал на тему настройки web сервера на centos 7, можете ознакомиться с ним и настроить внимательно и осмысленно. Далее я буду просто приводить команды установки, без пояснений. В этой статье я буду делать стандартную установку Zabbix на традиционный веб сервер apache + php. Если вы хотите, чтобы ваш заббикс работал на веб сервере nginx + php-fpm, читайте отдельный материал по установке zabbix на nginx и php-fpm.

Начнем с обновления системы:

# yum -y update

Работа будет проходить на следующей версии системы:

Версия системы CentOS 7

Отключаем SElinux. Любителям с ним повозиться, дальше можно не читать. Не люблю споров на тему SElinux. Каждый сам решает для себя в конкретной ситуации, нужен он ему на сервере или нет. Я не вижу смысла с ним заморачиваться на сервере мониторинга в локальной сети.

# mcedit /etc/sysconfig/selinux

Редактируем строку:

SELINUX=disabled

и перезагружаемся.

Теперь установим mariadb. Ее необходимо ставить отдельно, почему-то она не устанавливается как необходимая зависимость при установке самого сервере zabbix.

На всякий случай упомяну для тех, кто не знает, что такое mariadb и почему мы ставим ее, а не mysql. Mariadb — ответвление mysql. Они полностью совместимы, возможен в любой момент переход с одной субд на другую и обратно. Есть информация, что mariadb пошустрее работает mysql и люди потихоньку перебираются на нее. Разработчики CentOS начиная с версии 7 предлагают ее как сервер баз данных по-умолчанию.
# yum install -y mariadb mariadb-server

Запускаем mariadb и добавляем ее в автозагрузку:

# systemctl start mariadb
# systemctl enable mariadb.service

Отрабатываем скрипт первоначальной настройки mysql:

# /usr/bin/mysql_secure_installation

Все подготовительные работы выполнены, двигаемся дальше.

Установка сервера Zabbix 3.0

Подключаем официальный репозиторий 3.0:

# rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm

Устанавливаем Zabbix сервер с веб-интерфейсом и с базой данных MySQL:

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

Дожидаемся окончания загрузки всех зависимостей. После этого нужно создать пользователя и базу данных для мониторинга. Если вы ранее настраивали отдельно web сервер по моей статье, то можете сделать это через phpmyadmin. Если у вас его нет, то делаем все через консоль.

# mysql -uroot -ptopsecret
> create database zabbix character set utf8 collate utf8_bin;
> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabpassword';
topsecret пароль пользователя root mysql, это не системный root
zabpassword пароль пользователя zabbix, у которого полный доступ к базе mysql zabbix

Теперь импортируем схему БД и начальные данные.

# zcat /usr/share/doc/zabbix-server-mysql-3.0.1/create.sql.gz | mysql -uroot -ptopsecret zabbix

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

Теперь редактируем файл конфигурации сервера заббикс. Прописываем данные для подключения к БД.

# mcedit /etc/zabbix/zabbix_server.conf

Изменяем строки:

DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabpassword

Этих минимальных настроек достаточно, для работы сервера. Запускаем его и добавляем в автозагрузку.

# systemctl enable zabbix-server
# systemctl start zabbix-server

Проверяем лог файл на наличие ошибок.

# cat /var/log/zabbix/zabbix_server.log

Просмотр zabbix_server.log

Если у вас так же, значит все в порядке. Сервер штатно запустился и готов к работе.

Для продолжения настройки сервера, нам нужно зайти в web интерфейс. Перед этим отредактируем файл конфигурации web сервера. Открываем конфиг и раскомментируем одну строку, изменив ее под свой часовой пояс.

# mcedit /etc/httpd/conf.d/zabbix.conf

php_value date.timezone Europe/Moscow

Сохраняем файл. Теперь запускаем httpd и добавляем его в автозагрузку.

# systemctl start httpd
# systemctl enable httpd

Можно заходить на веб интерфейс по адресу http://192.168.1.25/zabbix, где 192.168.1.25 ip адрес сервера, где устанавливаем и настраиваем мониторинг.

На этом этапе важно проверить настройки firewalld. Если вы его не настраивали и не отключали, то скорее всего по указанному адресу у вас ничего не откроется. В данной статье я не буду отвлекаться на настройку фаервола, это тема отдельного разговора. Подробно вопрос настройки iptables я рассмотрел отдельно. Либо настройте firewalld, либо просто отключите. В приведенной ссылке рассказано, как это сделать.

Открываем в браузере web интерфейс zabbix. Нас встречает страница приветствия. Если у вас то же самое, вы на верном пути.

Установка web интерфейса zabbix 3.0

Жмем Next step и попадаем на страницу проверок. Если все делали точно по инструкции, то все проверки у вас будут пройдены.

Проверка требований инсталлятора

Двигаемся дальше и указываем параметры для подключения к mysql. Данные те же, что мы указывали ранее при создании БД и пользователя.

Настройка соединения с DB

На следующем этапе надо указать адрес сервера и порт, на котором он будет работать. Оставляем значения по-умолчанию.

Настройки сервера

Еше раз проверяем все настройки. Если все в порядке, двигаемся дальше на заключительный этап установки.

Проверка настроек

Если поучили это сообщение, то поздравляю, установка сервера мониторинга Zabbix 3.0 закончена.

Завершение установки zabbix 3.0

Нажимаете Finish и попадаете на страницу логина в систему. Данные по умолчанию следующие:

Пользователь Admin
Пароль zabbix

Нас встречает голая панель управления, так как никаких параметров мы не наблюдаем и не имеем ни одного объекта сбора данных.

Dashboard

Обращаю внимание на данный скриншот. Я устанавливал и затем заходил в панель через IE 11. Здесь можно увидеть, что реально я не залогинился админом, а зашел как гость, так как нет некоторых разделов администратора. Я несколько раз перепроверил, почистил темпы, перезапустил браузер, но ничего не помогло. Я не мог войти в систему под админом, хотя использовал админскую учетку. Все стало в порядке, когда я зашел через Chrome. Имейте это ввиду. В прошлом релизе 2.4 я не мог нормально провести установку через Yandex браузер, тут же ошибка в IE, хотя я специально использовал его, так как думал, что в нем вероятность ошибки будет меньше. Я ошибся.

Сбор данных мы настроим чуть позже, установив zabbix агент на этот же сервер. А пока сделаем некоторые минимальные и необходимые настройки на сервере.

Настройка email оповещений

В версии 3.0 наконец-то появилась настройка уведомлений с авторизацией по smtp. Раньше для реализации такой очевидной и необходимой функции приходилось пользоваться сторонними программами и скриптами. Я писал отдельно об этом — отправка email уведомлений с авторизацией smtp. Теперь все это в прошлом. Настроим отправку уведомлений через web интерфейс.

Идем в раздел Administration -> Media types и нажимаем на Email.

Настройка e-mail оповещений

Указываем следующие настройки для отправки почты через gmail

Параметры почтового сервера

Это мы настроили адрес отправки. Теперь нужно пользователю добавить адрес для получения. Для этого идем в Administration -> Users, выбираем пользователя Admin.

Настройка уведомлений пользователя

Идем в закладку Media и жмем add.

Добавление почтового адреса

Указываем почтовый ящик получателя

Указание адреса получателя оповещений

 

Жмем Add, затем Update. Дальше нужно активировать отправку уведомлений по событиям. Для этого идем в Configuration -> Actions и жмем на Disabled, чтобы она стала Enabled.

Активация рассылки уведомлений

Все, отправку уведомлений мы настроили, осталось подождать срабатывания триггера, чтобы проверить.

Установка zabbix agent на CentOS 7

Добавим теперь хотя бы одного агента мониторинга, чтобы проверить работу системы. Устанавливать будем на этот же сервер. Делается это просто:

# yum -y install zabbix-agent

Для работы с сервером, который установлен локально на этой же машине, больше никаких настроек не надо делать. Если же вы будете устанавливать zabbix agent на удаленную машину, то в файле конфигурации агента /etc/zabbix/zabbix_agentd.conf нужно будет задать следующие параметры:

Server=192.168.1.25
ServerActive=192.168.1.25
Hostname=srv10 # имя вашего узла мониторинга, которое будет указано на сервере zabbix

Запускаем агент и добавляем в автозагрузку:

# systemctl start zabbix-agent
# systemctl enable zabbix-agent

Проверяем лог файл.

# cat /var/log/zabbix/zabbix_agentd.log

21197:20150912:212555.935 no active checks on server [127.0.0.1:10051]: host [Zabbix server] not monitored

У меня там следующая ошибка. Я знаю с чем она связана. На сервере по-умолчанию уже добавлен локальный host для мониторинга, но он отключен. Чтобы его включить, идем в раздел Configuration -> Hosts и активируем Zabbix server нажатием на Disabled, чтобы он стал Enabled.

Активация хоста

Можно подождать, либо вручную перезапустить агент, чтобы сразу проверить изменения:

# systemctl restart zabbix-agent

Для надежности, проверяем еще раз лог файл на наличие ошибок. Их быть не должно. Агент заработал и начал отправлять данные на сервер. Чтобы проверить поступление данных, надо подождать пару минут и идти в раздел Monitoring -> Latest data. Выбрать там наш единственный хост и нажать Filter.

Проверка поступления данных мониторинга

Видно, что данные уже начали поступать.

Теперь попробуем остановить агент и проверить, придет ли уведомление на почту. Идем в консоль и выключаем агента:

# systemctl stop zabbix-agent

Ждем минимум 5 минут. Именно такой интервал указан по-умолчанию для срабатывания триггера на недоступность агента. После этого проверяем Dashboard.

Статус отправки оповещения

При наведении мышки на цифру 1 в столбце ACTIONS вы увидите информацию о том, что оповещение по email было отправлено пользователю Admin. На почте у вас будет письмо:

Пример уведомления по почте

После возобновления работы агента, вы еще раз получите уведомление о том, что он теперь доступен.

Установка zabbix агент на Windows и настройка мониторинга

Теперь для полноты картины добавим к серверу один агент, установленный на windows машину и настроим ее мониторинг. Для этого идем на страницу загрузок http://www.zabbix.com/download.php и скачиваем самый последний агент для Windows. Все агенты находятся в разделе Zabbix pre-compiled agents. Прямая ссылка на последнюю версию на текущий момент — zabbix_agents_3.0.0.win.zip

Распаковываем архив. Создаем на диске С: папку zabbix и купируем туда следующие файлы:

  • zabbix_agentd.exe
  • zabbix_get.exe
  • zabbix_sender.exe
  • zabbix_agentd.win.conf

Исполняемые файлы берете той разрядности, какая у вас в системе. В исходном архиве есть как x32 так и x64. Дальше открываем командную строку с правами администратора и выполняем следующую команду для установки zabbix agent на windows:

c:/zabbix/zabbix_agentd.exe --config c:/zabbix/zabbix_agentd.win.conf --install

Установка zabbix agent в windows

Открываем файл zabbix_agentd.win.conf любым текстовым редактором и изменяем следующие параметры:

Server=192.168.1.25
ServerActive=192.168.1.25
Hostname=win7-01

Теперь открываем оснастку со службами, ищем службу с именем Zabbix agent и запускаем ее.

Запуск службы Zabbix agent

Чтобы работал мониторинг windows машины, нужно добавить на сервер мониторинга host с таким же hostname, что мы указали в конфиге агента. Для этого идем в web панель, открываем раздел Configuration -> Hosts и жмем Create host.

Добавление хоста в системе мониторинга

На первой вкладке указываем имя хоста, такое же, как на клиенте, добавляем в любую существующую группу и задаем ip адрес компьютера.

Параметры хоста

Потом переходим на вкладку Templates и нажимаем Select. Выбираем шаблон Template OS Windows и жмем маленькую ссылку add, затем большую.

Установка шаблона хоста

Новый host мониторинга добавлен, осталось подождать несколько минут свежих данных. Проверить их можно там, где и раньше, в Latest data, выбрав новый хост.

Latest data

На этом установка и настройка мониторинга windows с помощью zabbix agent закончена. Можно добавлять новые компьютеры с разными версиями windows. Одна и та же версия агента подходит для всех, и десктопных и серверных систем.

Заключение

На сегодня это все, что я хотел рассказать. С помощью этой пошаговой инструкции вы сможете быстро развернуть эффективную систему мониторинга для наблюдения за linux и windows системами.

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

Видео


Помогла статья? Есть возможность отблагодарить автора

Дополнительные материалы по CentOS

Рекомендую полезные материалы по CentOS:
Настройки системы
  • Установка
  • Базовая настройка
  • Настройка времени
  • Настройка сети
  • Настройка репозиториев
  • Настройка iptables
Установка CentOS 7 в конфигурации minimal или netinstall с загрузочной флешки или по сети на диск или raid раздел.
Базовая настройка CentOS 7 для работы с любым функционалом. Приведены практические советы по улучшению безопасности и удобства администрирования.
Как установить точное время на сервере CentOS, настроить часовой пояс, синхронизировать время с помощью ntpdate и ntpd и другое.
Подробное описание настройки сети в CentOS 7 - задать ip адрес, dhcp, отключить ipv6, dns, hostname, статические маршруты и др.
Установка репозиториев epel, rpmforge и др. Добавление, удаление, обновление rpm репозиториев в CentOS.
Рассмотрены основные моменты настройки iptables в Centos 7 - установка, добавление правил, проброс портов, nat, логирование и д.р.
Настройка программных комплексов
 
  • Прокси сервер
  • Шлюз
  • Asterisk
  • Asterisk+Freepbx
  • Сервер VPN
  • Web сервер Apache
  • Web сервер Nginx
  • Почтовый сервер
Подробное описание настройки прокси сервера на базе CentOS 7 со связкой squid+AD+sams2, реализован запрет доступа по url и группам пользователей.
Простая и быстрая настройка шлюза на базе CentOS 7 для организации доступа в интернет из локальной сети.
Описание установки и настройки asterisk - популярной современной sip атс. Описан расширенный функционал, покрывающий большинство потребностей стандартного офиса в современной телефонии.
Подробное описание установки voip сервера asterisk и панели управления freepbx на CentOS 7.
Установка и настройка OpenVPN сервера на CentOS для объединения офисов и подключения удаленных пользователей
Настройка web сервера CentOS 7 на базе связки http сервера apache, php и сервера db mysql, или коротко - установка lamp.
Установка и настройка высокопроизводительного web сервера на базе nginx и php fpm. В качестве кэша используется APC.

Описание установки и настройки почтового сервера iRedMail на основе готовой сборки на CentOS 7. Обзор основных возможностей и рекомендации по настройке.

Самостоятельная настройки почтового сервера postfix + dovecot а так же дополнительных полезных модулей для полноценной и удобной работы почты.

Размышления на тему выбора почтового сервера для малых и средних компаний.

Настройка отдельных программ
 
  • Zabbix
  • Phpmyadmin
  • Webmin
  • Ruby
  • Обновление php
  • Vsftpd
  • Bind
  • Unison
  • Observium
  • Syslog-NG
Видео и подробное описание установки и настройки Zabbix 3.2, а также установка агентов на linux и windows и подключение их к мониторингу.
Подробное описание установки и настройки панели управления phpmyadmin на веб сервер apache и nginx под управлением Centos 7.
Подробное описание установки и настройки Webmin на CentOS 7 для удаленного подключения и управления сервером.
Подробное описание установки языка Ruby последней версии на веб сервер под управлением CentOS 7.
Подробное описание установки или обновления php 7 на CentOS 7. Рассмотрен вариант отката обновления и возврата на php 5.6 или 5.4.
Подробное описание с видео установки и настройки ftp сервера vsftpd, примеры с локальными и виртуальные пользователями в mysql.
Настройка DNS сервера BIND (Named) в CentOS 7. Рассмотрены наиболее популярные конфигурации, в том числе подробное логирование.
Установка Unison в CentOS 7 для двухсторонней синхронизации файлов.
Инструкция по установке и настройке сервера мониторинга Observium на CentOS 7. В качестве примера в конце добавлено одно устройство для мониторинга.
Настройка сервера для централизованного сбора логов с удаленных устройств и серверов с помощью программы syslog-ng.
Разное
  • Настройка ssl в Apache
  • Бэкап с помощью rsync
Настройка работы веб сервера apache с виртуальными хостами по протоколу https с использованием бесплатного ssl сертификата.
Подробное описание настройки бэкапа с помощью rsync на примере скрипта инкрементного архива на системе Centos, Debian, Ubuntu, Windows.

Дополнительные материалы по Zabbix

Рекомендую полезные материалы по Zabbix:
Настройки системы
  • Установка 3.2 на CentOS 7
  • Обновление 3.0 -> 3.2
  • Обновление 2.4 -> 3.0
  • Установка Zabbix Proxy
  • Работа на NGINX
Видео и подробное описание установки и настройки Zabbix 3.2, а также установка агентов на linux и windows и подключение их к мониторингу.
Подробное описание обновления системы мониторинга zabbix версии 3.0 до новой версии 3.2.
Пошаговая процедура обновления сервера мониторинга zabbix 2.4 до 3.0. Подробное описание каждого шага с пояснениями и рекомендациями.
Подробное описание установки и настройки zabbix proxy для организации распределенной системы мониторинга. Все показано на примерах.
Подробное описание установки системы мониторинга Zabbix на веб сервер на базе nginx + php-fpm.
Мониторинг служб и сервисов
 
  • Температура процессора
  • Nginx и php-fpm
  • Mysql репликация
  • Службы Linux
  • Рейд mdadm
  • Транки Asterisk
  • Synology
Мониторинг температуры процессора с помощью zabbix на Windows сервере с использованием пользовательских скриптов.
Настройка полноценного мониторинга web сервера nginx и php-fpm в zabbix с помощью скриптов и пользовательских параметров.
Мониторинг репликации mysql с помощью Zabbix. Подробный разбор методики и тестирование работы.
Описание настройки мониторинга tcp служб с помощью zabbix и его инструмента простых проверок (simple checks)
Настройка мониторинга рейда mdadm с помощью zabbix. Подробное пояснение принципа работы и пошаговая инструкция.
Подробное описание мониторинга регистраций транков (trunk) в asterisk с помощью сервера мониторинга zabbix.
Подробная инструкция со скриншотами по настройке мониторинга по snmp дискового хранилища synology с помощью сервера мониторинга zabbix.
Мониторинг различных значений
  • Мониторинг сайта
  • Мониторинг бэкапов
  • Размер бэкапа
  • Делегирование домена
  • Значения из текстового файла
  • Мониторинг логов
Настройка мониторинга web сайта в zabbix. Параметры для наблюдения - доступность сайта, время отклика, скорость доступа к сайту.
Один из способов мониторинга бэкапов с помощью zabbix через проверку даты последнего изменения файла из архивной копии с помощью vfs.file.time.
Подробное описание настройки мониторинга размера бэкапов в Zabbix с помощью внешних скриптов.
Пример настройки мониторинга за временем делегирования домена с помощью Zabbix и внешнего скрипта. Все скрипты и готовый шаблон представлены.
Описание мониторинга лог файлов в zabbix на примере анализа лога программы apcupsd. Отправка оповещений по событиям из лога.

5 комментариев

  1. Аноним

    Спасибо за статью! ) Редко оставляю отзывы, но тут всё чётко ) Респект!

  2. Демонический труд! Шикарная статья!)
    После её прочтения зарегался на сайте.
    Ставил версию 3.2 (которой так же по умолчанию нет в репозитариях (пока что). Надо подключать отдельно).
    Возникли мелкие «сложности», в настройке конфигов Апач-а (но это уже коммент к другой статье).
    В любом случае «палец вверх»! Считай прибавление вашем сообществе 😉

    • Так уже же есть статья по 3.2, ссылка в самом начале. Какой смысл по этой ставить?

  3. Андрей

    Доброго времени суток.

    Версия Zabbix 3.2.4

    Настроил уведомление на почту.
    В триггерах уведомления прописал условие одно
    Trigger = OFFICE: Ping loss is too high on OFFICE

    В Monitoring — Problems вижу триггер выполняется уведомляет меня.

    Но в Report — Action Log я вижу:

    Subject:
    PROBLEM: Zabbix discoverer processes more than 75% busy

    Message:
    Trigger: Zabbix discoverer processes more than 75% busy
    Trigger status: PROBLEM
    Trigger severity: Average
    Trigger URL:

    Item values:

    1. Zabbix busy discoverer processes, in % (Zabbix server:zabbix[process,discoverer,avg,busy]): 100 %
    2. *UNKNOWN* (*UNKNOWN*:*UNKNOWN*): *UNKNOWN*
    3. *UNKNOWN* (*UNKNOWN*:*UNKNOWN*): *UNKNOWN*

    Original even

    Как мне отключить уведомление от заббикса и сделать чтобы выполнялось только мое условие ведь на первый взгляд я в настройках прописал свое одно условие Trigger = OFFICE: Ping loss is too high on OFFICE

    Откуда заббикс берет уведомление PROBLEM: Zabbix discoverer processes more than 75% busy

    Как его убрать ?

Добавить комментарий

Ваш e-mail не будет опубликован.