В феврале 2016 года вышла новая версия бесплатной системы мониторинга, которую я регулярно использую. Я подробно расскажу об установке и начальной настройке Zabbix 3.0 на примере CentOS 7 со скриншотами и пояснениями. Надеюсь эта версия оправдает наши ожидания и можно будет планово переводить свои системы на новую версию.
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.
Содержание:
Введение
Кратко о системе мониторинга 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
Работа будет проходить на следующей версии системы:
Отключаем SElinux. Любителям с ним повозиться, дальше можно не читать. Не люблю споров на тему SElinux. Каждый сам решает для себя в конкретной ситуации, нужен он ему на сервере или нет. Я не вижу смысла с ним заморачиваться на сервере мониторинга в локальной сети.
# mcedit /etc/sysconfig/selinux
Редактируем строку:
SELINUX=disabled
и перезагружаемся.
Теперь установим mariadb. Ее необходимо ставить отдельно, почему-то она не устанавливается как необходимая зависимость при установке самого сервере zabbix.
# 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
Если у вас так же, значит все в порядке. Сервер штатно запустился и готов к работе.
Для продолжения настройки сервера, нам нужно зайти в 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 адрес сервера, где устанавливаем и настраиваем мониторинг.
Открываем в браузере web интерфейс zabbix. Нас встречает страница приветствия. Если у вас то же самое, вы на верном пути.
Жмем Next step и попадаем на страницу проверок. Если все делали точно по инструкции, то все проверки у вас будут пройдены.
Двигаемся дальше и указываем параметры для подключения к mysql. Данные те же, что мы указывали ранее при создании БД и пользователя.
На следующем этапе надо указать адрес сервера и порт, на котором он будет работать. Оставляем значения по-умолчанию.
Еше раз проверяем все настройки. Если все в порядке, двигаемся дальше на заключительный этап установки.
Если поучили это сообщение, то поздравляю, установка сервера мониторинга Zabbix 3.0 закончена.
Нажимаете Finish и попадаете на страницу логина в систему. Данные по умолчанию следующие:
Пользователь | Admin |
Пароль | zabbix |
Нас встречает голая панель управления, так как никаких параметров мы не наблюдаем и не имеем ни одного объекта сбора данных.
Сбор данных мы настроим чуть позже, установив zabbix агент на этот же сервер. А пока сделаем некоторые минимальные и необходимые настройки на сервере.
Настройка email оповещений
В версии 3.0 наконец-то появилась настройка уведомлений с авторизацией по smtp. Раньше для реализации такой очевидной и необходимой функции приходилось пользоваться сторонними программами и скриптами. Я писал отдельно об этом - отправка email уведомлений с авторизацией smtp. Теперь все это в прошлом. Настроим отправку уведомлений через web интерфейс.
Идем в раздел Administration -> Media types и нажимаем на Email.
Указываем следующие настройки для отправки почты через 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_agentd.win.conf любым текстовым редактором и изменяем следующие параметры:
Server=192.168.1.25 ServerActive=192.168.1.25 Hostname=win7-01
Теперь открываем оснастку со службами, ищем службу с именем Zabbix agent и запускаем ее.
Чтобы работал мониторинг windows машины, нужно добавить на сервер мониторинга host с таким же hostname, что мы указали в конфиге агента. Для этого идем в web панель, открываем раздел Configuration -> Hosts и жмем Create host.
На первой вкладке указываем имя хоста, такое же, как на клиенте, добавляем в любую существующую группу и задаем ip адрес компьютера.
Потом переходим на вкладку Templates и нажимаем Select. Выбираем шаблон Template OS Windows и жмем маленькую ссылку add, затем большую.
Новый host мониторинга добавлен, осталось подождать несколько минут свежих данных. Проверить их можно там, где и раньше, в Latest data, выбрав новый хост.
На этом установка и настройка мониторинга windows с помощью zabbix agent закончена. Можно добавлять новые компьютеры с разными версиями windows. Одна и та же версия агента подходит для всех, и десктопных и серверных систем.
Заключение
На сегодня это все, что я хотел рассказать. С помощью этой пошаговой инструкции вы сможете быстро развернуть эффективную систему мониторинга для наблюдения за linux и windows системами.
Тема настройки мониторинга zabbix обширна и охватить ее в одном материале невозможно. Для расширения функционала и добавления различных элементов мониторинга используйте мои статьи из раздела zabbix. Все, что написано до этого материала, относится к версии 2.4, но оно не потеряло актуальность, все приемы, скрипты, шаблоны, все работает и соответствует текущей версии, можно смело пользоваться.
Помогла статья? Подписывайся на telegram канал автора
Анонсы всех статей, плюс много другой полезной и интересной информации, которая не попадает на сайт.Видео
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном онлайн-курcе по администрированию MikroTik. Автор курcа – сертифицированный тренер MikroTik Дмитрий Скоромнов. Более 40 лабораторных работ по которым дается обратная связь. В три раза больше информации, чем в MTCNA.
Здравствуйте.
Как можно приравнять срабатывание триггеров к реальной работе сервера?.
Например:
если на сервере загрузка процессора в диапазоне 80% - 90% в течении 10 минут то и в триггере чтобы было уведомление о том что загрузка процессора на 80-90% на протяжении 10 минут.
На данный момент вижу только уведомления high load если в триггере параметр >80 но срабатывание триггера не соответствует действительности. Даже в том случае когда указал синхронизацию сервера zabbix с агентом каждую минуту.
Честно говоря, не понял сути проблемы. Заббикс и срабатывает по реальному состоянию сервера, он не выдумывает события. Всегда можно сопоставить оповещение триггера с последними данными, полученными с мониторинга. Они на основе них и срабатывают.
Добрый день.
Подскажите, в чем может быть проблема? При установки zabbix-web-mysql выдает ошибку:
mailcap-2.1.41-2.el7.noarch.rp FAILED 0% [ ] 0.0 B/s | 0 B --:--:-- ETA
http://centos-mirror.rbc.ru/pub/centos/7.4.1708/os/x86_64/Packages/mailcap-2.1.41-2.el7.noarch.rpm: [Errno -1] Package does not match intended download. Suggestion: run yum --enablerepo=base clean metadata 0.0 B/s | 0 B --:--:-- ETA
Trying other mirror.
Error downloading packages:
mailcap-2.1.41-2.el7.noarch: [Errno 256] No more mirrors to try.
В ошибке четко видно, что не получается скачать нужный пакет. По какой причине - не знаю. А какой смысл ставить версию 3.0, если уже 3.4 вышла?
Даже при установке 3.4 ту же ошибку выдает и только на пакет httpd. Не могу понять как исправить
Это с сетью какие-то проблемы. Пакетный менеджер не может скачать то один, то другой пакет. Можно попробовать принудительно указать использовать какой-то конкретный базовый репозиторий. По-умолчанию, он по определенному алгоритму выбирается как самый близкорасположенный.
Укажи в статье, перед тем как пользоваться командой # mcedit /etc/sysconfig/selinux
необходимо установить Midnight Commander или просто mc
# yum -y install mc
Добрый день.
Большое спасибо за статью. Статья очень помогла, но я немного доработал для автоматизации. В частности, чтобы не ковыряться в настройках брандмауэра и службах был написан батник, вот такого содержания:
zabbix_agentd.exe --config zabbix_agentd.win.conf --install
net start "Zabbix Agent"
netsh advfirewall firewall add rule name="Zabbix Agent" dir=in action=allow program="c:\Program Files\Zabbix\zabbix_agentd.exe" protocol=TCP localport=10050
Батник располагается в папке Zabbix, которая в свою очередь лежит в C:\Program Files. Запускается от имени администратора. это ускоряет процесс установки в разы.
Спасибо, как раз новую статью по 3.4 пишу, воспользуюсь этим скриптом.
Доброго времени суток.
Версия 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
Как его убрать ?
Демонический труд! Шикарная статья!)
После её прочтения зарегался на сайте.
Ставил версию 3.2 (которой так же по умолчанию нет в репозитариях (пока что). Надо подключать отдельно).
Возникли мелкие "сложности", в настройке конфигов Апач-а (но это уже коммент к другой статье).
В любом случае "палец вверх"! Считай прибавление вашем сообществе ;)
Так уже же есть статья по 3.2, ссылка в самом начале. Какой смысл по этой ставить?
Спасибо за статью! ) Редко оставляю отзывы, но тут всё чётко ) Респект!
3-ю версию ставил? Почему не 3.2? Ссылка в начале статьи.