Главная >> Инструкции >> Установка zabbix CentOS 7

Установка 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. Как видите, если выполнять инструкцию, и немного адаптировать команды к своей системе, то можно сделать все достаточно просто. Если у вас остались вопросы, спрашивайте в комментариях!

2 комментария к “Установка zabbix CentOS 7”

  1. Подскажите пожалуйста, ставлю связку в zabbix postgresql nginx, споткнулся на последнем, весту ставить не вариант. Как быть с nginx, если настраивать без Vesta? Спасибо

    Ответить

Оставьте комментарий