УСТАНОВКА ZABBIX CENTOS 7

Zabbix — это система мониторинга сервера с открытым исходным кодом, который используется многими организациями для обеспечения бесперебойной работы серверов. Этот инструмент позволяет следить за состоянием огромного количества серверов, а также установленных на них программ, включая базы данных, веб-серверы и многое другое. Поддерживается как Windows, так и Linux и все это может быть объедено в одну интегрированную сеть.

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

ЧТО НАМ НУЖНО?

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

Операционная система: CentOS 7;

База данных: MariaDB;

Веб-сервер: Nginx;

PHP: php-fpm;

Панель управления: VestaCP.

Если вы хотите устанавливать Zabbix на Apache или просто на Nginx без VestaCP, то, возможно, вам будет даже проще выполнять инструкцию, потому что не нужно будет делать некоторые лишние действия. Я предполагаю, что база данных и веб-сервер уже установлены. Если MariaDB еще не установлена — смотрите статью установка MariaDB CentOS и возвращайтесь.

УСТАНОВКА ZABBIX

Начнем с установки программы. Сначала необходимо добавить репозиторий с новой версией программы в систему:

rpm -Uvh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-1.el7.centos.noarch.rpm

Затем можно установить пакеты:

zabbix-server-mysql — серверная часть, которая занимается обработкой данных;

zabbix-web-mysql — веб-интерфейс;

zabbix-agent — клиентская часть, занимается сбором данных и отправкой их на сервер;

zabbix-get — небольшая утилита для тестирования получения данных из командной строки, будет нужна нам потом.

yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent zabbix-get

Установка Zabbix CentOS 7 завершена, но это только начало, дальше самое сложное — настройка.

НАСТРОЙКА ZABBIX

Перед тем как мы перейдем к настройке базы данных, давайте сделаем веб-интерфейс доступным через браузер.

ШАГ 1. НАСТРОЙКА ВЕБ-СЕРВЕРА

В Apache вам ничего делать не нужно, веб-сервер уже настроен и Zabbix доступен по адресу:

http://ip_адрес/zabbix

Но нам необходимо настроить Nginx и у нас адрес будет немного другим:

http://zabbix.домен

Для этого мы создадим домен в панели VestaCP, но чтобы домен заработал правильно, нам нужно сначала создать шаблон для Zabbix, код шаблона будет выглядеть вот так:

vi /usr/local/vesta/data/templates/web/nginx/php-fpm/zabbix.tpl

server {

listen %ip%:%web_port%;

server_name %domain_idn% %alias_idn%;

root /usr/share/zabbix/;

index index.php index.html index.htm;

access_log /var/log/nginx/domains/%domain%.log combined;

access_log /var/log/nginx/domains/%domain%.bytes bytes;

error_log /var/log/nginx/domains/%domain%.error.log error;

location / {

root /usr/share/zabbix/;

index index.php index.html;

}

location ~ \.php$ {

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

fastcgi_param PHP_VALUE "

max_execution_time = 300

memory_limit = 128M

post_max_size = 16M

upload_max_filesize = 2M

max_input_time = 300

date.timezone = Europe/Kiev

always_populate_raw_post_data = -1

";

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

try_files $uri =404;

include fastcgi_params;

}

location ~* ".+\.(?:ogg|ogv|svg|svgz|eot|otf|woff|mp4|ttf|rss|css|swf|js|atom|jpe?g|gif|png|ico|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|tar|mid|midi|wav|bmp|rtf)$" {

access_log off;

log_not_found off;

expires max;

}

location ~* ^/(conf|api|include)($|\/) {

deny all;

}

location ~ /\.ht {

deny all;

}

location ~ /\. {

deny all;

}

}

Шаблон zabbix.stpl будет выглядеть так же, только в нем перед секцией location нужно добавить три строчки:

ssl on;

ssl_certificate %ssl_pem%;

ssl_certificate_key %ssl_key%;

Я взял шаблон default.tpl и изменил его так, чтобы он запускал не файлы из домашней папки, а zabbix. Если вы не хотите делать такой шаблон, будет достаточно просто вставить этот код в секцию http конфигурационного файла /etc/nginx/nginx.conf. Только не забудьте заменить все переменные %имя% на значения. Далее откройте VestaCP, перейдите на вкладку WEB и нажмите кнопку со знаком «+»:

Введите имя домена zabbix.домен. Можно использовать любой домен, а затем подбросить его через /etc/hosts или домен вашего сайта. В поле ip адрес выберите ваш внешний адрес, а шаблон — zabbix:

Больше ничего менять не нужно, нажимайте «Добавить» и веб-сервер готов. Если хотите, можете включить поддержку SSL от Lets Encrypt, в шаблоне мы это настроили, значит работать будет.

ШАГ 2. НАСТРОЙКА БАЗЫ ДАННЫХ

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

mysql

> create database zabbix character set utf8 collate utf8_bin;

> grant all privileges on zabbix.* to zabbix@localhost identified by 'password';

Разворачиваем начальную базу данных:

zcat /usr/share/doc/zabbix-server-mysql-3.4.*/create.sql.gz | mysql -uroot -pпароль zabbix

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

DBHost=localhost

DBName=zabbix

DBUser=zabbix

DBPassword=password

ШАГ 3. ЗАПУСК СЕРВЕРА

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

systemctl start zabbix-server

systemctl enable zabbix-server

ШАГ 4. ЗАВЕРШЕНИЕ НАСТРОЙКИ В ВЕБ-ИНТЕРФЕЙСЕ

Дальше будет выполнена установка zabbix centos 7 через веб-интерфейс. На первой странице программа проверит подходит ли для ее работы php и сервер в целом:

Указываем параметры для доступа к mysql:

Укажите адрес сервера и порт, на котором будет слушать соединения zabbix-server, лучше оставить как есть:

Проверьте настройки:

Готово.

ШАГ 5. АВТОРИЗАЦИЯ

Дальше вы можете авторизоваться в системе, для этого используйте имя пользователя Admin и пароль zabbix:

ШАГ 6. ИЗМЕНЕНИЕ ПАРОЛЯ И РУСИФИКАЦИЯ

Для безопасности первым же делом лучше поменять пароль. Для этого откройте вкладку «Configuration», затем «Users»:

Выберите пользователя «Admin» и в открывшемся окне нажмите кнопку «Change password»:

Дальше останется два раза ввести пароль:

И пока вы в этом окне, в поле «Language» выберите «ru». Теперь готово.

ШАГ 7. НАСТРОЙКА ZABBIX-AGENT НА ЛОКАЛЬНОМ СЕРВЕРЕ

Это не сложно. Сам агент у нас уже установлен, так что нам остается только его настроить, нужно указать ip адрес сервера и имя хоста:

Server=localhost

ServerActive=localhost

Hostname=zabbix-server

Очень важно, чтобы имя хоста, которое используется здесь и имя хоста в панели управления совпадали иначе потом отправка данных с помощью zabbix_sender работать не будет. Дальше осталось запустить zabbix-agent и добавить его в автозагрузку:

systemctl start zabbix-agent

systemctl enable zabbix-agent

Учитывая, что хост локальный, то он автоматически появится в панели управления на вкладке «Configuration», «Hosts»:

ШАГ 8. НАСТРОЙКА БРАНДМАУЭРА

Чтобы zabbix мог обмениваться данными с другими хостами сети, на всех серверах должны быть открыты порты 10050 и 10051. Для этого можно использовать VestaCP. Войдите от имени администратора, затем откройте «Firewall»:

Нажмите кнопку «+». Заполните поля следующим образом:

Action — ACCEPT;

Protocol — TCP;

Port — 10050-10051;

Ip address — 0.0.0.0/0;

Адрес 0.0.0.0/0 означает, вообще, все сетевые адреса. То есть мы разрешаем всем подключаться к этим портам. Затем осталось нажать кнопку «Add». Готово. Кроме Vesta, вы можете воспользоваться командой firewallcmd:

firewall-cmd --permanent --add-port=10050/tcp

firewall-cmd --permanent --add-port=10051/tcp

systemctl restart firewalld

На всех серверах. Обязательно. Установка Zabbix 3.4 CentOS 7 почти завершена.

ШАГ 9. НАСТРОЙКА УДАЛЕННОГО ZABBIX-AGENT

Я предполагаю, что установка zabbix agent centos на удаленном хосте уже выполнена. А вот здесь уже немного интереснее. Данные указываем так же, адрес нашего сервреа zabbix и имя хоста:

Server=ваш_ip_адрес

ServerActive=ваш_ip_адрес

Hostname=zabbix-client

Далее запускаем агента:

systemctl start zabbix-agent

И возвращаемся обратно к серверу zabbix. Нужно открыть «Настройка» -> «Узлы сети», затем нажать кнопку «Создать новый узел»:

Затем заполните такие поля:

Имя узла сети — hostname, которое вы указали в конфигурации zabbix-agent у клиента;

IP адрес — ip, на котором запущен zabbix-agent;

Группа серверов — выберите группу, например, Linux Servers;

Активировано — установите галочку чтобы активировать после создания.

Здесь готово, теперь перейдите на вкладку «Шаблоны». Добавьте шаблон «Linux OS Template»:

Для этого наберите его имя, выберите из выпадающего списка и нажмите ссылку «Добавить», пока вы ее не нажмете ничего не добавится.

Только после этого можно нажимать кнопку «Добавить». Новый хост появится в меню и надпись ZBX станет зеленой. Обратите внимание, что ZBX будет серой даже если все работает, пока вы не добавите хотя бы один шаблон и с него не начнут поступать данные. Дальнейшую настройку мониторинга Zabbix мы рассмотрим в следующих статьях.

ВЫВОДЫ

В этой статье мы рассмотрели как выполняется установка и настройка zabbix в CentOS 7. Как видите, если выполнять инструкцию, и немного адаптировать команды к своей системе, то можно сделать все достаточно просто. Если у вас остались вопросы, спрашивайте в комментариях!