Автозапуск zabbix agent centos

Обновлено: 04.07.2024

Zabbix — рас­пре­де­лен­ная систе­ма мони­то­рин­га, состо­я­щая из четы­рех основ­ных компонентов:

  1. Zabbix-сер­вер. Ядро систе­мы мони­то­рин­га. Ком­по­нент отве­ча­ет за визу­а­ли­за­цию, агре­га­цию и ана­ли­ти­ку дан­ных, опо­ве­ще­ния, управ­ле­ние рас­пре­де­лен­ны­ми ком­по­нен­та­ми (прок­си и аген­та­ми). В каче­стве веб-сер­ве­ра вен­дор поз­во­ля­ет исполь­зо­вать Apache или Nginx.
  2. Zabbix-прок­си. Этот ком­по­нент отве­ча­ет за управ­ле­ние Zabbix-аген­та­ми. Исполь­зо­ва­ние прок­си необя­за­тель­но, но поз­во­ля­ет сни­зить нагруз­ку на Zabbix-сер­вер за счет пере­но­са с него функ­ций управ­ле­ния аген­та­ми и пре­до­б­ра­бот­ки дан­ных (этот функ­ци­о­нал появил­ся в пятой вер­сии Zabbix).
  3. Zabbix-агент. Агент — конеч­ный ком­по­нент инфра­струк­ту­ры мони­то­рин­га. Выпол­ня­ет сбор и отправ­ку дан­ных о про­из­во­ди­тель­но­сти на Zabbix-прок­си или Zabbix-сервер.
  4. База дан­ных Zabbix. Хра­ни­ли­ще мет­рик про­из­во­ди­тель­но­сти. Вен­дор под­дер­жи­ва­ет реля­ци­он­ные базы дан­ных: MySQL, PostgreSQL, SQL Server, Oracle. Обра­ща­ем вни­ма­ние, что с вер­сии 5.0 пре­кра­ще­на под­держ­ка базы дан­ных IBM DB2 .

Далее уста­но­вим репо­зи­то­рии ПО. Это необ­хо­ди­мо для полу­че­ния акту­аль­но­го набо­ра паке­тов с ком­по­нен­та­ми Zabbix и PostgreSQL.

Репо­зи­то­рии с акту­аль­ны­ми вер­си­я­ми уста­нав­ли­ва­е­мых ком­по­нен­тов для раз­лич­ных плат­форм мож­но най­ти на сай­те производителей:

Сле­ду­ю­щий шаг — уста­нов­ка Zabbix-сер­ве­ра и Zabbix-агента:

Теперь вне­сем изме­не­ния в кон­фи­гу­ра­цию репо­зи­то­рия Zabbix: нуж­но вклю­чить zabbix frontend в фай­ле кон­фи­гу­ра­ции /etc/yum.repos.d/zabbix.repo, изме­нив зна­че­ние клю­ча enabled со зна­че­ния 0 на зна­че­ние 1.

name=Zabbix Official Repository frontend - $ basearch

Уста­но­вим Red Hat Software Collections для упро­ще­ния про­цес­са даль­ней­шей настройки:

Сле­ду­ю­щий шаг — уста­нов­ка PostgreSQL и дру­гих необ­хо­ди­мых паке­тов. Обра­ти­те вни­ма­ние, что в нашем при­ме­ре мы рабо­та­ем с локаль­ным хра­ни­ли­щем на базе PostgreSQL (в слу­чае с MySQL имя паке­та для Zabbix-сер­ве­ра будет отличаться).

Ини­ци­а­ли­зи­ру­ем, настро­им авто­за­пуск и запу­стим БД PostgreSQL:

После успеш­но­го запус­ка созда­дим базу дан­ных для Zabbix и поль­зо­ва­те­ля в ней. Пер­вая коман­да запро­сит пароль:

Вне­сем изме­не­ния в кон­фи­гу­ра­ци­он­ный файл
/var/lib/pgsql/12/data/pg_hba.conf
для кор­рект­но­го под­клю­че­ния к БД PostgreSQL с паро­лем. Метод для обо­их под­клю­че­ний дол­жен быть md5:

После созда­ния поль­зо­ва­те­ля орга­ни­зу­ем для него схе­му по умолчанию:

Теперь впи­ши­те создан­ный для БД пароль в кон­фи­гу­ра­ци­он­ный файл Zabbix
/etc/zabbix/zabbix_server.conf
в пара­мет­ры DBHost, DBName, DBSchema, DBUser и DBPassword.

Настро­им NGINX для его кор­рект­ной рабо­ты в Zabbix. Настрой­ки выпол­ня­ют­ся в кон­фи­гу­ра­ци­он­ном файле
/etc/opt/rh/rh-nginx116/nginx/conf.d/zabbix.conf
Необ­хо­ди­мо рас­ком­мен­ти­ро­вать две стро­ки и ука­зать IP-адрес или имя сервера:

listen 80;
server_name <ip адрес или имя сервера>;

Сле­ду­ю­щий файл, кото­рый нуж­но скорректировать, —
/etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf.
Вно­сим изме­не­ния в двух местах:

Теперь запус­ка­ем сер­ви­сы Zabbix и добав­ля­ем их в автозапуск:

systemctl restart zabbix-server zabbix-agent rh-nginx116-nginx rh-php72-php-fpm

systemctl enable zabbix-server zabbix-agent rh-nginx116-nginx rh-php72-php-fpm

Если на преды­ду­щих шагах все было сде­ла­но вер­но, при пере­хо­де по име­ни или адре­су сер­ве­ра в бра­у­зе­ре откро­ет­ся началь­ное окно настрой­ки Zabbix 5.0:


Пере­хо­дим на экран Configure DB connection и ука­зы­ва­ем рек­ви­зи­ты под­клю­че­ния к БД:


На экране Zabbix server details — имя хоста, на кото­ром уста­нов­лен Zabbix, порт дол­жен остать­ся ука­зан­ным по умолчанию:


Пере­хо­дим на послед­ний экран и нажи­ма­ем Finish. Настрой­ка завершена.

Стан­дарт­ная учет­ная запись для вхо­да: Admin с паро­лем zabbix.

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

Установка Zabbix в виде Docker-контейнера

Быст­рая уста­нов­ка — выпол­ня­ет­ся за 10 минут или мень­ше. Доба­вим репо­зи­то­рий Docker и уста­но­вим необ­хо­ди­мые пакеты:

Сле­ду­ю­щий шаг — кло­ни­ро­ва­ние репо­зи­то­рия Zabbix с Github:

Перей­дем в кло­ни­ро­ван­ный репо­зи­то­рий. Коман­да ls пока­жет име­ю­щи­е­ся объекты:

agent docker-compose _ v3 _ centos _ mysql _ local . yaml java-gateway snmptraps agent2 docker-compose _ v3 _ centos _ pgsql _ latest . yaml kubernetes . yaml web-apache-mysql build . sh docker-compose _ v3 _ centos _ pgsql _ local . yaml LICENSE web-apache-pgsql docker-compose _ v3 _ alpine _ mysql _ latest . yaml docker-compose _ v3 _ ubuntu _ mysql _ latest . yaml proxy-mysql web-nginx-mysql docker-compose _ v3 _ alpine _ mysql _ local . yaml docker-compose _ v3 _ ubuntu _ mysql _ local . yaml proxy-sqlite3 web-nginx-pgsql docker-compose _ v3 _ alpine _ pgsql _ latest . yaml docker-compose _ v3 _ ubuntu _ pgsql _ latest . yaml README . md zabbix-appliance docker-compose _ v3 _ alpine _ pgsql _ local . yaml docker-compose _ v3 _ ubuntu _ pgsql _ local . yaml server-mysql zbx _ env docker-compose _ v3 _ centos _ mysql _ latest . yaml generate-stackbrew-library . sh server-pgsql

Запу­стим демон Docker:

Собе­рем и запу­стим кон­тей­не­ры с Zabbix:

После выпол­не­ния коман­ды выше запу­стят­ся ком­по­нен­ты Zabbix, мож­но пере­хо­дить в веб-интерфейс:

Настройка и интеграция Zabbix 5

Добавление пользователя

Каж­до­му поль­зо­ва­те­лю в Zabbix соот­не­се­ны имя поль­зо­ва­те­ля и пароль — рек­ви­зи­ты, с кото­ры­ми мож­но вой­ти в систе­му. Все паро­ли в Zabbix хра­нят­ся в зашиф­ро­ван­ном виде. При необ­хо­ди­мо­сти мож­но настро­ить авто­ри­за­цию поль­зо­ва­те­лей через Active Directory или LDAP . В этой ста­тье мы рас­смот­рим рабо­ту встро­ен­ных в Zabbix пользователей.

В Zabbix каж­дый поль­зо­ва­тель дол­жен вхо­дить в груп­пу. На осно­ве групп в Zabbix при­сва­и­ва­ют­ся те или иные права.

Для добав­ле­ния поль­зо­ва­те­ля в веб-интер­фей­се Zabbix необ­хо­ди­мо перей­ти на пред­став­ле­ние Administration — Users и в верх­нем пра­вом углу нажать Create User.


Теперь появят­ся поля, в кото­рых важ­но ука­зать имя поль­зо­ва­те­ля, груп­пу и пароль. Осталь­ное мож­но оста­вить по умолчанию.


Для каж­до­го поль­зо­ва­те­ля мож­но ука­зать его дан­ные для опо­ве­ще­ния: элек­трон­ную почту, акка­унт в Telegram, имя в Slack и т. д. Что­бы при­вя­зать эти дан­ные к поль­зо­ва­те­лю, перей­дем на вклад­ку Media, нажмем Add и доба­вим адрес элек­трон­ной почты. Здесь мож­но ука­зать кри­тич­ность собы­тий, по кото­рым нуж­но отправ­лять уве­дом­ле­ния, и интер­вал оповещений.


После сохра­не­ния этих дан­ных мож­но нажать Add на вклад­ке User и сохра­нить создан­но­го пользователя.

Что­бы сме­нить пароль любо­го поль­зо­ва­те­ля, на пред­став­ле­нии Administration — Users нуж­но клик­нуть на соот­вет­ству­ю­ще­го поль­зо­ва­те­ля, нажать Change password и вве­сти новый пароль.

Ана­ло­гич­ным обра­зом созда­ем груп­пу поль­зо­ва­те­лей. На пред­став­ле­нии Administration — Groups в верх­нем пра­вом углу нажмем Create user group.


Ука­зы­ва­ем имя груп­пы и создан­но­го поль­зо­ва­те­ля. Далее пере­хо­дим на вклад­ку Permissions.


На вклад­ке Permissions ука­зы­ва­ем имя груп­пы хостов, к дан­ным по кото­рой у созда­ва­е­мой груп­пы будет доступ. После добав­ле­ния груп­пы нажи­ма­ем Add.


Таким обра­зом, груп­па созда­на, ей предо­став­лен тре­бу­е­мый уро­вень прав и при­вя­зан пользователь.

Низкоуровневое обнаружение (Low Level Discovery, LLD )

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

Ниже, в каче­стве при­ме­ра, Discovery Rules (пра­ви­ла обна­ру­же­ния) для шаб­ло­на Windows. Здесь их четы­ре для сле­ду­ю­щих сущностей:

  • фай­ло­вых систем,
  • сете­вых интерфейсов,
  • физи­че­ских дисков,
  • сер­ви­сов.


Рас­смот­рим устрой­ство пра­ви­ла обна­ру­же­ния для фай­ло­вых систем. В поле Key ука­зан эле­мент дан­ных vfs.fs.discovery, встро­ен­ный в Zabbix. Этот эле­мент воз­вра­ща­ет спи­сок фай­ло­вых систем, при­мон­ти­ро­ван­ных к сер­ве­ру. Дру­гие встро­ен­ные эле­мен­ты дан­ных собра­ны на спе­ци­аль­ной стра­ни­це производителя.


На вклад­ке Filters пере­чис­ле­ны про­то­ти­пы дан­ных, кото­рые в слу­чае обна­ру­же­ния новых эле­мен­тов рас­по­зна­ют их и запи­сы­ва­ют в БД.


В Zabbix воз­мож­но добав­ле­ние соб­ствен­ных эле­мен­тов дан­ных, соб­ствен­ных филь­тров и макросов.

Изменение шаблонов Zabbix

Шаб­ло­ны вклю­ча­ют в себя:

  • при­ло­же­ния (Applications),
  • экзем­пля­ры (Items),
  • мак­ро­сы (Macros),
  • триг­ге­ры (Triggers),
  • пра­ви­ла обна­ру­же­ния (Discovery rules),
  • дру­гие эле­мен­ты дан­ных.

Каж­дый из этих эле­мен­тов отве­ча­ет за те или иные воз­мож­но­сти. В ста­тье мы раз­бе­рем фор­ми­ро­ва­ние поро­го­вых схем в триг­ге­рах на при­ме­ре шаб­ло­на для Windows и его части — шаб­ло­на для фай­ло­вых систем.


В при­ме­ре ниже мы видим про­то­ти­пы триг­ге­ров, кото­рые соот­вет­ству­ют поро­гам по фай­ло­вым систе­мам сер­ве­ров Windows. Что­бы изме­нить поро­го­вую схе­му, доста­точ­но перей­ти в нуж­ный шаб­лон и вне­сти корректировки.


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

Zabbix Proxy

Zabbix Proxy — это спе­ци­аль­ный сер­вис, кото­рый рабо­та­ет на выде­лен­ном сер­ве­ре. Он обес­пе­чи­ва­ет буфе­ри­за­цию посту­па­ю­щих от аген­тов дан­ных и их даль­ней­шую транс­ля­цию в сто­ро­ну Zabbix-сер­ве­ра. Zabbix Proxy исполь­зу­ет отдель­ную базу дан­ных и под­дер­жи­ва­ет SQLite, MySQL и PostgreSQL.

Сер­вис эффек­тив­но исполь­зо­вать для сбо­ра мет­рик с аген­тов в выде­лен­ных или уда­лен­ных сетях (за фай­ер­во­лом), участ­ков инфра­струк­ту­ры с нена­деж­ной свя­зью и для сни­же­ния нагруз­ки на Zabbix-сер­вер. Начи­ная с вер­сии 5.0 прок­си под­дер­жи­ва­ет пре­до­б­ра­бот­ку дан­ных на сво­ей стороне.

Интеграция Zabbix с внешними системами

В этом раз­де­ле раз­бе­рем воз­мож­но­сти инте­гра­ции Zabbix с систе­мой визу­а­ли­за­ции Grafana, кото­рую мож­но исполь­зо­вать для отоб­ра­же­ния ста­ту­сов, гра­фи­ков, зна­че­ний и дру­гих типов дан­ных. Для уско­ре­ния про­цес­са уста­но­вим и запу­стим Grafana в виде Docker-контейнера.

После уста­нов­ки удо­сто­ве­рим­ся, что кон­тей­нер с Grafana выполняется:

Исполь­зуя ID кон­тей­не­ра, уста­но­вим спе­ци­а­ли­зи­ро­ван­ный пла­гин для Zabbix и пере­за­гру­зим контейнер:


Zabbix — комплексное решение для мониторинга серверов, сетевых устройств и сервисов, позволяющее обрабатывать огромное количество метрик.

С 5-ой версией в Zabbix пришло множество улучшений, среди которых множество новых шаблонов и плагинов для различных сервисов, новые интеграции с системами оповещений и уведомлений, улучшена визуализация, а так же улучшена безопасность, за счет добавления пользовательских секретных макросов для хранения такой чувствительной информации как пароли и API-ключи и возможности включить шифрование между компонентами Zabbix с использованием TLS.

При всей противоречивости программного комплекса Zabbix, на сегодняшний день сложно представить какую либо систему мониторинга без его использования. Часто бывает, что стоит задача быстро развернуть такую систему мониторинга, а настройка Zabbix из коробки занимает много времени, поэтому специально для вас мы подготовитли образ Zabbix в нашем Маркетплейс.


Как мы создавали этот образ: требования к серверу

Для использования Zabbix 5 рекомендуется использовать 2 Гб RAM и 2 ядра CPU.

Основные файлы Zabbix занимают около 20 Мб, дополнительно вам понадобится место для хранения базы данных, резервных копий, которое будет зависить от количества узлов которые вы планируете мониторить и количества хранимых метрик.

Веб-интерфейс Zabbix может использовать Apache или Nginx с PHP 7.2+, а в качестве базы данных MySQL, PostgreSQL, Oracle или SQLite.

Мы будем создавать образ с использованием Nginx и MySQL.

Подготовка образа

Обновим установленные пакеты до последней версии:


Применим новые правила файрвола:


Запустим и включим сервер Nginx:


Установим PHP, PHP-FPM, и требуемые модули PHP:


Установим MySQL Server:


Включим и запустим сервер MySQL:


Так как мы делаем шаблон для VDS, а они могут быть медленными, добавим задержку старта mysqld 30 секунд, иначе могут быть проблемы со стартом сервера при первоначальной загрузке системы:


Изменим владельца каталога сессий PHP так же соответственно на nginx:


Удалим строки с коментариями из файла конфигурации /etc/nginx/nginx.conf (что бы не было двойных срабатываний для sed):


Добавим в /etc/nginx/nginx.conf настройки компрессии gzip


Добавим в /etc/nginx/nginx.conf настройки индексного файла index.php :


Добавим настройки для дефолтного сервера обработку php через сокет php-fpm, отключим лог для статических файлов, увеличим время expire, отключим лог доступа и ошибок для favicon.ico и robots.txt и запретим доступ к файлам .ht для всех:


Установим wget требуемый для установки certbot :


Скачаем исполняемый файл certbot с оффсайта:


Переместим certbot в /usr/local/bin/ :


И назначим права и владельцем root:


Установим зависимости certbot: (ответ Y в конвеер на вопрос установки зависимостей, и --install-only , что бы не инициировать установку сертификатов на данном этапе):


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


Установим сервер, агент и утилиты Zabbix:


На данном этапе мы создадим пользователя с пустым паролем и базу данных для Zabbix и загрузим схему, что бы минимализировать действия пользователя при запуске VDS из шаблона.
Пароли будут сгенерированы по запросу пользователя после развертывания сервера из образа, так как, очевидно сохранять какие либо пароли в шаблоне небезопасно.

Создадим базу данных Zabbix (так же можно запустить клиент mysql и вводить команды заключенные в двойные кавычки в интерактивном режиме):


Создадим пользователя mysql zabbix с пустым паролем:


Предоставим все привелегии пользователю zabbix на базу zabbix


Загрузим схему zabbix в базу данных:


Установим шаблон конфигурации Zabbix для Nginx:


Удалим подстроку из дефолтного конфига nginx, т.к. default_server будет определен в zabbix.conf :


Добавим строку default_server в конфигурацию сервера zabbix для Nginx:


Изменим пользователя PHP-FPM с apache на nginx для Zabbix:


Установим временную зону в php.ini (Zabbix проверяет наличие этой настройки при установке):

Назначим владельцем каталога /etc/zabbix nginx (для корректной записи конфигурации веб-сервером):


Назначим группу каталога zabbix для /etc/zabbix/zabbix_* (Для чтения файлов конфигурации Zabbix сервером и агентом):


Перезапустим и активируем сервисы Zabbix server и Zabbix agent:


Далее создадим скрипт в домашнем каталоге root который по запросу пользователя сгенерирует и установит пароли для root и zabbix и скорректирует их в конфигурации сервера Zabbix и веб-интерфейса Zabbix. Воспользуемся перенаправлением heredoc с делимитером POSTINSTALL , что бы записать скрипт «как есть», без раскрытия специальных символов:


Сделаем скрипт исполняемым:


На данном этапе все настройки выполнены, остается выключить сервер и сделать снапшот:


При выполнении скрипта, мы получим пароли в консоль в таком виде:


Скрипт установит пароли в конфигурационных файлах сервера Zabbix, поэтому на этом этапе установку можно считать завершенной.

Опционально можно настроить использование сертификатов Let's Encrypt с помощью ранее установленного certbot'a, для этого необходимо указать действующее доменное имя сервера в файле /etc/nginx/conf.d/zabbix.conf исправив параметр server, например:


Готово, теперь у нас есть готовый сервер Zabbix с настроенными сертификатами Let's Encrypt!

Для владельцев бизнеса: предложите свой софт

Если вы — разработчик софта, который разворачивают и используют на VPS, то мы можем включить вас в маркетплейс. Так мы можем помочь вам привести новых клиентов, трафик и узнаваемость. Пишите нам

Просто предложить нам образ в комментариях

Напишите, какой с каким софтом вы хотели бы иметь возможность разворачивать виртуалки в один клик?

Чего вам не хватает в маркетплейсе RUVDS?

Что каждый уважающий себя хостинг должен обязательно включить в свой маркетплейс?

Установка производится на:

Для установки Zabbix-агента потребуется репозиторий Zabbix (установка описана в статье CentOS: установка сервера мониторинга Zabbix), либо Elrepo.
Выполняем установку самого агента:

Копируем файл конфигурации:

Редактируем такие поля:

Hostname должен совпадать с именем сервера:

Адрес самого Zabbix-сервера, с которым будет связан агент:

Переходим в панель управления Zabbix-сервера, раздел Configuration > Hosts, справа вверху нажимаем Create host:

CentOS: установка и настройка Zabbix-agent

CentOS: установка и настройка Zabbix-agent

CentOS: установка и настройка Zabbix-agent

Выбираем шаблон Teamplate OS Linux , жмём внизу Select:

CentOS: установка и настройка Zabbix-agent

CentOS: установка и настройка Zabbix-agent

Возвращаемся в окно Configuration > Hosts, видим что иконка Z не активна:

CentOS: установка и настройка Zabbix-agent

CentOS: установка и настройка Zabbix-agent

В данном случае помогло указание опций SourceIP (адрес Zabbix-сервера) и ListenIP (какой IP машины, на которой работает агент, слушать) в файле /etc/zabbix/zabbix_agentd.conf с последующей перезагрузкой агента:

Так же в подобных случаях бывает полезно включить опцию DebugLevel=3 , что бы записывать полную информацию в лог-файл. Устанавливать уровень 4 не советую, так как в таком случае в лог информация пишется постоянно, и найти ошибку будет сложнее.

И, конечно, убедитесь что поле Server= в конфигурации агента заполнено верно.

CentOS: установка и настройка Zabbix-agent

На этом установка агента и добавление нового хоста закончены.

Описание доступных опций конфигурации агента есть на странице проекта>>>.

Существует большое количество современных систем мониторинга, из которых каждый выбирает то, что ему больше подходит. Я расскажу об установке Zabbix на CentOS 7, так как сам предпочитаю заббикс за простоту настройки и легкость установки. В будущем планирую цикл статей на тему мониторинга всего и вся - от пользовательских компов до сайтов и баз данных.

Если у вас есть желание научиться строить и поддерживать высокодоступные и надежные системы, рекомендую познакомиться с онлайн-курсом «DevOps практики и инструменты» в OTUS. Курс не для новичков, для поступления нужно пройти . Данная статья устарела. Вышла новая версия zabbix 3.0. Есть свежий материал на тему установки и настройки zabbix 3.0. Там более подробное описание и полезные примеры: установка и подключение к серверу мониторинга linux и windows систем.

Введение

Zabbix - опенсорсная система мониторинга всевозможных параметров и систем - отдельных компьютеров, серверов, сетей, сетевого оборудования. Написана нашим человеком - Алексеем Владышевым. Интерфейс управления системой работает на php и легко разворачивается на любом веб сервере. Данные хранятся в бд, которой может выступать MySQL, PostgreSQL, SQLite или Oracle.

Система состоит из серверной части, которая хранит и визуализирует данные, и агентов, которые устанавливаются на конечное оборудование, собирают и отправляют на сервер информацию. Возможен сбор данных и без агентов по SNMP и IPMI, либо сценарии для тестирования производительности web серверов.

Заббикс сервер без проблем устанавливается на все популярные дистрибутивы Linux, Freebsd, IBM AIX, IBM Power8, NetBSD, OpenBSD, HP-UX, Mac OS X, Solaris. Под Windows работают только агенты.

Много писать о zabbix не вижу смысла, лучше сходить на официальный сайт, там много полезной информации на русском языке.

Мы же приступим к установке сервера Zabbix на CentOS 7.

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

Если вы еще не подготовили сервер CentOS 7 рекомендую познакомиться с моими материалами на эту тему - установка и настройка centos. Заббикс для своей работы использует web сервер и базу данных. Я рекомендую их установить отдельно и настроить, прежде чем ставить сам мониторинг. Нам понадобится apache, php и mysql. Можете посмотреть подробное руководство по настройке веб сервера, здесь же я просто приведу команды на исполнение.

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

Устанавливаем php и необходимые компоненты для zabbix:

Устанавливаем mysql и добавляем в автозапуск:

Запускаем mysql и выполняем предварительную настройку:

и после этого перезагружаемся.

Дальше нам нужно будет подключить репозиторий заббикса:

Подключение репозитория zabbix

Подготовку закончили, не забудьте настроить iptables, если используете firewall.

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

Установим непосредственно сервер:

Он тянет за собой целый хвост своих зависимостей, которые установятся автоматически.

Теперь создадим базу данных и таблицы:

Обратите внимание на то, что адрес каталога со скриптами mysql может изменяться в зависимости от версии сервера, который вы устанавливаете. На момент написания этой статьи, последняя версия была 2.4.6. Скорее всего во время вашей установки будет более высокая версия.

Базу данных, пользователя и необходимые таблицы создали. Теперь пропишем их в конфигурационном файле:

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

Теперь отредактируем настройки каталога zabbix на веб сервере:

Раскомментируем строку php_value date.timezone и установим там свой часовой пояс:

Установка Zabbix на CetOS 7

Нажимаем Next , попадаем на страницу проверки требований установки:

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

Во всех столбцах должно стоять OK . Дальше указываем параметры подключения к mysql:

Подключение к базе данных

Здесь обращаю ваше внимание. После проверки соединения с базой данных я не мог перейти на следующий шаг установщика. Причем сталкивался я с этой ошибкой несколько раз и каждый раз впадал в ступор, не понимая, в чем проблема. Дело оказалось в браузере. Конкретно во время написания этой статьи я не смог продолжить установку в Яндекс.Браузере, основанном на Хромиуме. Продолжить установку zabbix пришлось в IE 11. Так что если у вас по какой-то причине не получается пройти процедуру установки через браузер, попробуйте его заменить.

На следующем шаге указываем адрес сервера и порт. Если он у вас на этом же сервере, где веб морда, то оставляем настройки по-умолчанию:

Подключение к серверу

Проверяем введенные ранее настройки и если все в порядке, жмем Next :

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

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

Нажимаем Finish и оказываемся на странице логина в систему. Имя пользователя и пароль по-умолчанию в zabbix - Admin/zabbix.

Заходим и попадаем на главную страницу сервера мониторинга, который на данный момент пуст:

zabbix dashboard

Установка zabbix сервера на этом закончена. Дальше его нужно настраивать.

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

Полноценная настройка сервера заббикс тема отдельной статьи. Мы же для примера установим zabbix agent на это же сервер, чтобы его мониторить.

Устанавливаем zabbix-agent на CentOS 7:

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

Идем в веб панель и заходим в раздел Configuration -> Hosts. В статусе единственного хоста - Zabbix server нажимаем на Disabled и делаем его Enabled .

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

Ждем некоторое время (1-2 минуты) и идем проверять, получает ли сервер мониторинга информацию с агента. Для этого перемещаемся в раздел Monitoring -> Latest data, выбираем в фильтре хост Zabbix-server и смотрим, пришли ли данные:


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

Сервер полностью работоспособен и готов принимать информацию. На этом наша настройка и проверка работы заббикс закончена.

Заключение

Подведем итог того, что мы сделали:

  • Подготовили веб сервер для установки zabbix.
  • Установили zabbix server последней версии из стандартного репозитория.
  • Установили zabbix agent на этот же сервер для его мониторинга.
  • Проверили, поступают ли данные с установленного агента на сервер.

Мы выполнили всю предварительную работу по установке сервера zabbix и подготовили его к настройке полноценной системы мониторинга. Дальше можно настраивать отправку email уведомлений, добавлять агенты, сценарии мониторинга, настраивать параметры и так далее. Пример подобной настройки - мониторинг температуры windows серверов или мониторинг freebsd сервера.

Видео установки Zabbix server

Читайте также: