Home » Linux » CentOS » Установка и настройка Zabbix 4.0

Установка и настройка Zabbix 4.0

1-го октября 2018 года вышла новая версия бесплатной системы мониторинга, которую я постоянно использую. Я подробно расскажу об установке и начальной настройке Zabbix 4.0 на примере систем CentOS, Debian, Ubuntu со скриншотами и пояснениями. В этой версии много интересных и полезных нововведений, так что посмотреть на неё однозначно стоит.

Введение

На сегодняшний день, по моему мнению, из бесплатных систем мониторинга именно Zabbix самая популярная и функциональная. Упоминания о ней я постоянно встречаю в технических статьях специалистов различного масштаба и организаций. К примеру, СберТех использует Zabbix как единую платформу мониторинга. ИТ отдел сети магазинов Магнит так же использует zabbix как основную систему мониторинга. Пару лет назад я смотрел выступление представителя ИТ отдела Магнита, где он подробно описывал структуру системы. На тот момент это была самая крупная инсталляция заббикса с тысячами прокси серверов для сбора данных из магазинов по всей стране. Упоминания о мониторинге заббикс я встречал у специалистов компаний 1С, Крок, Яндекс.Деньги и других. Перечислил только то, что запомнилось.

Нужно понимать, что Zabbix — система мониторинга общего назначения. У нее нет специализации в микросервисы, сеть, железо и т.д. В связи с этим, всегда может найтись инструмент, который сможет выполнять ту или иную задачу удобнее и эффективнее, чем zabbix. Но это не умоляет остальных достоинств системы. Я их вижу в первую очередь в том, что в ней можно настроить мониторинг всего, что угодно. Главное научиться подавать значения в систему. А для этого есть масса инструментов — как самих агентов, так и скриптов, которые можно подключать к сбору данных.

Система мониторинга Zabbix позволяет так или иначе завести на нее все обслуживаемые сервисы. Где-то это может быть не очень просто, но в любом случае, один универсальный инструмент удобнее, чем несколько. Мне всегда удавалось настроить желаемый мониторинг с помощью заббикса. Если не было готовых шаблонов или подходящих агентов для сбора, писал скрипты и передавал ими данные агенту. С моими (и не только) решениями по мониторингу можете познакомиться в отдельном разделе zabbix.

Чем меня еще подкупает zabbix — хорошая документация и большое комьюнити. Много выступлений от различных специалистов с описанием внедрений. Все это облегчает работу с системой. Проще принять решение как поступить в той или иной ситуации. Сами разработчики постоянно проводят встречи, приглашают выступающих, потом выкладывают видео. В общем, система со всех сторон оставляет благоприятное впечатление.

Я буду устанавливать и настраивать работу сервера zabbix на nginx, что несколько отличается от дефолтной установки, которая включает в себя веб сервер apache. В связи с этим, нам необходимо будет подготовиться.

Подготовка сервера CentOS к установке

Первым делом вам необходимо установить и настроить сервер CentOS 7. Перед установкой сервера Zabbix нам также нужно подготовить Web сервер. У меня есть отдельная статья по настройке web сервера на centos. Там все подробно описано. Сейчас же я кратко и без лишних комментариев выполню минимум необходимых действий для работы заббикса. Так же я не буду останавливаться на настройке iptables. Эта отдельная тема и мне не хочется ее касаться в этой статье. Либо настройте сами по моим инструкциям, либо просто отключите firewall:

# systemctl stop firewalld
# systemctl disable firewalld

Подключаем репозиторий nginx и устанавливаем его:

# rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
# yum install nginx

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

# systemctl start nginx
# systemctl enable nginx

Проверяем, работает ли он. Для этого открываем в браузере ссылку http://192.168.13.117/, где 192.168.13.117 — ip адрес настраиваемого сервера.

Стартовая страница Nginx

Если у вас не работает nginx, разберитесь с ним, прежде чем двигаться дальше. В первую очередь проверьте настройки фаервола.

Дальше устанавливаем php-fpm. Для этого подключаем репозиторий remi и epel-release.

# yum install epel-release
# rpm -Uhv http://rpms.remirepo.net/enterprise/remi-release-7.rpm

Активируем репу remi-php71, для этого выполняем команды:

# yum install yum-utils
# yum-config-manager --enable remi-php71

Устанавливаем php 7.1 и модули к нему.

# yum install php71 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

Проверяем, запустился ли он.

# netstat -tulpn | grep php-fpm
tcp        0      0 127.0.0.1:9000          0.0.0.0:*               LISTEN      13261/php-fpm: mast

Все в порядке, запустился на порту 9000. Запустим его через unix сокет. Для этого открываем конфиг /etc/php-fpm.d/www.conf и комментируем строку:

# mcedit /etc/php-fpm.d/www.conf
;listen = 127.0.0.1:9000

Вместо нее добавляем несколько других:

listen = /var/run/php-fpm/php-fpm.sock
listen.mode = 0660
listen.owner = nginx
listen.group = nginx

Заодно измените пользователя, от которого будет работать php-fpm. Вместо apache укажите nginx, отредактировав соответствующие параметры.

user = nginx
group = nginx

Перезапускаем 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

На текущий момент с настройкой php-fpm закончили. Продолжаем подготовку сервера к установке zabbix.

Устанавливаем свежую версию MariaDB. Подключаем репозиторий. Для этого создаем файл /etc/yum.repos.d/mariadb.repo следующего содержания.

# mcedit /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 на centos.

# yum install MariaDB-server MariaDB-client

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

# systemctl start mariadb
# systemctl enable mariadb

Запускаем скрипт начальной конфигурации mysql и задаем пароль для root. Все остальное можно оставить по-умолчанию.

# /usr/bin/mysql_secure_installation

Внесем некоторые изменения в стандартный конфиг mariadb, чтобы потом не заниматься очисткой и оптимизацией базы для zabbix. Для этого открываем конфиг mysql /etc/my.cnf.d/server.cnf и приводим его к следующему виду.

# mcedit /etc/my.cnf.d/server.cnf
[client]
port		= 3306
socket		= /var/lib/mysql/mysql.sock
default-character-set=utf8

[mysqld]
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_per_table=1
innodb_buffer_pool_size = 768M # внимание на параметр! установить примерно в 2 раза меньше объема оперативной памяти сервера
innodb_buffer_pool_instances=1 # увеличивать на 1 каждый GB innodb_buffer_pool_size
innodb_flush_log_at_trx_commit = 0
innodb_log_file_size = 512M
innodb_log_files_in_group = 3

[server]

[galera]

[embedded]

[mariadb]

[mariadb-10.3]

Я добавил минимум настроек, отличных от дефолта. В статье про оптимизацию mysql их приведено гораздо больше, но со временем я понял, что зря это сделал. Реально у меня нет большого опыта в тонкой настройке mysql. Никаких тестов и проверок я не делал, а данные брал на основе других статей в интернете. Не факт, что там не было ошибок. В итоге сейчас тут только заданы некоторые важные параметры по innodb, в частности указание хранить каждую таблицу в отдельном файле, задан размер и количество бинарных логов и еще пару настроек, которые явно будут к месту (innodb_buffer_pool_size, innodb_buffer_pool_instances и innodb_flush_log_at_trx_commit). При желании, вы можете сами заняться тюнингом mysql. В общем случае, достаточно будет текущих настроек.

Перезапустите mariadb и убедитесь, что она запустилась.

# systemctl restart mariadb
# systemctl status mariadb.service

Сервер баз данных mysql для нашего zabbix сервера готов. На этом предварительные настройки сервера закончены. Приступаем к установке.

Установка сервера Zabbix 4.0 в CentOS

Для того, чтобы установить Zabbix Server 4.0 нужно подключить репозиторий актуальной версии.

# rpm -Uvh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
Retrieving https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
warning: /var/tmp/rpm-tmp.fCWryx: Header V4 RSA/SHA512 Signature, key ID a14fe591: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:zabbix-release-4.0-1.el7         ################################# [100%]

Устанавливаем сам сервер заббикса.

# yum install zabbix-server-mysql zabbix-web-mysql

В зависимостях пакетов будет httpd, который нам не нужен, так как у нас будет nginx и php7.1, но я не разбирался, как поставить без него. После установки пакетов, создадим базу данных, пользователя zabbix и заполним базу.

# mysql -uroot -p
Enter password:
> create database zabbix character set utf8 collate utf8_bin;
> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabpassword';
exit
# zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix

Теперь редактируем файл конфигурации сервера заббикс. Прописываем данные для подключения к БД, отключаем ipv6 и увеличиваем стандартный timeout.

# mcedit /etc/zabbix/zabbix_server.conf

Изменяем указанные строки, остальные не трогаем:

DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabpassword
ListenIP=0.0.0.0
Timeout=10

Этих минимальных настроек достаточно, для работы сервера. Я рекомендую увеличивать параметр Timeout, так как он отвечает за время ожидания ответа от агента, snmp устройства или внешней проверки. Иногда стандартного значения в 4 секунды бывает недостаточно. В частности, когда используется какой-то скрипт, который долго выполняется для получения метрики. Поставьте секунд 10.

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

# systemctl start zabbix-server
# systemctl enable zabbix-server

Проверяем лог файл на наличие ошибок.

# cat /var/log/zabbix/zabbix_server.log

Лог запуска Zabbix Server

Настройка SELinux с zabbix

Если у вас включен SELinux, получите ошибку.

cannot start preprocessing service: Cannot bind socket to "/var/run/zabbix/zabbix_server_preprocessing.sock": [13] Permission denied.

Это нормально, сейчас настроим SELinux для нормальной работы Zabbix. Для этого устанавливаем пакет policycoreutils-python, скачиваем готовый модуль для SELinux и применяем его.

# yum install policycoreutils-python
# cd ~
# curl https://support.zabbix.com/secure/attachment/53320/zabbix_server_add.te > zabbix_server_add.te
# checkmodule -M -m -o zabbix_server_add.mod zabbix_server_add.te
# semodule_package -m zabbix_server_add.mod -o zabbix_server_add.pp
# semodule -i zabbix_server_add.pp

Теперь нам надо перезапустить zabbix-server.

# systemctl restart zabbix-server

Если у вас это не получится сделать через systemctl, значит служба зависла. Завершаем ее принудительно и запускаем снова.

# kill -9 `pidof zabbix_server`
# systemctl start zabbix-server

Снова проверяйте log файл. Теперь ошибок быть не должно. Как я уже сказал, если у вас отключен SELinux, то делать описанные выше манипуляции с модулем не надо.

С серверной частью закончили. Нам нужно сделать конфиг nginx для работы web интерфейса zabbix. Если у вас nginx работает на том же сервере, где сам zabbix, и других виртуальных хостов нет и не будет, то правьте сразу дефолтный — /etc/nginx/conf.d/default.conf. Приводим его к следующему виду:

# mcedit /etc/nginx/conf.d/default.conf
server {
    listen       80;
    server_name  localhost;
    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 -s reload

Маленький, но важный нюанс. Нам надо изменить права доступа на некоторые папки. Назначить владельца nginx.

# chown -R nginx:nginx /var/lib/php/session
# chown -R nginx:nginx /etc/zabbix/web

Этот шаг нужно будет проделывать после каждого обновления php или zabbix. Связано с тем, что по-умолчанию zabbix идет в комплекте с apache и рассчитан на работу с ним. Поэтому после установки или обновления, он делает его владельцем директории /etc/zabbix/web.

Даем разрешения SELinux для работы заббикса с web сервером и базой данных.

# setsebool -P httpd_can_connect_zabbix on
# setsebool -P httpd_can_network_connect_db on

Я не знаю, насколько последняя настройка актуальна, если подключение к БД локальное. У разработчиков в инструкции сказано, что в случае с postgresql даже если подключаетесь через 127.0.0.1, разрешение выдавать нужно. Насчет mysql нет комментариев.

С серверной частью закончили. Для продолжения установки zabbix сервера переходим к настройке Zabbix Frontend.

Установка сервера Zabbix 4.0 в Ubuntu, Debian

С установкой Zabbix на сервер с Ubuntu или Debian попроще, так как в стандартных репозиториях посвежее версии софта, можно использовать их. Подключаем репозитории zabbix 4.0.

Ubuntu 18:

# wget https://repo.zabbix.com/zabbix/4.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_4.0-2+bionic_all.deb
# dpkg -i zabbix-release_4.0-2+bionic_all.deb

Debian 9:

# wget https://repo.zabbix.com/zabbix/4.0/debian/pool/main/z/zabbix-release/zabbix-release_4.0-2+stretch_all.deb
# dpkg -i zabbix-release_4.0-2+stretch_all.deb

Если у вас другие версии систем, то простой найдите ссылки пакетов под свою версию в официальном репозитории — https://repo.zabbix.com/zabbix/4.0/ Дальнейшая установка не будет отличаться от текущей.

Обновляем информацию о репозиториях, а заодно и последние обновления поставим:

# apt update && apt upgrade

Устанавливаем zabbix сервер:

# apt install zabbix-server-mysql zabbix-frontend-php

Он по-умолчанию ставится с apache, который сразу же запускается. Остановим его и отключим:

# systemctl stop apache2
# systemctl disable apache2

Ставим отдельно nginx и php-fpm:

# apt install nginx php-fpm

Запускаем скрипт начальной конфигурации mysql и задаем пароль для root. Все остальное можно оставить по-умолчанию.

# /usr/bin/mysql_secure_installation

Отредактируем некоторые параметры Mariadb в конфиге /etc/mysql/mariadb.conf.d/50-server.cnf. Добавляем туда в секцию [mysqld]:

# mcedit /etc/mysql/mariadb.conf.d/50-server.cnf
innodb_file_per_table=1
innodb_buffer_pool_size = 768M # внимание на параметр! установить примерно в 2 раза меньше объема оперативной памяти сервера
innodb_buffer_pool_instances=1 # увеличивать на 1 каждый GB innodb_buffer_pool_size
innodb_flush_log_at_trx_commit = 0
innodb_log_file_size = 512M
innodb_log_files_in_group = 3

Перезапустите mariadb и убедитесь, что она запустилась.

# systemctl restart mariadb
# netstat -tulnp | grep mysqld
tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN      16753/mysqld

Cоздадим базу данных, пользователя zabbix, и заполним базу.

# mysql -uroot -p
Enter password:
> create database zabbix character set utf8 collate utf8_bin;
> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabpassword';
exit
# zcat /usr/share/doc/zabbix-server-mysql/create.sql.gz | mysql -uzabbix -p zabbix

Теперь редактируем файл конфигурации сервера заббикс. Прописываем данные для подключения к БД, отключаем ipv6 и увеличиваем стандартный timeout.

# mcedit /etc/zabbix/zabbix_server.conf

Изменяем указанные строки, остальные не трогаем:

DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabpassword
ListenIP=0.0.0.0
Timeout=10

Этих минимальных настроек достаточно, для работы сервера. Я рекомендую увеличивать параметр Timeout, так как он отвечает за время ожидания ответа от агента, snmp устройства или внешней проверки. Иногда стандартного значения в 4 секунды бывает недостаточно. В частности, когда используется какой-то скрипт, который долго выполняется, для получения метрики. Поставьте секунд 10.

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

# systemctl start zabbix-server
# systemctl enable zabbix-server

Проверяем запустился ли.

# netstat -tulnp | grep zabbix_server
tcp        0      0 0.0.0.0:10051           0.0.0.0:*               LISTEN      16847/zabbix_server

Все в порядке. Запускаем nginx, который у нас будет выступать в качестве web сервера.

# systemctl start nginx
# systemctl enable nginx

Убедимся, что в качестве web сервера работает nginx.

# netstat -tulnp | grep 80
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      17075/nginx: master 
tcp6       0      0 :::80                   :::*                    LISTEN      17075/nginx: master 

Нам нужно сделать конфиг nginx для работы web интерфейса zabbix. Если у вас nginx работает на том же сервере, где сам zabbix, и других виртуальных хостов нет и не будет, то правьте сразу дефолтный — /etc/nginx/sites-available/default. Приводим его к следующему виду:

# mcedit /etc/nginx/sites-available/default
server {
    listen       80;
    server_name  localhost;
    root /usr/share/zabbix;

    location / {
    index index.php index.html index.htm;
    }

    location ~ \.php$ {
    fastcgi_pass unix:/run/php/php7.2-fpm.sock; # проверьте этот путь, для разных версий php он будет разный
    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 -s reload

С серверной частью закончили. Для продолжения установки zabbix сервера переходим к настройке Zabbix Frontend.

Настройка Zabbix Frontend

Идем в браузер и открываем адрес http://192.168.13.117. Вы должны увидеть установщик Zabbix 4.0.

Установка Zabbix сервера

Нажимаем Next step и начинаем настройку web интерфейса. На следующей странице будет проверка требований. У вас должны быть выполнены все требования. В зависимости от системы и версии php, информация будет в каждом случае разниться.

Проверка системных требований к web интерфейсу заббикса

На следующем этапе указываем параметры доступа к базе данных, потом Zabbix server details. Там можно ничего не указывать, а оставить дефолтные параметры. Потом будет страница с проверкой введенных данных. Если все в порядке, то заканчивайте установку. В конце увидите сообщение: Congratulations! You have successfully installed Zabbix frontend.

Завершение установки zabbix server

После нажатия на Finish увидите окно авторизации Zabbix сервера.

Авторизация в Zabbix

Стандартная учетная запись для входа в web интерфейс zabbix следующая:

  • Пользователь Admin
  • Пароль zabbix

После логина увидите стандартный dashboard.

Начальный экран мониторинга Zabbix

На этом установка бесплатного сервера мониторинга zabbix окончена. Можно приступать к настройке.

Настройка Zabbix Server

Создание учетной записи и смена пароля

Первое, что нужно сделать — сменить стандартные учетные данные для входа. Можно просто поменять пароль пользователя admin, но лучше создать новую учетную запись с правами суперпользователя, а админа удалить. Для этого идем в раздел Administration -> Users и нажимаем Create User.

Добавление нового пользователя в Zabbix

Заполняем все необходимые поля. Можно выбрать русский язык. Обычно я стараюсь работать в английском, но в случае с заббиксом можно сделать исключение. Он очень качественно локализован и проблем не возникает. Не забудьте зайти во вкладку Permissions и выбрать User type — Zabbix Super Admin.

Теперь можно зайти под новым пользователем, а Admin удалить. Но система не даст его удалить, так как он является владельцем некоторых объектов:

  • карты сети — Local Network
  • комплексного экрана Zabbix server
  • панелей Global view и Zabbix server health

Они создаются автоматически при установке заббикса. Вам нужно сменить у них владельца на нового пользователя. После этого стандартного админа можно будет удалить.

Настройка email оповещений

Дальше нужно настроить очень важную часть системы мониторинга — уведомления на email. Без нее система мониторинга не выглядит целостной и полноценной. Zabbix сервер поддерживает отправку почты через сторонние smtp серверы. Настроим один из них. Для этого идем в раздел Администрирование -> Способы оповещений и нажимаем на Email.

Настройка email оповещений в zabbix

Покажу на примере настроек ящика в Яндексе.

Параметры ящика Яндекс для отправки уведомлений

Это мы настроили адрес отправки. Теперь нужно пользователю добавить адрес для получения оповещений. Для этого идем в Администрирование -> Пользователи, выбираем своего пользователя. Идем во вкладку Оповещения и жмем Добавить. Добавляйте свой ящик и нажимайте Обновить.

Добавление адреса получателя уведомлений

Зайдите еще раз в учетную запись и убедитесь, что ящик добавили.

Профиль пользователя с подключенным ящиком для оповещений

Дальше нужно активировать отправку уведомлений по событиям. Для этого идем в Настройка -> Действия и жмем на Деактивировано, чтобы стало Активировано.

Включение оповещений в заббиксе

Все, отправку уведомлений мы настроили, осталось подождать срабатывания триггера, чтобы проверить. Сделаем это позже, когда подключим хост к мониторингу.

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

Так же zabbix умеет звонить через asterisk для оповещения о событиях.

Изменение шаблона стандартных оповещений

Я обычно изменяю стандартный шаблон уведомлений заббикса. Располагается он в разделе Настройка -> Действия, называется Report problems to Zabbix administrators.

Настройка шаблона почтовых сообщений

Я вношу следующие изменения. Меняю шаблон темы письма при проблеме и восстановлении. В стандартном шаблоне в теме письма нет информации об имени хоста. В некоторых шаблонах триггера указано имя хоста, но есть и такие, где нет этой информации. В итоге в оповещении сразу не видно, о каком хосте идет речь. В моем же шаблоне сразу в теме будет указано имя хоста далее статус, а потом все остальное. Вот пример старого и нового оповещения:

Разница в шаблонах писем-уведомлений

Мне мой вид кажется более наглядным. Шаблон меняет на следующий:

{HOST.NAME} - {TRIGGER.STATUS}: {TRIGGER.NAME}

Настройка темы в письмах zabbix

Он одинаковый и для проблемы, и для восстановления.

Изменение стандартных шаблонов мониторинга

На своих серверах мониторинга я изменяю некоторые параметры стандартных шаблонов, чтобы было меньше бесполезных и неинформативных срабатываний. Вот список того, что я делаю.

  1. В шаблоне Template App Zabbix Agent отключаю триггер Version of zabbix_agent(d) was changed on {HOST.NAME}. Если его оставить, то после каждого обновления zabbix агента вы будете получать уведомление. Лично мне эта информация не нужна.
  2. В шаблоне Template OS Linux меняю в триггере Disk I/O is overloaded on {HOST.NAME} значение со стандартных 20% до 50%. Я считаю, что начинать беспокоиться и смотреть на машину надо при этом значении. Но вы можете подобрать под свои нужды.
  3. В этом же шаблоне в правиле обнаружения Mounted filesystem discovery добавляю еще один прототип триггера, скопировав Free disk space is less than 20% on volume {#FSNAME}. Новый шаблон полностью идентичен скопированному, только вместо 20% указываю 5% и ставлю важность с «Предупреждение» на «Высокая». Я добавляю еще одно оповещение, если свободного места на дисках остается меньше 5%. Стандартные 20% очень высокий порог, особенно если большой диск. Оперативное решение проблемы не требуется. Из-за этого часто откладываешь чистку диска на потом и забываешь о ней. Теперь будет еще один страховочный триггер, после которого точно надо идти и прямо сейчас разбираться с местом. В триггере на 20% свободного места ставлю разрешение на закрытие триггера вручную.
  4. В этом же шаблоне в триггере Lack of free swap space on {HOST.NAME} меняю порог срабатывания с 50% до 20%, либо вообще отключаю его. Сейчас много серверов работают без swap. Хотя лично я всегда его создаю и подключаю.
  5. В шаблоне Template OS Windows отключаю Правило обнаружения Windows service discovery. В дефолтном варианте оно генерирует очень много ненужных итемов и оповещений. Если нужен мониторинг какой-то службы windows, я делаю для этого отдельный шаблон.

Общие настройки

В общих настройках zabbix server, которые располагаются в разделе Администрирование -> Общие я меняю следующие параметры:

  1. В разделе Рабочее время выставляю актуальные рабочие часы.
  2. В разделе Опции отображения триггеров меняю значения Отображать триггеры в состоянии ОК в течении и Мигание триггеров при изменении состояния на 1 минуту. Это просто мои предпочтения. Мне не нравится, когда триггеры долго мигают, либо висят уже закрытые.
  3. В разделе Прочее меняю Обновление неподдерживаемых элементов данных на 1 минуту. Это актуально во время отладки новых шаблонов.

Установка Zabbix Agent на Linux

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

Установка zabbix agent в Centos:

# yum install zabbix-agent

Тоже самое в Ubuntu/Debian:

# apt install zabbix-agent

Для работы с сервером, который установлен локально на этой же машине, больше никаких настроек не надо делать. Если же вы будете устанавливать zabbix agent на другую машину, то в файле конфигурации агента /etc/zabbix/zabbix_agentd.conf нужно будет задать следующие параметры:

# mcedit /etc/zabbix/zabbix_agentd.conf
Server=192.168.13.117
ServerActive=192.168.13.117
Hostname=srv10 # имя вашего узла мониторинга, которое будет указано на сервере zabbix, Zabbix server если это сам сервер заббикса

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

# systemctl start zabbix-agent
# systemctl enable zabbix-agent

Проверяем лог файл.

# cat /var/log/zabbix/zabbix_agentd.log
 14154:20181004:201307.800 Starting Zabbix Agent [Zabbix server]. Zabbix 4.0.0 (revision 85308).
 14154:20181004:201307.800 **** Enabled features ****
 14154:20181004:201307.800 IPv6 support:          YES
 14154:20181004:201307.800 TLS support:           YES
 14154:20181004:201307.800 **************************
 14154:20181004:201307.800 using configuration file: /etc/zabbix/zabbix_agentd.conf
 14154:20181004:201307.800 agent #0 started [main process]
 14157:20181004:201307.801 agent #3 started [listener #2]
 14159:20181004:201307.802 agent #5 started [active checks #1]
 14155:20181004:201307.804 agent #1 started [collector]
 14158:20181004:201307.806 agent #4 started [listener #3]
 14156:20181004:201307.810 agent #2 started [listener #1]

Все в порядке. Идем в веб интерфейс и проверяем поступление данных. Для этого идем в раздел Мониторинг -> Последние данные. Указываем в разделе Узлы сети Zabbix Server и ждем поступления первых данных. Они должны пойти через 2-3 минуты после запуска агента.

Просмотр поступающих данных

Теперь попробуем остановить агент и проверить, придет ли уведомление на почту. Идем в консоль и выключаем агента:

# systemctl stop zabbix-agent

Ждем минимум 5 минут. Именно такой интервал указан по-умолчанию для срабатывания триггера на недоступность агента. После этого проверяем главную панель, виджет Проблемы.

Проверка отправки уведомлений о проблемах

Проверяйте email ящик. Туда должно прийти уведомление от заббикс сервера.

Установка zabbix агент на Windows

Для полноты картины добавим к серверу один агент, установленный на windows машину и настроим ее мониторинг. Для этого идем на страницу загрузок https://www.zabbix.com/download_agents и скачиваем самую последнюю версию агента для Windows.

Распаковываем архив. Создаем на диске С: папку zabbix и купируем туда следующие файлы:

  • zabbix_agentd.exe
  • zabbix_get.exe
  • zabbix_sender.exe
  • zabbix_agentd.win.conf

Исполняемые файлы берете той разрядности, какая у вас в системе. В исходном архиве есть как x32 так и x64. Дальше открываем командную строку с правами администратора и выполняем следующую команду для установки zabbix agent на windows:

c:/zabbix/zabbix_agentd.exe --config c:/zabbix/zabbix_agentd.win.conf --install

Установка zabbix agent на Windows

Открываем файл zabbix_agentd.win.conf любым текстовым редактором и изменяем следующие параметры:

LogFile=c:\zabbix\zabbix_agentd.log
LogFileSize=1
Server=192.168.13.117
ServerActive=192.168.13.117
Hostname=win10-01

Открываем оснастку со службами, ищем службу с именем Zabbix agent и запускаем ее.

Запуск службы Zabbix Agent в Windows

Не забываем создать разрешающее правило в Брандмауэр, если он у вас включен. Для этого идем в Панель управления\Система и безопасность\Брандмауэр Windows — Дополнительные параметры — Правило для входящих подключений — Создать правило.

  • Тип правила: Для порта;
  • Протоколы и порты: Протокол TCP; Определенные локальные порты: 10050;
  • Действие: Разрешить подключение;
  • Профиль (ставим галочки): Доменный, Частный, Публичный;
  • Имя: Zabbix Agent;

Чтобы работал мониторинг windows машины, нужно добавить на сервер мониторинга host с таким же hostname, что мы указали в конфиге агента. Для этого идем в web панель, открываем раздел Настройка -> Узлы сети и жмем Создать узел.

Добавление нового хоста Windows в Zabbix

На первой вкладке указываем имя хоста, такое же, как на клиенте, добавляем в любую существующую группу и задаем ip адрес компьютера.

Параметры хоста

Потом переходим на вкладку Шаблоны и нажимаем Выбрать. Выбираем шаблон Template OS Windows и жмем маленькую ссылку Добавить, затем большую Добавить.

Подключение шаблона к хосту

Новый host мониторинга добавлен, осталось подождать несколько минут свежих данных. Проверить их можно там, где и раньше, в Последних данных, выбрав новый хост.

Поступление данных с windows машины

На этом установка и настройка мониторинга windows с помощью zabbix agent закончена. Можно добавлять новые компьютеры с разными версиями windows. Одна и та же версия агента подходит для всех, и десктопных, и серверных систем.

Заключение

Не понравилась статья и хочешь научить меня администрировать? Пожалуйста, я люблю учиться. Комментарии в твоем распоряжении. Расскажи, как сделать правильно!

На этом установка и базовая настройка сервера мониторинга zabbix 4.0 завершена. Советы, замечания, исправления прошу оставлять в комментариях.

Команда заббикс внимательно следит за обратной совместимостью своих продуктов. Благодаря этому переход на новые версии проходит безболезненно. Нет необходимости перенастраивать или исправлять старые наработки. В новых версиях только добавляется функционал, старый чаще всего не претерпевает изменений, им можно дальше пользоваться. Бывают, конечно, исключения, но редко.

Материалы по настройке мониторинга различных систем и сервисов не устаревают и остаются актуальным для самых новых релизов. Вот пример мониторинга различных служб и сервисов, приведенных на моем сайте. Возможно, что-то из этого вам будет интересно и полезно.

Мониторинг в Zabbix:

Помогла статья? Есть возможность отблагодарить автора

Видео

29 комментариев

  1. Отличная статья! Спасибо!

  2. Добрый день, а мб планируете написать статью об установке агентов через гпо, мониторинг компьютеров пользователей, что бы заббикс сам хосты нашел и т.д. связанное с обынчыми виндовыми машинами в домене)

    • Вряд ли, я просто этим не занимаюсь. Негде проверять и отлаживать. Да я и не думаю, что заббиксом стоит мониторить компьютеры пользователей. Какой в этом смысл? Какие метрики вам нужны от пользователей и для чего? С пользователями главное обеспечить регулярный бэкап данных или хранение на сетевых дисках и возможность оперативной замены и подготовки подменного компьютера.

      • ох это история об экономии начальства т.е. то что компьютеру 5-7 лет и он уже списан это не аргумент, фразы пользователя о том что лагает тоже не особо и вот требуют информацию о средней нагрузке.

        • Средняя нагрузка тоже ничего не даст. Старые компьютеры лагают из-за медленной работы hdd дисков и нехватки оперативной памяти. Для того, чтобы это понять, не нужен мониторинг. Надо просто все компы, где hdd и меньше 4 гб оперативной памяти апгрейдить — менять диски на ssd и добавлять память, желательно до 8 гб. Я уже это проходил 100 раз, никакие уловки и ухищрения в виде мониторинга не помогут. Пока не сделать апгрейд, компы тормозить не перестанут. У современных браузеров такие требования к железу, а какая работа сейчас без браузера.

    • Через GPO не делал, но когда надо было развернуть на 20 компьютеров (сервера + рабочие станции) то использовал PsExec.exe

      1. В zabbix_agentd.win.conf опция Hostname=Windows host , в этом случае агент автоматически возьмет host имя в домене
      Это чтобы не прописывать отдельный conf для каждого компьютера.

      2. Имена машин , куда надо установить zabbix прописываем в файл compsall.txt
      Делаем bat файл
      FOR /F » tokens=1 » %%i in (compsall.txt) do (
      xcopy /Y /E /H /R /i «C:\Downloads\bat\zabbix\win64» «\\%%i\c$\Program Files\zabbix\»

      PsExec.exe \\%%i «C:\Program Files\zabbix\zabbix_agentd.exe» —config «C:\Program Files\zabbix\zabbix_agentd.win.conf» —install
      PsExec.exe \\%%i net start «zabbix agent»

      )
      3. На сервере zabbix добавляем машины.

  3. Здравствуйте, Zerox. Я первый раз устанавилваю Zabbix на CentOS7. Сегодня только начал. Строго по Вашей статье. Всё установилось. До тех пор, пока не начал устанавливать сам Zabbix.
    Споткнулся вот где:

     [~]# yum install zabbix-server-mysql zabbix-web-mysql
    Loaded plugins: fastestmirror, langpacks
    Loading mirror speeds from cached hostfile
     * base: centos-mirror.rbc.ru
     * epel: fedora-mirror01.rbc.ru
     * extras: centos-mirror.rbc.ru
     * nux-dextop: mirror.li.nux.ro
     * remi-php71: remi.mirrors.arminco.com
     * remi-safe: remi.mirrors.arminco.com
     * updates: mirror.satellite-service.ru
    Resolving Dependencies
    --> Running transaction check
    ---> Package zabbix-server-mysql.x86_64 0:4.0.0-2.el7 will be installed
    ---> Package zabbix-web-mysql.noarch 0:4.0.0-2.el7 will be installed
    --> Processing Dependency: zabbix-web = 4.0.0-2.el7 for package: zabbix-web-mysql-4.0.0-2.el7.noarch
    --> Processing Dependency: php-mysql for package: zabbix-web-mysql-4.0.0-2.el7.noarch
    Package php-mysql-5.4.16-45.el7.x86_64 is obsoleted by php-mysqlnd-7.1.22-1.el7.remi.x86_64 which is already installed
    --> Running transaction check
    ---> Package zabbix-web.noarch 0:4.0.0-2.el7 will be installed
    ---> Package zabbix-web-mysql.noarch 0:4.0.0-2.el7 will be installed
    --> Processing Dependency: php-mysql for package: zabbix-web-mysql-4.0.0-2.el7.noarch
    Package php-mysql-5.4.16-45.el7.x86_64 is obsoleted by php-mysqlnd-7.1.22-1.el7.remi.x86_64 which is already installed
    --> Finished Dependency Resolution
    Error: Package: zabbix-web-mysql-4.0.0-2.el7.noarch (zabbix)
               Requires: php-mysql
               Available: php-mysql-5.4.16-45.el7.x86_64 (base)
                   php-mysql = 5.4.16-45.el7
               Available: php-mysqlnd-5.4.16-45.el7.x86_64 (base)
                   php-mysql = 5.4.16-45.el7
               Available: php-pecl-mysql-1.0.0-0.14.20160428git45881bd.el7.remi.7.1.x86_64 (remi-php71)
                   php-mysql = 1:1.0.0
               Available: php-pecl-mysql-1.0.0-0.15.20160812git230a828.el7.remi.7.1.x86_64 (remi-php71)
                   php-mysql = 1:1.0.0
               Installed: php-mysqlnd-7.1.22-1.el7.remi.x86_64 (@remi-php71)
                   Not found
               Available: php-mysqlnd-7.1.21-1.el7.remi.x86_64 (remi-php71)
                   Not found
     You could try using --skip-broken to work around the problem

    Yum рапортует о каких-то неустановленных зависимостях ! Как это исправить ?

  4. В добавление к вопросам — перед самой установкой Zabbix4 сразу после установки MariaDB пропал доступ к исходному серверу CentOS7 удалённо по SSH ! Отныне сервер управляется только и только локально с консоли. Работал и работаю только с IPTABLES. FirewallD изначально после первичной установки сервера дезактивизирован. В IPTABLES ничего не менял. На всякий случай залез туда посмотреть перед отправкой Вам этого вопроса — все настройки доступа по SSH как были, так и остались. Судя по ним я должен бы получать доступ к серверу удалённо. Ан нет. Он заблокирован ! Что бы проверить/подкрутить ?

    • Я не знаю что там у вас происходит, но если пропадает доступ по ssh, то с сервером точно что-то не то. Разберитесь с ним сначала, прежде чем zabbix настраивать.

  5. Спасибо. Лихо это Вы разобрались с установкой zabbix-web и zabbix-web-pgsql. Поздравляю. А у меня так не выходит. Пробую следующее:

    [~]# wget http://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-web-4.0.0-2.el7.noarch.rpm
    --2018-10-06 15:46:58--  http://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-web-4.0.0-2.el7.noarch.rpm
    Resolving repo.zabbix.com (repo.zabbix.com)... 162.243.159.138
    Connecting to repo.zabbix.com (repo.zabbix.com)|162.243.159.138|:80... connected.
    HTTP request sent, awaiting response... 200 OK
    Length: 2868840 (2.7M) [application/x-redhat-package-manager]
    Saving to: ‘zabbix-web-4.0.0-2.el7.noarch.rpm’
    
    100%[=========================================================================================================>] 2,868,840    984KB/s   in 2.8s
    
    2018-10-06 15:47:02 (984 KB/s) - ‘zabbix-web-4.0.0-2.el7.noarch.rpm’ saved [2868840/2868840]
    
    [~]# wget http://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-web-mysql-4.0.0-2.el7.noarch.rpm
    --2018-10-06 15:47:55--  http://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-web-mysql-4.0.0-2.el7.noarch.rpm
    Resolving repo.zabbix.com (repo.zabbix.com)... 162.243.159.138
    Connecting to repo.zabbix.com (repo.zabbix.com)|162.243.159.138|:80... connected.
    HTTP request sent, awaiting response... 200 OK
    Length: 7948 (7.8K) [application/x-redhat-package-manager]
    Saving to: ‘zabbix-web-mysql-4.0.0-2.el7.noarch.rpm’
    
    100%[=========================================================================================================>] 7,948       --.-K/s   in 0s
    
    2018-10-06 15:47:55 (396 MB/s) - ‘zabbix-web-mysql-4.0.0-2.el7.noarch.rpm’ saved [7948/7948]
    
    [~]# wget http://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-web-pgsql-4.0.0-2.el7.noarch.rpm
    --2018-10-06 15:48:27--  http://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-web-pgsql-4.0.0-2.el7.noarch.rpm
    Resolving repo.zabbix.com (repo.zabbix.com)... 162.243.159.138
    Connecting to repo.zabbix.com (repo.zabbix.com)|162.243.159.138|:80... connected.
    HTTP request sent, awaiting response... 200 OK
    Length: 7960 (7.8K) [application/x-redhat-package-manager]
    Saving to: ‘zabbix-web-pgsql-4.0.0-2.el7.noarch.rpm’
    
    100%[=========================================================================================================>] 7,960       --.-K/s   in 0s
    
    2018-10-06 15:48:27 (389 MB/s) - ‘zabbix-web-pgsql-4.0.0-2.el7.noarch.rpm’ saved [7960/7960]
    
    [~]# rpm -ivh --nodeps zabbix-web-4.0.0-2.el7.noarch.rpm zabbix-web-pgsql-4.0.0-2.el7.noarch.rpm
    Preparing...                          ################################# [100%]
    Updating / installing...
       1:zabbix-web-pgsql-4.0.0-2.el7     ################################# [ 50%]
       2:zabbix-web-4.0.0-2.el7           ################################# [100%]
    [root@e3 ~]# yum install zabbix-server-mysql zabbix-web-mysql
    Loaded plugins: fastestmirror, langpacks
    Loading mirror speeds from cached hostfile
     * base: centos-mirror.rbc.ru
     * epel: fedora-mirror01.rbc.ru
     * extras: centos-mirror.rbc.ru
     * nux-dextop: mirror.li.nux.ro
     * remi-php71: remi.mirror.wearetriple.com
     * remi-safe: remi.mirror.wearetriple.com
     * updates: mirror.satellite-service.ru
    Resolving Dependencies
    --> Running transaction check
    ---> Package zabbix-server-mysql.x86_64 0:4.0.0-2.el7 will be installed
    ---> Package zabbix-web-mysql.noarch 0:4.0.0-2.el7 will be installed
    --> Processing Dependency: php-mysql for package: zabbix-web-mysql-4.0.0-2.el7.noarch
    Package php-mysql-5.4.16-45.el7.x86_64 is obsoleted by php-mysqlnd-7.1.22-1.el7.remi.x86_64 which is already installed
    --> Finished Dependency Resolution
    Error: Package: zabbix-web-mysql-4.0.0-2.el7.noarch (zabbix)
               Requires: php-mysql
               Available: php-mysql-5.4.16-45.el7.x86_64 (base)
                   php-mysql = 5.4.16-45.el7
               Available: php-mysqlnd-5.4.16-45.el7.x86_64 (base)
                   php-mysql = 5.4.16-45.el7
               Available: php-pecl-mysql-1.0.0-0.14.20160428git45881bd.el7.remi.7.1.x86_64 (remi-php71)
                   php-mysql = 1:1.0.0
               Available: php-pecl-mysql-1.0.0-0.15.20160812git230a828.el7.remi.7.1.x86_64 (remi-php71)
                   php-mysql = 1:1.0.0
               Installed: php-mysqlnd-7.1.22-1.el7.remi.x86_64 (@remi-php71)
                   Not found
               Available: php-mysqlnd-7.1.21-1.el7.remi.x86_64 (remi-php71)
                   Not found
     You could try using --skip-broken to work around the problem
    ** Found 1 pre-existing rpmdb problem(s), 'yum check' output follows:
    zabbix-web-pgsql-4.0.0-2.el7.noarch has missing requires of php-pgsql

    Можно ли опять разъяснить среди меня — что я делаю не так и куда двигаться далее ?

  6. Спасибо. С SSH-доступом разобрался. Заработало.

  7. Пардон. Можно ещё вопрос ? После настроек файла /etc/zabbix/zabbix_server.conf теми, что были Вами предложены, и старта Заббикса собственно старт-то и не происходит !!!

    [root@e3 ~]# systemctl status zabbix-server
    ● zabbix-server.service - Zabbix Server
       Loaded: loaded (/usr/lib/systemd/system/zabbix-server.service; enabled; vendor preset: disabled)
       Active: activating (auto-restart) (Result: exit-code) since Sat 2018-10-06 18:09:41 +05; 1s ago
      Process: 1948 ExecStop=/bin/kill -SIGTERM $MAINPID (code=exited, status=1/FAILURE)
      Process: 1944 ExecStart=/usr/sbin/zabbix_server -c $CONFFILE (code=exited, status=0/SUCCESS)
     Main PID: 1946 (code=exited, status=1/FAILURE)
    
    Oct 06 18:09:41 e3 kill[1948]: -q, --queue       use sigqueue(2) rather than kill(2)
    Oct 06 18:09:41 e3 kill[1948]: -p, --pid              print pids without signaling them
    Oct 06 18:09:41 e3 systemd[1]: zabbix-server.service: control process exited, code=exited status=1
    Oct 06 18:09:41 e3 kill[1948]: -l, --list [=] list signal names, or convert one to a name
    Oct 06 18:09:41 e3 kill[1948]: -L, --table            list signal names and numbers
    Oct 06 18:09:41 e3 kill[1948]: -h, --help     display this help and exit
    Oct 06 18:09:41 e3 kill[1948]: -V, --version  output version information and exit
    Oct 06 18:09:41 e3 kill[1948]: For more details see kill(1).
    Oct 06 18:09:41 e3 systemd[1]: Unit zabbix-server.service entered failed state.
    Oct 06 18:09:41 e3 systemd[1]: zabbix-server.service failed.
    [root@e3 ~]# systemctl start zabbix-server
    [root@e3 ~]# systemctl status zabbix-server
    ● zabbix-server.service - Zabbix Server
       Loaded: loaded (/usr/lib/systemd/system/zabbix-server.service; enabled; vendor preset: disabled)
       Active: activating (auto-restart) (Result: exit-code) since Sat 2018-10-06 18:10:11 +05; 3s ago
      Process: 1981 ExecStop=/bin/kill -SIGTERM $MAINPID (code=exited, status=1/FAILURE)
      Process: 1977 ExecStart=/usr/sbin/zabbix_server -c $CONFFILE (code=exited, status=0/SUCCESS)
     Main PID: 1979 (code=exited, status=1/FAILURE)
    
    Oct 06 18:10:11 e3 kill[1981]: -q, --queue       use sigqueue(2) rather than kill(2)
    Oct 06 18:10:11 e3 kill[1981]: -p, --pid              print pids without signaling them
    Oct 06 18:10:11 e3 kill[1981]: -l, --list [=] list signal names, or convert one to a name
    Oct 06 18:10:11 e3 kill[1981]: -L, --table            list signal names and numbers
    Oct 06 18:10:11 e3 kill[1981]: -h, --help     display this help and exit
    Oct 06 18:10:11 e3 kill[1981]: -V, --version  output version information and exit
    Oct 06 18:10:11 e3 kill[1981]: For more details see kill(1).
    Oct 06 18:10:11 e3 systemd[1]: zabbix-server.service: control process exited, code=exited status=1
    Oct 06 18:10:11 e3 systemd[1]: Unit zabbix-server.service entered failed state.
    Oct 06 18:10:11 e3 systemd[1]: zabbix-server.service failed.

    Что бы ещё попробовать ?

    • Все, что надо пробовать описано в статье. Советую внимательно ее прочитать и повторить то, что там представлено. Я же говорю, есть видео, где все шаги, которые приводят к успеху, описаны.

  8. Доброго.

    А Redis в связку добавить ?

    Пример. Переделать под Цент:

    Как настроить Redis в качестве кэширующего сервера

    apt install -y -t jessie-backports redis-server redis-tools
    
    nano /etc/redis/redis.conf
    
    В первую очередь необходимо исправить ошибку с некорректно указанным максимальным количеством
    tcp соединений. Это актуально в случае использования tcp-сокетов.
    Печатаем в консоли команду cat /proc/sys/net/core/somaxconn и выставляем соответствующее
    количество:
    tcp-backlog 128
    
    Для более быстрой работы подключаем возможность работы с unix-сокетом.
    unixsocket /var/run/redis/redis.sock
    unixsocketperm 777
    
    Ограничиваем максимальное количество подключаемых клиентов. Если необходимо больше 1024-х
    подключений, также потребуется изменить ограничение на количество одновременно открытых файлов
    (ulimit).
    maxclients 1024
    
    Определяем количество выделяемой оперативной памяти для кэша. В случае указания нулевого
    значения, будет использована вся доступнуая оперативную память для кэша.
    maxmemory 256mb
    
    Определяем политику работы с памятью. При данной политике, во время нехватки памяти, будут
    удаляться наиболее старые и наименее используемые ключи, чтобы освободить место для новых.
    maxmemory-policy allkeys-lru
    
    # Accept connections on the specified port, default is 6379.
    # If port 0 is specified Redis will not listen on a TCP socket.
    port 0
    
    Так же, во избежание проблем с работой Redis (пункт 3 руководства, англ), следует отключить функцию
    ядра Transparent HugePages.
    echo never > /sys/kernel/mm/transparent_hugepage/enabled
    
    Перезапускаем для вступления изменений в силу.
    systemctl daemon-reload
    systemctl restart redis
    systemctl enable redis
    
    И добавляем в файл /etc/rc.local следующие строки, чтобы после перезагрузки сервера данная функция
    была отключена.
    
    if test -f /sys/kernel/mm/transparent_hugepage/enabled; then
       echo never > /sys/kernel/mm/transparent_hugepage/enabled
    fi
    if test -f /sys/kernel/mm/transparent_hugepage/defrag; then
       echo never > /sys/kernel/mm/transparent_hugepage/defrag
    fi
    
    Кэширование php сессий
    Настроить php на хранение сессий можно несколькими путями, в зависимости от используемой связки.
    
    Напрямую в php.ini
    [Session]
    session.save_handler = redis
    session.save_path = "unix:///run/redis/redis.sock"
    • Я не понимаю, зачем заббиксу redis. Вы можете пример привести работы redis + zabbix и какой конкретно достигается эффект от этой связки. Сам редис я много раз ставил. Это не вызывает никаких проблем.

  9. Сергей

    При попытке войти в zabbix появляется ошибка «403 forbidden». Не подскажете как исправить?

  10. Владимир

    А как насчет обновить уже существующий и работающий заббикс версии 3.4 на апаче?

  11. Андрей

    «Вам нужно сменить у них владельца на нового пользователя. После этого стандартного админа можно будет удалить.»
    Пожалуйста, покажите, как.

  12. Евгений

    Поставил zabbix (nginx+pgsql) и столкнулся маленькой с проблемой. При первом входе, после проверки php, там где делаются настройки на базу данных, присутствует выбор только mysql, хотя установлен пакет именно zabbix-web-pgsql.
    Если кто сталкивался.
    Не хочется ковыряться в файлах фронтенда. Может есть какое то простое решение?

    • Похоже на ошибку пакета. Думаю, тут вопрос без правки исходников не решится. Я рекомендую создать тему на форуме заббикса и задать вопрос. Я так делал, когда возникали вопросы. По идее, надо сразу в трекер, но там сходу не разберешься, как все оформить. Я не осилил.

      • Евгений

        Разобрался. Где то видимо я накосячил.
        Наличие настроек на определенную базу зависит от доступности определенных команд php, а у меня почему то php-fpm просто не видел модуля php_pgsql и соответственно отсутствовали команды для работы с pgsql.
        Перенастроил заново и все заработало.

  13. Отличная инструкция , но не хватает > yum install nmap -y
    и агента(win) надо рестартовать
    + для агента win64 нужно ставить openssl 1.1.1

    • Я, кстати, определением версии системы, не пользовался вообще никогда. Это, наверно, актуально для огромных сетей с автообнаружением. Обычно все, что я обслуживаю, так или иначе задокументировано и неведомых устройств там нет.

Добавить комментарий

Ваш e-mail не будет опубликован.

Нажимая кнопку "Отправить комментарий" Я даю согласие на обработку персональных данных.