Zabbix мониторинг centos 7

Zabbix мониторинг centos 7 Хостинг

В этой статье мы хотим научить вас Как настроить, установить и настроить Zabbix на Centos 7
.

Заббикс
определяется как инструмент мониторинга с открытым исходным кодом, используемый для мониторинга серверов, сетей, ИТ-компонентов, облачных сервисов и виртуальных машин. Инструмент мониторинга Zabbix используется для предоставления метрик мониторинга и мониторинга использования сети, использования дискового пространства и загрузки ЦП.

Инструмент поддерживает различные операционные системы, такие как Mac OS, Solaris, Linux и многие другие. Он использует другую базу данных для хранения данных и мониторинга приложений. Инструмент мониторинга Zabbix разработан на языке программирования C, а для веб-интерфейса используется язык PHP.

Содержание
  1. Шаги по установке и настройке Zabbix на Centos 7
  2. Установите необходимые пакеты для Zabbix на Centos 7
  3. Установка Apache на Centos 7
  4. Установка PHP на Centos 7
  5. Установка Zabbix на Centos 7
  6. Установка MariaDB на Centos 7
  7. Настройка брандмауэра для Zabbix
  8. Доступ к веб-интерфейсу Zabbix
  9. Облачные серверы нового поколения
  10. Подготовка сервера
  11. Установка времени
  12. Настройка фаервола
  13. Установка и настройка web-сервера в CentOS
  14. Установка MariaDB
  15. Установка веб-сервера
  16. Установка PHP
  17. Настройка связки Nginx+PHP
  18. Установка и настройка сервера Zabbix (Zabbix install CentOS)
  19. Zabbix установка CentOS 7
  20. Настройка базы данных
  21. Настройка Zabbix
  22. Запуск Zabbix-server
  23. Настройка Nginx
  24. Настройка веб-интерфейса Zabbix
  25. Установка Zabbix-Agent
  26. Добавление хоста на сервер Zabbix
  27. Введение
  28. Подготовка сервера CentOS к установке
  29. Centos 7
  30. Centos 8
  31. Установка сервера Zabbix 4. 0 в CentOS
  32. Настройка SELinux с zabbix
  33. Установка сервера Zabbix 4. 0 в Ubuntu, Debian
  34. Настройка Zabbix Frontend
  35. Настройка Zabbix Server
  36. Создание учетной записи и смена пароля
  37. Настройка email оповещений
  38. Изменение шаблона стандартных оповещений
  39. Изменение стандартных шаблонов мониторинга
  40. Общие настройки
  41. Установка Zabbix Agent на Linux
  42. Установка zabbix агент на Windows
  43. Заключение
  44. Помогла статья? Подписывайся на telegram канал автора

Шаги по установке и настройке Zabbix на Centos 7

Установите необходимые пакеты для Zabbix на Centos 7

Обновите локальный индекс пакетов с помощью следующей команды:

 sudo yum -y обновление 

Для установки Zabbix вам потребуются некоторые необходимые пакеты и зависимости.

Во-первых, вам нужно отключить SELinux на Centos 7.

Откройте конфигурационный файл SELinux в вашем любимом текстовом редакторе, здесь мы используем vi:

 sudo vi /etc/sysconfig/selinux 

Найдите директиву SELinux и измените ее на отключенную, как показано ниже:

 SELINUX=отключено 

Когда вы закончите, сохраните и закройте файл и перезагрузите систему.

 перезагрузка 

Затем вам нужно установить необходимые репозитории на Centos 7:

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

Установка Apache на Centos 7

Теперь вам нужно установить веб-сервер Apache на Centos 7 с помощью следующей команды:

 sudo yum -y install httpd 
 sudo systemctl запустить httpd.service 
 sudo systemctl включить httpd 

Вы можете проверить установку Apache на Centos 7 с помощью следующей команды:

 статус sudo systemctl httpd.service 
 httpd.service — HTTP-сервер Apache
Загружено: загружено (/usr/lib/systemd/system/httpd.service; включено; предустановка поставщика: отключена)
Активен: с субботы 26 февраля 2022 г., 04:00:26 по восточному поясному времени; 12 сек. назад
Документы: человек:httpdмужчина: апачектл Основной PID: 22247 (httpd)
Статус: «Всего запросов: 0; Текущих запросов/сек: 0; Текущего трафика: 0 Б/сек» 

Установка PHP на Centos 7

 sudo yum-config-manager --disable remi-php54 
 sudo yum-config-manager --enable remi-php72 

Затем используйте приведенную ниже команду для установки PHP и его зависимостей:

 sudo yum install php php-pear php-cgi php-common php-mbstring php-snmp php-gd php-pecl-mysql php-xml php-mysql php-gettext php-bcmath 

Здесь вам нужно изменить часовой пояс PHP, отредактировав файл php.ini.

 sudo vi /etc/php.ini 
 date.timezone = Америка/Нью-Йорк 

Когда вы закончите, сохраните и закройте файл.

Установка Zabbix на Centos 7

Чтобы установить последнюю версию Zabbix на Centos 7, вам необходимо проверить последнюю версию Zabbix на его официальном сайте
.

Сначала включите репозиторий коллекции программного обеспечения в CentOS 7:

 yum install -y centos-release-scl 

Затем добавьте репозиторий Zabbix на свой сервер с помощью следующей команды:

 sudo rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm 

Теперь вы можете установить Zabbix на Centos 7:

 sudo yum install -y zabbix-web-mysql-scl zabbix-apache-conf-scl zabbix-server-mysql zabbix-agent --enablerepo=zabbix-frontend 

Кроме того, чтобы начать использовать Apache с сервером Zabbix. Файл конфигурации Zabbix необходимо обновить с помощью TimeZone.

 sudo vi /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf 

Обновите строку ниже, указав свой часовой пояс.

 php_value[date.timezone] = Америка/Нью-Йорк 

Когда закончите, сохраните и закройте файл.

Установка MariaDB на Centos 7

Установите службу MariaDB на Centos 7 с помощью следующей команды:

 sudo yum --enablerepo=remi install mariadb-server 

Запустите и включите запуск MariaDB при загрузке с помощью следующих команд:

 sudo systemctl запустить mariadb.service 
 sudo systemctl включить mariadb 

Теперь выполните приведенную ниже команду, чтобы защитить службу MariaDB на Centos 7:

 mysql_secure_installation 

Вам будет задано несколько вопросов. Добавьте новый пароль root и продолжайте. Оттуда нажмите Y.

Затем войдите в свою консоль MariaDB на Centos 7:

 mysql -u корень -p 

Введите созданный вами пароль root, вы увидите оболочку MariaDB:

 Добро пожаловать в монитор MariaDB. Команды заканчиваются на ; или \г.
Ваш идентификатор подключения к MariaDB — 10.
Версия сервера: 5.5.68-MariaDB Сервер MariaDB
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab и другие.
Введите «помощь»; или '\h' для помощи. Введите '\c', чтобы очистить текущий оператор ввода.
MariaDB [(нет)]> 

На этом этапе вам необходимо создать базу данных для Zabbix.

 Создать базу данных; 
 создать пользователя, идентифицированного BY ''; 
 предоставить все привилегии на .* пользователю @localhost ; 

Сбросить привилегии и выйти из консоли MariaDB:

 флеш-привилегии;
Выход; 

Как только вы закончите создание базы данных для установки Zabbix, импортируйте исходную схему и данные во вновь созданную базу данных:

 # cd /usr/share/doc/zabbix-server-mysql*/
# zcat create.sql.gz | mysql -u zabbixuser -p zabbixdb 

На этом этапе вам необходимо обновить файл конфигурации базы данных.

Откройте файл в вашем любимом текстовом редакторе, здесь мы используем vi:

 sudo vi /etc/zabbix/zabbix_server.conf 
 DBHost=localhost
DBName=zabbixdb
DBUser=zabbixuser
DBPassword=пароль 

Когда вы закончите, сохраните и закройте файл.

Перезапустите все ваши службы на Centos 7:

 sudo systemctl перезапустить zabbix-server zabbix-agent httpd rh-php72-php-fpm 

Затем включите запуск служб при загрузке:

 sudo systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm 

Настройка брандмауэра для Zabbix

 # sudo firewall-cmd --permanent --add-port=10050/tcp
# sudo firewall-cmd --permanent --add-port=10051/tcp
# sudo firewall-cmd --permanent --add-port=80/tcp 

Затем перезагрузите брандмауэр, чтобы применить новые правила:

 sudo firewall-cmd --reload 

Доступ к веб-интерфейсу Zabbix

 http://server-ip/zabbix 

Нажмите «Следующий шаг» на странице приветствия Zabbix.

Zabbix welcome screen

Следующий шаг проверяет выполнение всех предварительных требований для установки Zabbix. Если есть какие-то проблемы, их нужно исправить. Нажмите «Следующий шаг».

check for pre-installation of Zabbix

Configure Zabbix DB connection

После этого укажите сведения о сервере Zabbix, номер порта и имя для установки Zabbix, а затем щелкните следующий шаг.

Zabbix server details

Вы получите сводку перед установкой, как показано ниже. Нажмите «Далее».

Теперь вы завершили установку Zabbix. Нажмите на  Готово
.

Complete Zabbix installation on Centos 7

Когда вы нажмете «Готово», программа установки перенаправит вас в веб-консоль Zabbix.

Здесь вы можете получить доступ к панели инструментов Zabbix.

Zabbix login screen

Вы увидите панель управления Zabbix:

Zabbix dashboard on Centos 7

К этому моменту вы научитесь устанавливать и настраивать Zabbix на Centos 7
.

Надеюсь, вам понравится.

Вам могут быть интересны эти статьи:

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

Установка и настройка Zabbix 6.0 на Rocky Linux 8

Как установить и настроить Zabbix 6.0 в Debian 11

Zabbix — это опенсорсная система мониторинга для сетей и приложений. С помощью Zabbix можно в режиме реального времени получать разные метрики, полученные от серверов (например, VPS/VDS), виртуальных серверов и машин, элементов сети и веб-приложений. Подробнее об этой системе вы можете узнать в статье Zabbix: что такое и как использовать
. В этой инструкции описана настройка и установка Zabbix на CentOS (она подойдёт дистрибутивы CentOS 7 и выше).

Чтобы поставить Zabbix на Linux, необходимо установить веб-сервер Nginx, PHP и СУБД MariaDB.

Облачные серверы нового поколения

Виртуализация KVM, почасовая оплата, резервные копии, готовые шаблоны, 10 доступных ОС на выбор!

Zabbix мониторинг centos 7

Подготовка сервера

Установка времени

  1. Задайте правильную временную зону (в примере московское время):

     \cp /usr/share/zoneinfo/Europe/Moscow /etc/localtime 

  2. Установите и запустите сервис синхронизации времени:

     yum install chrony
    systemctl enable chronyd
    systemctl start chronyd 

Настройка фаервола

  1. Откройте порты с помощью команды:

     firewall-cmd --permanent --add-port={80/tcp,443/tcp,10051/tcp,10050/tcp,10050/udp,10051/udp} 

Установка и настройка web-сервера в CentOS

Установка MariaDB

  1. Для установки СУБД MariaDB введите команду:

     yum install mariadb mariadb-server 

  2. Разрешите автозапуск сервера баз данных и запустите MariaDB:

     systemctl enable mariadb
    systemctl start mariadb 

  3. Задайте пароль суперпользователя:

     mysqladmin -u root password 

    После ввода команды нужно ввести пароль и подтвердить его.

Установка веб-сервера

Мы будем использовать веб-сервер Nginx.

  1. Разрешите автозапуск и запустите Nginx:

     systemctl enable nginx
    systemctl start nginx 

Установка PHP

  1. Установите PHP и необходимые компоненты:

     yum install php php-fpm php-mysql php-pear php-cgi php-common php-ldap php-mbstring php-snmp php-gd php-xml php-gettext php-bcmath 

  2. Найдите и отредактируйте следующие параметры:

     date.timezone = "Europe/Moscow"
    max_execution_time = 300
    post_max_size = 16M
    max_input_time = 300
    max_input_vars = 10000 

    Для быстрого поиска нажмите Ctrl+W
    и введите название параметра. Сохраните изменения, нажав Ctrl+X, Y, Enter
    .

  3.  systemctl enable php-fpm
    systemctl start php-fpm 

Настройка связки Nginx+PHP

  1. Откройте конфигурационный файл Nginx:

     nano /etc/nginx/nginx.conf 

  2. Приведите настройки к виду:

     server { listen 80 default_server; server_name _; set $root_path /usr/share/nginx/html; root $root_path; location / { index index.php; } location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_buffer_size 32k; fastcgi_buffers 4 32k; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $root_path$fastcgi_script_name; include fastcgi_params; fastcgi_param DOCUMENT_ROOT $root_path; fastcgi_read_timeout 300; }
    } 

  3. Проверьте корректность настроек:

    Если настройки внесены верно, вы увидите сообщение:

     nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
    nginx: configuration file /etc/nginx/nginx.conf test is successful 

  4. Откройте корневой каталог с помощью команды:

  5. Добавьте в файл строку:

Установка и настройка сервера Zabbix (Zabbix install CentOS)

Zabbix установка CentOS 7

  1. Установите репозиторий Zabbix командой:

     yum install https://repo.zabbix.com/zabbix/4.2/rhel/7/x86_64/zabbix-release-4.2-2.el7.noarch.rpm 

  2. Установите сервер Zabbix с помощью команды:

     yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent zabbix-get 

Настройка базы данных

  1. Создайте базу данных с помощью команды:

     CREATE DATABASE zabbix_name DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci; 

    Где zabbix_name — имя базы данных.

  2. Создайте пользователя базы данных:

     GRANT ALL PRIVILEGES ON zabbix_name.* TO zabbix_user@localhost IDENTIFIED BY '123456'; 

  3.  cd /usr/share/doc/zabbix-server-mysql-* 

  4. Распакуйте архив с дампом базы данных:

  5. Восстановите базу данных из дампа:

     mysql -u root -p zabbix < create.sql 

    После ввода команды нужно ввести пароль, заданный при установке MariaDB.

Настройка Zabbix

  1. Откройте конфигурационный файл Zabbix:

     nano /etc/zabbix/zabbix_server.conf 

  2. где 123456 — пароль базы данных.

  3. Проверьте значения строк:

     DBName=zabbix_name
    DBUser=zabbix_user 

Запуск Zabbix-server

  1. Разрешите автозапуск мониторинга:

     systemctl enable zabbix-server 

  2.  systemctl start zabbix-server 

Настройка Nginx

  1. Откройте конфигурационный файл:

     nano /etc/nginx/nginx.conf 

  2.  set $root_path /usr/share/nginx/html; 

     set $root_path /usr/share/zabbix; 

Настройка веб-интерфейса Zabbix

  1. Проверьте, во всех ли строках стоит значение ОК, затем нажмите Next step
    :


  2. Пропишите данные для подключения к базе данных. Нажмите Next step
    :


  3. Оставьте уже указанные значения Host
    и  Port
    . Опционально вы можете ввести любое имя сервера в поле Name
    . Нажмите Next step
    .

  4. Проверьте настройки и нажмите Next step
    .

  5. Установка завершена. Нажмите Finish
    :


Готово, теперь вы можете пользоваться веб-интерфейсом Zabbix:


Zabbix настройка агента СentOS 7

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

Далее расскажем, как установить Zabbix agent на сервер. Агент Zabbix собирает данные мониторинга сети и отправляет их на сервер Zabbix.

  1. Поскольку репозиторий уже установлен, установка Заббикс агента на СentOS выполняется командой:

  2. Далее откройте конфигурационный файл:

     nano /etc/zabbix/zabbix_agentd.conf 

  3. Разрешите автозапуск агента и запустите его:

     systemctl enable zabbix-agent
    systemctl start zabbix-agent 

Готово, установка Zabbix-Agent на сервер завершена.

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

Чтобы мониторить какой-либо хост, нужно добавить его на сервере Zabbix (в установленном веб-интерфейсе).

  1. Нажмите Add
    , а затем Update
    .

Готово, хост добавлен на сервер Zabbix.

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

Если у вас есть желание научиться администрировать системы на базе Linux, рекомендую познакомиться с онлайн-курсом «Linux для начинающих»
в OTUS. Курс для новичков, для тех, кто с Linux не знаком. Подробная информация
.

Введение

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

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

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

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

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

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

Centos 7

Первым делом вам необходимо  установить
 и  настроить
 сервер 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, разберитесь с ним, прежде чем двигаться дальше. В первую очередь проверьте настройки фаервола. Более детально о настройке 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 
 # 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 innodb-strict-mode = OFF [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 сервера готов. На этом предварительные настройки сервера закончены. Можно приступать к установке.

Centos 8

Как установить Centos 8
читайте в отдельной статье. Его подготовка к установке zabbix будет проще, так как в базовых репозиториях более свежий софт, который нам подходит. Вначале либо отключите firewalld, либо выполните его настройку. Я не буду на этом останавливаться, так как это тема отдельной статьи.

 # systemctl stop firewalld
# systemctl disable firewalld 

То же самое касается SELinux. В Centos 8 я еще не разбирался, как его корректно настроить для работы с zabbix-server. Пока отключите, либо сами поищите информацию по настройке. Когда найдете, буду рад, если поделитесь в комментариях.

 # mcedit /etc/sysconfig/selinux 
 SELINUX=disabled 
 

Дальше подключаем репозиторий epel.

 # dnf install epel-release 

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

 [nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true 

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

 # dnf install nginx
# systemctl start nginx
# systemctl enable nginx 

Зайдите по адресу http://ip-сервера/
и убедитесь, что nginx запустился. Теперь отдельно установим php и модули к нему, которые понадобятся.

 # dnf install php php-fpm php-cli php-mysqlnd php-gd php-ldap php-odbc php-pdo php-pear php-xml php-xmlrpc php-mbstring php-snmp php-soap php-bcmath 

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

 # systemctl start php-fpm
# systemctl enable php-fpm 

Проверяем, стартовал ли указанный в конфиге сокет.

 # ll /run/php-fpm/www.sock
srw-rw----+ 1 root root 0 Oct 4 13:14 /run/php-fpm/www.sock 

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

Устанавливаем сервер баз данных Mariadb.

 # dnf install mariadb-server mariadb 

Запускаем 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/mariadb-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
innodb-strict-mode = OFF 

Тут заданы некоторые важные параметры по 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 на Centos 7 нужно подключить репозиторий актуальной версии.

 # 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%] 

То же самое делаем для Centos 8.

 # rpm -Uvh https://repo.zabbix.com/zabbix/4.0/rhel/8/x86_64/zabbix-release-4.0-2.el8.noarch.rpm 

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

 # 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 на сервере с Centos 7
. Если у вас 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; }
} 

Для Centos 8 конфиг будет другой
, так как из репозитория zabbix прилетает готовый конфиг для php-fpm. Он находится тут — /etc/php-fpm.d/zabbix.conf
. Там указан другой сокет — /run/php-fpm/zabbix.sock, который мы будем использовать. Поменяем в этом конфиге пользователя с apache на nginx и укажем свой часовой пояс.

 user = nginx
group = nginx
php_value[date.timezone] = Europe/Moscow 

После этого php-fpm надо перезапустить.

 # systemctl restart php-fpm 

Конфиг nginx default.conf
для centos 8 будет таким:

 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-fpm/zabbix.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; 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.

 # wget https://repo.zabbix.com/zabbix/4.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_4.0-3+bionic_all.deb
# dpkg -i zabbix-release_4.0-3+bionic_all.deb 
 # wget https://repo.zabbix.com/zabbix/4.0/debian/pool/main/z/zabbix-release/zabbix-release_4.0-3+stretch_all.deb
# dpkg -i zabbix-release_4.0-3+stretch_all.deb 
 # wget https://repo.zabbix.com/zabbix/4.0/debian/pool/main/z/zabbix-release/zabbix-release_4.0-3+buster_all.deb
# dpkg -i zabbix-release_4.0-3+buster_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 
 # 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.conf
. Приводим его к следующему виду:

 # mcedit /etc/nginx/sites-available/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:  /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 сервера

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

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

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

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

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

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

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

  • Пользователь Admin
  • Пароль zabbix
Начальный экран мониторинга Zabbix

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

Настройка Zabbix Server

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 {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:

Помогла статья? Подписывайся на telegram канал
автора

Анонсы всех статей, плюс много другой полезной и интересной информации, которая не попадает на сайт.

Читайте также:  Повысьте безопасность в Интернете с помощью прокси-сервера Nat Masquerade: оставайтесь анонимными во время просмотра веб-сайтов
Оцените статью
Хостинги