Zabbix. Установка Zabbix 4 + Centos 7: различия между версиями
Cless (обсуждение | вклад) (Новая страница: «Категория:Zabbix __ОБЯЗАТЕЛЬНОЕ_ОГЛАВЛЕНИЕ__») |
Cless (обсуждение | вклад) |
||
| Строка 1: | Строка 1: | ||
[[Категория:Zabbix]] | [[Категория:Zabbix]] | ||
__ОБЯЗАТЕЛЬНОЕ_ОГЛАВЛЕНИЕ__ | __ОБЯЗАТЕЛЬНОЕ_ОГЛАВЛЕНИЕ__ | ||
== Ссылки == | |||
https://sevo44.ru/ustanovka-zabbix-4-2/ | |||
== Установка == | |||
=== Selinux disable === | |||
<code>nano /etc/sysconfig/selinux</code> | |||
... | |||
SELINUX=disabled | |||
... | |||
Перезагрузим машину для применения изменений. | |||
<code>reboot</code> | |||
После перезагрузки проверяем статус: | |||
<code>sestatus</code> | |||
... | |||
SELinux status: disabled | |||
... | |||
=== Установка NGINX === | |||
<code>rpm -Uvh <nowiki>http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm</nowiki></code> | |||
<code>yum -y install nginx</code> | |||
Запускаем nginx и добавляем в автозагрузку выполнив команды: | |||
<code>systemctl start nginx</code> | |||
<code>systemctl enable nginx</code> | |||
Gроверка nginx | |||
<code>curl <nowiki>http://localhost</nowiki></code><blockquote>... | |||
<!DOCTYPE html> | |||
<html> | |||
<head> | |||
<title>Welcome to nginx!</title> | |||
<style> | |||
body { | |||
width: 35em; | |||
margin: 0 auto; | |||
font-family: Tahoma, Verdana, Arial, sans-serif; | |||
} | |||
</style> | |||
</head> | |||
<body> | |||
<nowiki><h1>Welcome to nginx!</h1></nowiki> | |||
<nowiki><p>If you see this page, the nginx web server is successfully installed and</nowiki> | |||
working. Further configuration is required.<nowiki></p></nowiki> | |||
<nowiki><p>For online documentation and support please refer to</nowiki> | |||
<nowiki><a href="http://nginx.org/">nginx.org</a></nowiki>.<nowiki><br/></nowiki> | |||
Commercial support is available at | |||
<nowiki><a href="http://nginx.com/">nginx.com</a></nowiki>.<nowiki></p></nowiki> | |||
<nowiki><p><em>Thank you for using nginx.</em></nowiki><nowiki></p></nowiki> | |||
</body> | |||
</html> | |||
...</blockquote> | |||
=== Установка PHP === | |||
<code>yum -y install epel-release</code> | |||
<code>rpm -Uhv <nowiki>http://rpms.remirepo.net/enterprise/remi-release-7.rpm</nowiki></code> | |||
Активируем php 7.2, для этого выполняем команды: | |||
<code>yum -y install yum-utils</code> | |||
<code>yum-config-manager --enable remi-php72</code> | |||
Устанавливаем php 7.2 и необходимые модули выполнив команду: | |||
<code>yum -y install php72 php-fpm php-cli php-mysql php-gd php-ldap php-odbc php-pdo php-pecl-memcache php-pear php-xml php-xmlrpc php-mbstring php-snmp php-soap php-bcmath</code> | |||
Запускаем php-fpm и добавляем в автозагрузку выполнив команды: | |||
<code>systemctl start php-fpm</code> | |||
<code>systemctl enable php-fpm</code> | |||
Перемещение оригинальной конфигурации | |||
<code>mv /etc/php-fpm.d/www.conf /etc/php-fpm.d/www.conf.ORIG</code> | |||
Настроим работу php-fpm через unix сокет. Открываем необходимый конфиг и приведем его к следующему виду: | |||
<code>nano /etc/php-fpm.d/www.conf</code><syntaxhighlight lang="nginx"> | |||
[www] | |||
user = nginx | |||
group = nginx | |||
;listen = 127.0.0.1:9000 | |||
listen = /var/run/php-fpm/php-fpm.sock | |||
listen.mode = 0660 | |||
listen.owner = nginx | |||
listen.group = nginx | |||
listen.allowed_clients = 127.0.0.1 | |||
pm = dynamic | |||
pm.max_children = 50 | |||
pm.start_servers = 5 | |||
pm.min_spare_servers = 5 | |||
pm.max_spare_servers = 35 | |||
slowlog = /var/log/php-fpm/www-slow.log | |||
php_admin_value[error_log] = /var/log/php-fpm/www-error.log | |||
php_admin_flag[log_errors] = on | |||
php_value[session.save_handler] = files | |||
php_value[session.save_path] = /var/lib/php/session | |||
php_value[soap.wsdl_cache_dir] = /var/lib/php/wsdlcache | |||
</syntaxhighlight>Перезапускаем php-fpm: | |||
<code>systemctl restart php-fpm</code> | |||
Проверяем работу сокета: | |||
<code>ll /var/run/php-fpm/php-fpm.sock</code> | |||
... | |||
srw-rw----. 1 nginx nginx 0 Oct 4 15:08 /var/run/php-fpm/php-fpm.sock | |||
... | |||
=== Установка MariaDB === | |||
Подключаем свежий репозиторий создав необходимый файл следующего содержания: | |||
<code>nano /etc/yum.repos.d/mariadb.repo</code> | |||
# MariaDB 10.3 CentOS repository list - created 2018-10-04 12:10 UTC | |||
# <nowiki>http://downloads.mariadb.org/mariadb/repositories/</nowiki> | |||
[mariadb] | |||
name = MariaDB | |||
baseurl = <nowiki>http://yum.mariadb.org/10.3/centos7-amd64</nowiki> | |||
gpgkey=<nowiki>https://yum.mariadb.org/RPM-GPG-KEY-MariaDB</nowiki> | |||
gpgcheck=1 | |||
Устанавливаем последнюю версию MariaDB выполнив команду: | |||
<code>yum -y install MariaDB-server MariaDB-client</code> | |||
Запускаем mariadb и добавляем в автозагрузку выполнив команды: | |||
<code>systemctl start mariadb</code> | |||
<code>systemctl enable mariadb</code> | |||
Запускаем скрипт начальной конфигурации mysql и задаем пароль для root выполнив команду: | |||
<code>/usr/bin/mysql_secure_installation</code> | |||
Перемещение оригинальной конфигурации | |||
<code>mv /etc/my.cnf.d/server.cnf /etc/my.cnf.d/server.cnf.ORIG</code> | |||
Откроем конфигурационный файл сервера MariaDB и приводим его к следующему виду: | |||
<code>nano /etc/my.cnf.d/server.cnf</code><syntaxhighlight lang="ini"> | |||
[mysqld] | |||
bind-address = 0.0.0.0 # разрешает подключение со всех хостов | |||
character_set_server=utf8 | |||
collation-server=utf8_bin | |||
init_connect="SET NAMES utf8 collate utf8_bin" | |||
port = 3306 | |||
socket = /var/lib/mysql/mysql.sock | |||
innodb_file_format=barracuda | |||
innodb_file_per_table=1 | |||
innodb_buffer_pool_size = 1G # установить примерно в 2 раза меньше объема оперативной памяти сервера | |||
innodb_buffer_pool_instances=1 | |||
innodb_flush_log_at_trx_commit = 0 | |||
innodb_log_file_size = 512M | |||
innodb_strict_mode = 0 | |||
innodb_log_files_in_group = 3 | |||
</syntaxhighlight>Заданы некоторые важные параметры по innodb, в частности указание хранить каждую таблицу в отдельном файле, задан размер и количество бинарных логов и еще несколько настроек, которые важны. В большинстве случае, достаточно будет этих настроек. | |||
Перезапускаем MariaDB и проверяем статус работы: | |||
<code>systemctl restart mariadb</code> | |||
<code>systemctl status mariadb</code> | |||
=== Установка Zabbix === | |||
Установка состоит из двух частей. Вначале надо установить сам сервер zabbix и позже настроить web лицо для работы в системе мониторинга. | |||
Подключаем репозиторий версии Zabbix 4.2 | |||
rpm -Uvh <nowiki>https://repo.zabbix.com/zabbix/4.4/rhel/7/x86_64/zabbix-release-4.4-1.el7.noarch.rpm</nowiki> | |||
... | |||
Загружается <nowiki>https://repo.zabbix.com/zabbix/4.4/rhel/7/x86_64/zabbix-release-4.4-1.el7.noarch.rpm</nowiki> | |||
предупреждение: /var/tmp/rpm-tmp.W8KoVE: Заголовок V4 RSA/SHA512 Signature, key ID a14fe591: NOKEY | |||
Подготовка... ################################# [100%] | |||
Обновление / установка... | |||
1:zabbix-release-4.2-1.el7 ################################# [100%] | |||
... | |||
Очищаем и пересоздаем кэш yum: | |||
<code>yum clean all</code> | |||
<code>yum makecache</code> | |||
Произведем установку введя в консоли следующую команду: | |||
<code>yum -y install zabbix-server-mysql zabbix-web-mysql</code> | |||
Создадим базу данных, пользователя zabbix и заполним базу необходимыми данными: | |||
<code>mysql -uroot -p</code> | |||
<code>> create database zabbix character set utf8 collate utf8_bin;</code> | |||
<code>> grant all privileges on zabbix.* to zabbix@localhost identified by 'password';</code> | |||
<code>> exit</code> | |||
Заполнение базы данных необходимыми параметрами | |||
<code>zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix</code> | |||
Редактируем файл конфигурации сервера Zabbix. Прописываем данные для подключения к БД и некоторые другие параметры: | |||
<code>nano /etc/zabbix/zabbix_server.conf</code> | |||
... | |||
DBHost=localhost | |||
DBName=zabbix | |||
DBUser=zabbix | |||
DBPassword=password | |||
ListenIP=0.0.0.0 | |||
Timeout=10 | |||
... | |||
Параметр Timeout увеличен, так как он отвечает за время ожидания ответа от агента. | |||
Стандартного значения в 3 секунды бывает недостаточно, когда используется Zabbix proxy или скрипт который долго выполняется для получения метрики. | |||
В случае переодических отсутсвиях данных в графиках поиграйте с этим параметром. | |||
Запускаем zabbix и добавляем в автозагрузку выполнив команды: | |||
<code>systemctl start zabbix-server</code> | |||
<code>systemctl enable zabbix-server</code> | |||
Проверяем лог файл на наличие ошибок. | |||
<code>cat /var/log/zabbix/zabbix_server.log</code><blockquote>... | |||
2373:20190416:222404.662 Starting Zabbix Server. Zabbix 4.2.0 (revision 91746). | |||
2373:20190416:222404.667 ****** Enabled features ****** | |||
2373:20190416:222404.667 SNMP monitoring: YES | |||
2373:20190416:222404.667 IPMI monitoring: YES | |||
2373:20190416:222404.668 Web monitoring: YES | |||
2373:20190416:222404.668 VMware monitoring: YES | |||
2373:20190416:222404.669 SMTP authentication: YES | |||
2373:20190416:222404.669 Jabber notifications: NO | |||
2373:20190416:222404.670 Ez Texting notifications: YES | |||
2373:20190416:222404.671 ODBC: YES | |||
2373:20190416:222404.671 SSH2 support: YES | |||
2373:20190416:222404.672 IPv6 support: YES | |||
2373:20190416:222404.672 TLS support: YES | |||
2373:20190416:222404.673 ****************************** | |||
2373:20190416:222404.673 using configuration file: /etc/zabbix/zabbix_server.conf | |||
2373:20190416:222404.720 current database version (mandatory/optional): 04020000/04020000 | |||
2373:20190416:222404.721 required mandatory version: 04020000 | |||
2373:20190416:222404.838 server #0 started [main process] | |||
2374:20190416:222404.846 server #1 started [configuration syncer #1] | |||
2375:20190416:222404.855 server #2 started [alerter #1] | |||
2379:20190416:222404.865 server #6 started [timer #1] | |||
2377:20190416:222404.872 server #4 started [alerter #3] | |||
2378:20190416:222404.882 server #5 started [housekeeper #1] | |||
2376:20190416:222404.891 server #3 started [alerter #2] | |||
2380:20190416:222404.899 server #7 started [http poller #1] | |||
2381:20190416:222404.907 server #8 started [discoverer #1] | |||
2393:20190416:222404.916 server #20 started [poller #4] | |||
2395:20190416:222404.934 server #22 started [unreachable poller #1] | |||
2384:20190416:222404.944 server #11 started [history syncer #3] | |||
2399:20190416:222404.954 server #26 started [trapper #4] | |||
2387:20190416:222405.009 server #14 started [proxy poller #1] | |||
2386:20190416:222405.018 server #13 started [escalator #1] | |||
2388:20190416:222405.030 server #15 started [self-monitoring #1] | |||
2389:20190416:222405.041 server #16 started [task manager #1] | |||
2390:20190416:222405.051 server #17 started [poller #1] | |||
2407:20190416:222405.064 server #34 started [lld manager #1] | |||
2392:20190416:222405.077 server #19 started [poller #3] | |||
2394:20190416:222405.089 server #21 started [poller #5] | |||
2409:20190416:222405.119 server #36 started [lld worker #2] | |||
2383:20190416:222405.152 server #10 started [history syncer #2] | |||
2396:20190416:222405.160 server #23 started [trapper #1] | |||
2385:20190416:222405.172 server #12 started [history syncer #4] | |||
2398:20190416:222405.187 server #25 started [trapper #3] | |||
2397:20190416:222405.198 server #24 started [trapper #2] | |||
2400:20190416:222405.208 server #27 started [trapper #5] | |||
2401:20190416:222405.215 server #28 started [icmp pinger #1] | |||
2403:20190416:222405.225 server #30 started [preprocessing manager #1] | |||
2402:20190416:222405.233 server #29 started [alert manager #1] | |||
2391:20190416:222405.241 server #18 started [poller #2] | |||
2408:20190416:222405.252 server #35 started [lld worker #1] | |||
2382:20190416:222405.260 server #9 started [history syncer #1] | |||
2406:20190416:222406.068 server #33 started [preprocessing worker #3] | |||
2404:20190416:222406.104 server #31 started [preprocessing worker #1] | |||
2405:20190416:222406.135 server #32 started [preprocessing worker #2] | |||
...</blockquote> | |||
==== Настройка Nginx ==== | |||
Перемещаем оргинальный конфиг | |||
<code>mv /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/default.conf.ORIG</code> | |||
Отредактируем дефолтный фал приведя его к виду: | |||
<code>nano /etc/nginx/conf.d/default.conf</code><syntaxhighlight lang="nginx"> | |||
server { | |||
listen 80; | |||
server_name zabbix.sevo44.loc; | |||
root /usr/share/zabbix; | |||
location / { | |||
index index.php index.html index.htm; | |||
} | |||
location ~ \.php$ { | |||
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock; | |||
fastcgi_index index.php; | |||
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; | |||
include fastcgi_params; | |||
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/Moscow | |||
always_populate_raw_post_data = -1 | |||
"; | |||
fastcgi_buffers 8 256k; | |||
fastcgi_buffer_size 128k; | |||
fastcgi_intercept_errors on; | |||
fastcgi_busy_buffers_size 256k; | |||
fastcgi_temp_file_write_size 256k; | |||
} | |||
} | |||
</syntaxhighlight>Проверим конфиг на ошибки и если все в порядке, перезапустим Nginx: | |||
<code>nginx -t</code> | |||
... | |||
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok | |||
nginx: configuration file /etc/nginx/nginx.conf test is successful | |||
... | |||
Перезапустим nginx | |||
<code>nginx -s reload</code> | |||
==== Настройка Zabbix для работы с Nginx ==== | |||
Важный нюанс. Надо изменить права доступа на некоторые папки. Назначить владельца nginx. | |||
Этот шаг нужно будет проделывать после каждого обновления php или zabbix. | |||
Связано с тем, что по-умолчанию zabbix идет в комплекте с apache и рассчитан на работу с ним. | |||
Поэтому после установки или обновления, он делает его владельцем директории /etc/zabbix/web. | |||
<code>chown -R nginx:nginx /var/lib/php/session</code> | |||
<code>chown -R nginx:nginx /etc/zabbix/web</code> | |||
==== Настройка DNS для работы с сервером Zabbix ==== | |||
Осталось добавить домен в DNS или как к моем случае добавим строчку в файл /etc/hosts на компьютере с которого будем открыват | |||
<code>nano /etc/hosts</code> | |||
... | |||
192.168.0.103 zabbix.sevo44.loc | |||
... | |||
Порты работы Zabbix | |||
В система Zabbix используется два порта: | |||
'''10050''' — порт по которому zabbix опрашивает клиентов (пасивный агент); | |||
'''10051''' — порт на котором zabbix получает данные от активных клиентов (активный агент). | |||
На сервре Zabbix должен быть открыт порт 10051, на клиенте порт 10050. | |||
На сервере работающем с Firewalld необходимо выполнить следующие команды: | |||
Открыть порт 10051 | |||
<code>firewall-cmd --permanent --zone=public --add-service=zabbix-server</code> | |||
Применить изминения | |||
<code>firewall-cmd --reload</code> | |||
или | |||
<code>systemctl stop firewalld</code> | |||
<code>systemctl disable firewalld</code> | |||
Zabbix-agent install and run | |||
<code>yum -y install zabbix-agent</code> | |||
<code>systemctl start zabbix-agent</code> | |||
<code>systemctl enable zabbix-agent</code> | |||
Далее приступаем к настройке из веб-интерфейса | |||
<code>http://<IP>/</code> | |||
Версия 21:48, 31 января 2022
Ссылки
https://sevo44.ru/ustanovka-zabbix-4-2/
Установка
Selinux disable
nano /etc/sysconfig/selinux
... SELINUX=disabled ...
Перезагрузим машину для применения изменений.
reboot
После перезагрузки проверяем статус:
sestatus
... SELinux status: disabled ...
Установка NGINX
rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
yum -y install nginx
Запускаем nginx и добавляем в автозагрузку выполнив команды:
systemctl start nginx
systemctl enable nginx
Gроверка nginx
curl http://localhost
...
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
body {
width: 35em;
margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sans-serif;
}
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>
<p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p>
<p><em>Thank you for using nginx.</em></p>
</body>
</html>
...
Установка PHP
yum -y install epel-release
rpm -Uhv http://rpms.remirepo.net/enterprise/remi-release-7.rpm
Активируем php 7.2, для этого выполняем команды:
yum -y install yum-utils
yum-config-manager --enable remi-php72
Устанавливаем php 7.2 и необходимые модули выполнив команду:
yum -y install php72 php-fpm php-cli php-mysql php-gd php-ldap php-odbc php-pdo php-pecl-memcache php-pear php-xml php-xmlrpc php-mbstring php-snmp php-soap php-bcmath
Запускаем php-fpm и добавляем в автозагрузку выполнив команды:
systemctl start php-fpm
systemctl enable php-fpm
Перемещение оригинальной конфигурации
mv /etc/php-fpm.d/www.conf /etc/php-fpm.d/www.conf.ORIG
Настроим работу php-fpm через unix сокет. Открываем необходимый конфиг и приведем его к следующему виду:
nano /etc/php-fpm.d/www.conf
[www]
user = nginx
group = nginx
;listen = 127.0.0.1:9000
listen = /var/run/php-fpm/php-fpm.sock
listen.mode = 0660
listen.owner = nginx
listen.group = nginx
listen.allowed_clients = 127.0.0.1
pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 35
slowlog = /var/log/php-fpm/www-slow.log
php_admin_value[error_log] = /var/log/php-fpm/www-error.log
php_admin_flag[log_errors] = on
php_value[session.save_handler] = files
php_value[session.save_path] = /var/lib/php/session
php_value[soap.wsdl_cache_dir] = /var/lib/php/wsdlcache
Перезапускаем php-fpm:
systemctl restart php-fpm
Проверяем работу сокета:
ll /var/run/php-fpm/php-fpm.sock
... srw-rw----. 1 nginx nginx 0 Oct 4 15:08 /var/run/php-fpm/php-fpm.sock ...
Установка MariaDB
Подключаем свежий репозиторий создав необходимый файл следующего содержания:
nano /etc/yum.repos.d/mariadb.repo
# MariaDB 10.3 CentOS repository list - created 2018-10-04 12:10 UTC # http://downloads.mariadb.org/mariadb/repositories/ [mariadb] name = MariaDB baseurl = http://yum.mariadb.org/10.3/centos7-amd64 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1
Устанавливаем последнюю версию MariaDB выполнив команду:
yum -y install MariaDB-server MariaDB-client
Запускаем mariadb и добавляем в автозагрузку выполнив команды:
systemctl start mariadb
systemctl enable mariadb
Запускаем скрипт начальной конфигурации mysql и задаем пароль для root выполнив команду:
/usr/bin/mysql_secure_installation
Перемещение оригинальной конфигурации
mv /etc/my.cnf.d/server.cnf /etc/my.cnf.d/server.cnf.ORIG
Откроем конфигурационный файл сервера MariaDB и приводим его к следующему виду:
nano /etc/my.cnf.d/server.cnf
[mysqld]
bind-address = 0.0.0.0 # разрешает подключение со всех хостов
character_set_server=utf8
collation-server=utf8_bin
init_connect="SET NAMES utf8 collate utf8_bin"
port = 3306
socket = /var/lib/mysql/mysql.sock
innodb_file_format=barracuda
innodb_file_per_table=1
innodb_buffer_pool_size = 1G # установить примерно в 2 раза меньше объема оперативной памяти сервера
innodb_buffer_pool_instances=1
innodb_flush_log_at_trx_commit = 0
innodb_log_file_size = 512M
innodb_strict_mode = 0
innodb_log_files_in_group = 3
Заданы некоторые важные параметры по innodb, в частности указание хранить каждую таблицу в отдельном файле, задан размер и количество бинарных логов и еще несколько настроек, которые важны. В большинстве случае, достаточно будет этих настроек.
Перезапускаем MariaDB и проверяем статус работы:
systemctl restart mariadb
systemctl status mariadb
Установка Zabbix
Установка состоит из двух частей. Вначале надо установить сам сервер zabbix и позже настроить web лицо для работы в системе мониторинга.
Подключаем репозиторий версии Zabbix 4.2
rpm -Uvh https://repo.zabbix.com/zabbix/4.4/rhel/7/x86_64/zabbix-release-4.4-1.el7.noarch.rpm
... Загружается https://repo.zabbix.com/zabbix/4.4/rhel/7/x86_64/zabbix-release-4.4-1.el7.noarch.rpm предупреждение: /var/tmp/rpm-tmp.W8KoVE: Заголовок V4 RSA/SHA512 Signature, key ID a14fe591: NOKEY Подготовка... ################################# [100%] Обновление / установка... 1:zabbix-release-4.2-1.el7 ################################# [100%] ...
Очищаем и пересоздаем кэш yum:
yum clean all
yum makecache
Произведем установку введя в консоли следующую команду:
yum -y install zabbix-server-mysql zabbix-web-mysql
Создадим базу данных, пользователя zabbix и заполним базу необходимыми данными:
mysql -uroot -p
> create database zabbix character set utf8 collate utf8_bin;
> grant all privileges on zabbix.* to zabbix@localhost identified by 'password';
> exit
Заполнение базы данных необходимыми параметрами
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
Редактируем файл конфигурации сервера Zabbix. Прописываем данные для подключения к БД и некоторые другие параметры:
nano /etc/zabbix/zabbix_server.conf
... DBHost=localhost DBName=zabbix DBUser=zabbix DBPassword=password ListenIP=0.0.0.0 Timeout=10 ...
Параметр Timeout увеличен, так как он отвечает за время ожидания ответа от агента.
Стандартного значения в 3 секунды бывает недостаточно, когда используется Zabbix proxy или скрипт который долго выполняется для получения метрики.
В случае переодических отсутсвиях данных в графиках поиграйте с этим параметром.
Запускаем zabbix и добавляем в автозагрузку выполнив команды:
systemctl start zabbix-server
systemctl enable zabbix-server
Проверяем лог файл на наличие ошибок.
cat /var/log/zabbix/zabbix_server.log
...
2373:20190416:222404.662 Starting Zabbix Server. Zabbix 4.2.0 (revision 91746).
2373:20190416:222404.667 ****** Enabled features ******
2373:20190416:222404.667 SNMP monitoring: YES
2373:20190416:222404.667 IPMI monitoring: YES
2373:20190416:222404.668 Web monitoring: YES
2373:20190416:222404.668 VMware monitoring: YES
2373:20190416:222404.669 SMTP authentication: YES
2373:20190416:222404.669 Jabber notifications: NO
2373:20190416:222404.670 Ez Texting notifications: YES
2373:20190416:222404.671 ODBC: YES
2373:20190416:222404.671 SSH2 support: YES
2373:20190416:222404.672 IPv6 support: YES
2373:20190416:222404.672 TLS support: YES
2373:20190416:222404.673 ******************************
2373:20190416:222404.673 using configuration file: /etc/zabbix/zabbix_server.conf
2373:20190416:222404.720 current database version (mandatory/optional): 04020000/04020000
2373:20190416:222404.721 required mandatory version: 04020000
2373:20190416:222404.838 server #0 started [main process]
2374:20190416:222404.846 server #1 started [configuration syncer #1]
2375:20190416:222404.855 server #2 started [alerter #1]
2379:20190416:222404.865 server #6 started [timer #1]
2377:20190416:222404.872 server #4 started [alerter #3]
2378:20190416:222404.882 server #5 started [housekeeper #1]
2376:20190416:222404.891 server #3 started [alerter #2]
2380:20190416:222404.899 server #7 started [http poller #1]
2381:20190416:222404.907 server #8 started [discoverer #1]
2393:20190416:222404.916 server #20 started [poller #4]
2395:20190416:222404.934 server #22 started [unreachable poller #1]
2384:20190416:222404.944 server #11 started [history syncer #3]
2399:20190416:222404.954 server #26 started [trapper #4]
2387:20190416:222405.009 server #14 started [proxy poller #1]
2386:20190416:222405.018 server #13 started [escalator #1]
2388:20190416:222405.030 server #15 started [self-monitoring #1]
2389:20190416:222405.041 server #16 started [task manager #1]
2390:20190416:222405.051 server #17 started [poller #1]
2407:20190416:222405.064 server #34 started [lld manager #1]
2392:20190416:222405.077 server #19 started [poller #3]
2394:20190416:222405.089 server #21 started [poller #5]
2409:20190416:222405.119 server #36 started [lld worker #2]
2383:20190416:222405.152 server #10 started [history syncer #2]
2396:20190416:222405.160 server #23 started [trapper #1]
2385:20190416:222405.172 server #12 started [history syncer #4]
2398:20190416:222405.187 server #25 started [trapper #3]
2397:20190416:222405.198 server #24 started [trapper #2]
2400:20190416:222405.208 server #27 started [trapper #5]
2401:20190416:222405.215 server #28 started [icmp pinger #1]
2403:20190416:222405.225 server #30 started [preprocessing manager #1]
2402:20190416:222405.233 server #29 started [alert manager #1]
2391:20190416:222405.241 server #18 started [poller #2]
2408:20190416:222405.252 server #35 started [lld worker #1]
2382:20190416:222405.260 server #9 started [history syncer #1]
2406:20190416:222406.068 server #33 started [preprocessing worker #3]
2404:20190416:222406.104 server #31 started [preprocessing worker #1]
2405:20190416:222406.135 server #32 started [preprocessing worker #2]
...
Настройка Nginx
Перемещаем оргинальный конфиг
mv /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/default.conf.ORIG
Отредактируем дефолтный фал приведя его к виду:
nano /etc/nginx/conf.d/default.conf
server {
listen 80;
server_name zabbix.sevo44.loc;
root /usr/share/zabbix;
location / {
index index.php index.html index.htm;
}
location ~ \.php$ {
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
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/Moscow
always_populate_raw_post_data = -1
";
fastcgi_buffers 8 256k;
fastcgi_buffer_size 128k;
fastcgi_intercept_errors on;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;
}
}
Проверим конфиг на ошибки и если все в порядке, перезапустим Nginx:
nginx -t
... nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful ...
Перезапустим nginx
nginx -s reload
Настройка Zabbix для работы с Nginx
Важный нюанс. Надо изменить права доступа на некоторые папки. Назначить владельца nginx.
Этот шаг нужно будет проделывать после каждого обновления php или zabbix.
Связано с тем, что по-умолчанию zabbix идет в комплекте с apache и рассчитан на работу с ним.
Поэтому после установки или обновления, он делает его владельцем директории /etc/zabbix/web.
chown -R nginx:nginx /var/lib/php/session
chown -R nginx:nginx /etc/zabbix/web
Настройка DNS для работы с сервером Zabbix
Осталось добавить домен в DNS или как к моем случае добавим строчку в файл /etc/hosts на компьютере с которого будем открыват
nano /etc/hosts
... 192.168.0.103 zabbix.sevo44.loc ...
Порты работы Zabbix
В система Zabbix используется два порта:
10050 — порт по которому zabbix опрашивает клиентов (пасивный агент);
10051 — порт на котором zabbix получает данные от активных клиентов (активный агент).
На сервре Zabbix должен быть открыт порт 10051, на клиенте порт 10050.
На сервере работающем с Firewalld необходимо выполнить следующие команды:
Открыть порт 10051
firewall-cmd --permanent --zone=public --add-service=zabbix-server
Применить изминения
firewall-cmd --reload
или
systemctl stop firewalld
systemctl disable firewalld
Zabbix-agent install and run
yum -y install zabbix-agent
systemctl start zabbix-agent
systemctl enable zabbix-agent
Далее приступаем к настройке из веб-интерфейса
http://<IP>/