УСТАНОВКА ZABBIX CENTOS 7
- Информация о материале
- Категория: Linux
- Опубликовано: 18.12.2017, 00:18
- Автор: HelpDesk
- Просмотров: 1573
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. Как видите, если выполнять инструкцию, и немного адаптировать команды к своей системе, то можно сделать все достаточно просто. Если у вас остались вопросы, спрашивайте в комментариях!