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

Creative Commons License
Статья Установка zabbix CentOS 7 распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна.
Ваше имя тоже может быть здесь. Начните писать статьи для Losst. Это просто! Смотрите подробнее как начать писать статьи - Пишите для нас

Оцените статью:

Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5 (4 оценок, среднее: 4,50 из 5)
Загрузка...

Один комментарий

  1. Михаил Январь 8, 2018 Ответить

Ответить

Сообщить об опечатке

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