Установка и настройка zabbix 3.2 на centos 7

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

Шаг 1. Для начала установим следующий пакет: zabbix-release-5.0-1.el8.noarch.rpm

Данный пакет установит Zabbix репозиторий, чтобы мы смогли затем установить необходимые нам пакеты. Устанавливать будем через пакетный менеджер rpm.

Шаг 2. Очистим Кэш пакетного менеджера DNF, чтобы затем мы могли заново собрать информацию о всех пакетах репозиториев. Выполним следующие команды:

Шаг 3. Далее установим Zabbix-Server, Zabbix-front-end, Zabbix agent и компоненты для работы с базой и веб-сервером. Для этого выполним команду:

Будет установлено большое количество необходимых компонентов.

Шаг 4. Чтобы завести базу в Postgresql, выполним следующие команды из под пользователя root, при создании пользователя необходимо задать пароль:

Шаг 5. Далее импортируем схему и необходимые данным для работы Zabbix сервера в базу данных Postgresql. Для импорта вы можете использовать следующую команду:

Выполнение команды займет некоторое время.

Будут созданы таблицы, индексы и загружены изначальные данные.

Шаг 6. Изменим конфигурацию Zabbix сервера, зададим пароль для подключения к базе данных. Для этого отредактируем файл: /etc/zabbix/zabbix_server.conf

Шаг 7. Для настройки Front-end части Zabbix сервера, отредактируем конфигурационный файл /etc/nginx/conf.d/zabbix.conf. В данном файле нам необходимо раскомментировать строку listen 80 и добавить имя сервера к строке server_name.

Шаг 8. Установим правильный часовой пояс для php, для этого отредактируем файл /etc/php-fpm.d/zabbix.conf, раскомментируем следующую строку и установим верный часовой пояс:

В моем случае часовое пояс Europe/Moscow, запись вашего часового пояса вы можете уточнить на официальном сайте PHP.

Шаг 9. Так как Nginx по умолчанию прослушивает 80 порт и отдает страницу по умолчанию, то для того чтобы мы были переадресованы на страницу Zabbix для продолжения установки закомментируем блок server в файле /etc/nginx/nginx.conf

Страница по умолчанию Nginx выглядит следующим образом:

Шаг 10. Чтобы на этапе настройки не возникли проблемы с подключением к базе Postgresql-12, нам необходимо изменить файл pg_hba.conf в моем случае он находится в каталоге /var/lib/pgsql/12/data/

Нам необходимо изменить следующую строку:

Приведем ее к виду:

После чего перезапустим сервер базы данных Postgresql-12

Шаг 11. Переустановим все запущенные сервисы, необходимые для работы Zabbix Сервера и добавим их в автозагрузку. Для этого выполним следующие команды при помощи утилиты systemctl:

После этого перейдя по адресу нашего сервера, перед нами появится страница установки Zabbix Сервера:

Нажмем Next, перед нами появится страница с проверкой нашей системы для дальнейшей установки и настройки Zabbix сервера:

Если все корректно, то напротив каждого пункта мы увидим OK. Перейдем к следующему шагу нажав Next Step.

Укажем в качестве порта, порт 5432 в качестве host укажем адрес локального или напишем localhost, также не забываем задать имя БД и пользователя. После чего нажмем Next Step.

Укажем имя хоста, также зададим имя Zabbix Сервера. В качестве порта оставьте 10051, этот порт будет использоваться Zabbix — агентом для доступа к серверу. Нажмем Next Step.

Проверяем еще раз ранее указанную информацию. Нажмем Next Step. По окончании установки будет создан конфигурационный файл zabbix.conf.php.

Нажмем Finish и мы будем переадресованы на страницу входа в систему мониторинга.

По умолчанию для входа в систему, нам необходимо указать Логин и Пароль по умолчанию. В качестве Логина для первого входа используйте Admin, а для Пароля zabbix.

Мы попадем на страницу мониторинга сервера. На этом установка Zabbix Сервера версии 5 завершена.

Установка zabbix agent на CentOS 7

Добавим теперь хотя бы одного агента мониторинга, чтобы проверить работу системы. Устанавливать будем на этот же сервер. Делается это просто:

# yum -y install zabbix-agent

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

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

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

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

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

# cat /var/log/zabbix/zabbix_agentd.log

21197:20150912:212555.935 no active checks on server : host  not monitored

У меня там следующая ошибка. Я знаю с чем она связана. На сервере по-умолчанию уже добавлен локальный host для мониторинга, но он отключен. Чтобы его включить, идем в раздел Configuration -> Hosts и активируем Zabbix server нажатием на Disabled, чтобы он стал Enabled.

Можно подождать, либо вручную перезапустить агент, чтобы сразу проверить изменения:

# systemctl restart zabbix-agent

Для надежности, проверяем еще раз лог файл на наличие ошибок. Их быть не должно. Агент заработал и начал отправлять данные на сервер. Чтобы проверить поступление данных, надо подождать пару минут и идти в раздел Monitoring -> Latest data. Выбрать там наш единственный хост и нажать Apply.

Видно, что данные уже начали поступать.

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

# systemctl stop zabbix-agent

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

После возобновления работы агента, вы еще раз получите уведомление о том, что он теперь доступен.

Шаг 1. Установите и настройте httpd-сервер Apache

Установите веб-сервер Apache на сервер CentOS 7, выполнив команду:

После установки Apache настройте базовую безопасность, разрешив только Prod ServerTokens.. Добавьте в конец файла следующую строку:

Директива  настраивает то, что возвращается как HTTP-ответ сервера. Допустимые варианты:  Full | OS | Minimal | Minor | Major | Prod.

Установите ServerName:

Настройте администратора сервера на получение электронной почты в случае возникновения проблем.

После внесения изменений перезапустите веб-службу apache:

Если у вас установлен и включен межсетевой экран firewalld, разрешите доступ к портам 443 и 80 :

Apache, PHP и др.

Устанавливаем необходимые для работы Zabbix модули, библиотеки, приложения.

# yum install httpd php php-gd php-ldap php-bcmath php-mbstring php-xml php-pgsql net-snmp net-snmp-agent-libs net-snmp-devel net-snmp-libs net-snmp-perl net-snmp-utils libxml2-devel unixODBC-devel libcurl-devel libssh2-devel OpenIPMI-devel openssl-devel openldap-devel

Редактируем /etc/php.ini

post_max_size = 16M
max_execution_time = 300
max_input_time = 300
date.timezone = Europe/Moscow
always_populate_raw_post_data = -1

Конфигурационный файл Apache для Zabbix находится: /etc/httpd/conf.d/zabbix.conf

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

Начинаем традиционно с подготовки рабочего окружения. Первым делом вам необходимо установить и настроить сервер CentOS 7. Дальше нам нужно настроить web сервер для работы интерфейса управления. У меня есть подробный материал на тему настройки web сервера на centos 7, можете ознакомиться с ним и настроить внимательно и осмысленно. Далее я буду просто приводить команды установки, без пояснений. В этой статье я буду делать стандартную установку Zabbix на традиционный веб сервер apache + php. Если вы хотите, чтобы ваш заббикс работал на веб сервере nginx + php-fpm, читайте отдельный материал по установке zabbix на nginx и php-fpm.

# yum -y update

Отключаем SElinux. Любителям с ним повозиться, дальше можно не читать. Не люблю споров на тему SElinux. Каждый сам решает для себя в конкретной ситуации, нужен он ему на сервере или нет. Я не вижу смысла с ним заморачиваться на сервере мониторинга в локальной сети.

# mcedit /etc/sysconfig/selinux

Редактируем строку:

SELINUX=disabled

и перезагружаемся.

Теперь установим mariadb. Ее необходимо ставить отдельно, почему-то она не устанавливается как необходимая зависимость при установке самого сервере zabbix.

На всякий случай упомяну для тех, кто не знает, что такое mariadb и почему мы ставим ее, а не mysql. Mariadb — ответвление mysql. Они полностью совместимы, возможен в любой момент переход с одной субд на другую и обратно. Есть информация, что mariadb пошустрее работает mysql и люди потихоньку перебираются на нее. Разработчики CentOS начиная с версии 7 предлагают ее как сервер баз данных по-умолчанию.

# yum install -y mariadb mariadb-server

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

# systemctl start mariadb
# systemctl enable mariadb.service

Отрабатываем скрипт первоначальной настройки mysql:

# /usr/bin/mysql_secure_installation

Все подготовительные работы выполнены, двигаемся дальше.

Установка zabbix agent на CentOS 7

Добавим теперь хотя бы одного агента мониторинга, чтобы проверить работу системы. Устанавливать будем на этот же сервер. Делается это просто:

# yum -y install zabbix-agent

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

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

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

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

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

# cat /var/log/zabbix/zabbix_agentd.log

21197:20150912:212555.935 no active checks on server : host  not monitored

У меня там следующая ошибка. Я знаю с чем она связана. На сервере по-умолчанию уже добавлен локальный host для мониторинга, но он отключен. Чтобы его включить, идем в раздел Configuration -> Hosts и активируем Zabbix server нажатием на Disabled, чтобы он стал Enabled.

Можно подождать, либо вручную перезапустить агент, чтобы сразу проверить изменения:

# systemctl restart zabbix-agent

Для надежности, проверяем еще раз лог файл на наличие ошибок. Их быть не должно. Агент заработал и начал отправлять данные на сервер. Чтобы проверить поступление данных, надо подождать пару минут и идти в раздел Monitoring -> Latest data. Выбрать там наш единственный хост и нажать Apply.

Видно, что данные уже начали поступать.

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

# systemctl stop zabbix-agent

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

После возобновления работы агента, вы еще раз получите уведомление о том, что он теперь доступен.

Установка zabbix agent на CentOS 7

Полноценная настройка сервера заббикс тема отдельной статьи. Мы же для примера установим zabbix agent на это же сервер, чтобы его мониторить.

Устанавливаем zabbix-agent на CentOS 7:

# yum -y install zabbix-agent

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

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

Идем в веб панель и заходим в раздел Configuration -> Hosts. В статусе единственного хоста — Zabbix server нажимаем на Disabled и делаем его Enabled.

Ждем некоторое время (1-2 минуты) и идем проверять, получает ли сервер мониторинга информацию с агента. Для этого перемещаемся в раздел Monitoring -> Latest data, выбираем в фильтре хост Zabbix-server и смотрим, пришли ли данные:

Данные начали поступать. Здесь их можно посмотреть в числовом виде, либо построить графики.

Сервер полностью работоспособен и готов принимать информацию. На этом наша настройка и проверка работы заббикс закончена.

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

Установим непосредственно сервер:

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

Он тянет за собой целый хвост своих зависимостей, которые установятся автоматически.

Теперь создадим базу данных и таблицы:

# mysql -uroot -ppassword
MariaDB > create database zabbix character set utf8 collate utf8_bin;
MariaDB > grant all privileges on zabbix.* to zabbix@localhost identified by '12345678';
MariaDB > exit
# cd /usr/share/doc/zabbix-server-mysql-2.4.6/create

Обратите внимание на то, что адрес каталога со скриптами mysql может изменяться в зависимости от версии сервера, который вы устанавливаете. На момент написания этой статьи, последняя версия была 2.4.6

Скорее всего во время вашей установки будет более высокая версия.

# mysql -uzabbix -p12345678 zabbix < schema.sql
# mysql -uzabbix -p12345678 zabbix < images.sql
# mysql -uzabbix -p12345678 zabbix < data.sql

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

# mcedit /etc/zabbix/zabbix_server.conf
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=12345678

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

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

Теперь отредактируем настройки каталога zabbix на веб сервере:

# mcedit /etc/httpd/conf.d/zabbix.conf

Раскомментируем строку  php_value date.timezone и установим там свой часовой пояс:

php_value date.timezone Europe/Moscow

Перезапускаем httpd:

# systemctl restart httpd

Открываем в браузере страничку http://ip-сервера/zabbix Нас встречает окно инсталлятора:

Нажимаем Next, попадаем на страницу проверки требований установки:

Во всех столбцах должно стоять OK. Дальше указываем параметры подключения к mysql:

Здесь обращаю ваше внимание. После проверки соединения с базой данных я не мог перейти на следующий шаг установщика

Причем сталкивался я с этой ошибкой несколько раз и каждый раз впадал в ступор, не понимая, в чем проблема. Дело оказалось в браузере. Конкретно во время написания этой статьи я не смог продолжить установку в Яндекс.Браузере, основанном на Хромиуме. Продолжить установку zabbix пришлось в IE 11. Так что если у вас по какой-то причине не получается пройти процедуру установки через браузер, попробуйте его заменить.

На следующем шаге указываем адрес сервера и порт. Если он у вас на этом же сервере, где веб морда, то оставляем настройки по-умолчанию:

Проверяем введенные ранее настройки и если все в порядке, жмем Next:

В конце получаете сообщение о том, что установка закончена:

Нажимаем Finish и оказываемся на странице логина в систему. Имя пользователя и пароль по-умолчанию в zabbix — Admin/zabbix.

Заходим и попадаем на главную страницу сервера мониторинга, который на данный момент пуст:

Установка zabbix сервера на этом закончена. Дальше его нужно настраивать.

Установка Битрикс24

Если ресурс работает напрямую без использования проксирования переходите к следующему разделу статьи.

Работа сайта через Nginx proxy

По умолчанию считается что сервер имеет свой белый IP и это понятно. Часто коробочную версию Битрикс24 устанавливают в своей локальной сети где имеется один белый ip на котором работают разные ресурсы по протоколам http или https.

Для решения задачи размещения на одном IP адресе разных ресурсов работающих по протоколу http(s) давно и успешно используется Nginx работающий в режиме прокси сервера.

На практике удобно настроить на Nginx получение сертификатов SSL и дальше проксировать сигнал до нужного сервера по протоколу http.

Узнать более подробно как делается подобное проксирование можно из статьи .

Вот самый просто пример который дает возможность проксировать сигнал до нужной машины:

server {
listen 80;
server_name crm.sevo44.ru;
location / {
access_log off;
proxy_pass http://192.168.81.56:80;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 10m;
}
}

Где выделенные части имеют следующий смысл:

  • crm.sevo44.ru — под домен где будет работать Битрикс24;
  • http://192.168.0.44:80 — адрес на котором будет установлен Битрикс24;
  • client_max_body_size 10m — параметр который позволит передавать на ресурс файлы больше 10 Мбайт.

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

Установка Битрикс24

Увидим окно приветствия и на каждом этапе вносим всю необходимую информацию.

Процедура не сложная и описывать её не вижу смысла. Гораздо интересней дальнейшая настройка без которой не возможно начать полноценное тестирование работы ресурса.

Установка zabbix agent на CentOS 7

Полноценная настройка сервера заббикс тема отдельной статьи. Мы же для примера установим zabbix agent на это же сервер, чтобы его мониторить.

Устанавливаем zabbix-agent на CentOS 7:

# yum -y install zabbix-agent

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

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

Идем в веб панель и заходим в раздел Configuration -> Hosts. В статусе единственного хоста — Zabbix server нажимаем на Disabled и делаем его Enabled.

Ждем некоторое время (1-2 минуты) и идем проверять, получает ли сервер мониторинга информацию с агента. Для этого перемещаемся в раздел Monitoring -> Latest data, выбираем в фильтре хост Zabbix-server и смотрим, пришли ли данные:

Данные начали поступать. Здесь их можно посмотреть в числовом виде, либо построить графики.

Сервер полностью работоспособен и готов принимать информацию. На этом наша настройка и проверка работы заббикс закончена.

Заключение

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

  • Cрок действия ssl сертификата
  • Почтовый сервер Postfix
  • Звонок-оповещение Zabbix через Asterisk на мобильный телефон
  • Лог файлы
  • Установка и настройка zabbix прокси на CentOS 7
  • Размер бэкапа
  • Значения из текстового файла
  • Время делегирования домена
  • Synology
  • Актуальность бэкапов
  • Транки (trunk) в asterisk
  • Программный рейд mdadm
  • Доступность службы linux
  • MySQL репликация
  • Web сайт
  • Web сервер nginx и php-fpm
  • Настройка мониторинга температуры

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

Заключение

Процедура обновления Zabbix сервера обычно не сложная. Проблемы чаще всего возникают в двух случаях:

  1. Проблемы с зависимостями пакетов, чаще всего php или mysql.
  2. Большая база данных, которая очень долго обновляется, либо не обновляется по какой-то причине.

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

Иногда база не обновляется из-за каких-то проблем с записями. Чаще всего в полях acknowledged, куда можно понаписать всего, что угодно. Надо тоже разбираться по месту и удалять то, что мешает обновлению. Но в общем и целом, обновление проходит штатно и лично у меня никогда не было с ним проблем.

У меня очень много статей по настройке zabbix. Все они в отдельном разделе. Так же у меня написана подробная статья по установке и настройке zabbix 4 с моими примерами и рекомендациями.

Онлайн курс Основы сетевых технологий

Теоретический курс с самыми базовыми знаниями по сетям. Курс подходит и начинающим, и людям с опытом. Практикующим системным администраторам курс поможет упорядочить знания и восполнить пробелы. А те, кто только входит в профессию, получат на курсе базовые знания и навыки, без воды и избыточной теории. После обучения вы сможете ответить на вопросы:

  • На каком уровне модели OSI могут работать коммутаторы;
  • Как лучше организовать работу сети организации с множеством отделов;
  • Для чего и как использовать технологию VLAN;
  • Для чего сервера стоит выносить в DMZ;
  • Как организовать объединение филиалов и удаленный доступ сотрудников по vpn;
  • и многое другое.

Уже знаете ответы на вопросы выше? Или сомневаетесь? Попробуйте пройти тест по основам сетевых технологий. Всего 53 вопроса, в один цикл теста входит 10 вопросов в случайном порядке. Поэтому тест можно проходить несколько раз без потери интереса. Бесплатно и без регистрации. Все подробности на странице .

Заключение

Появилось много новых шаблонов, которые делают неактуальными многие мои статьи. Тот же мониторинг Nginx и Apache. Я еще не смотрел стандартные шаблоны для этого. Надо будет изучить и отредактировать статьи.

Онлайн курс Infrastructure as a code

Если у вас есть желание научиться автоматизировать свою работу, избавить себя и команду от рутины, рекомендую пройти онлайн курс Infrastructure as a code. в OTUS. Обучение длится 4 месяца.

Что даст вам этот курс:

  • Познакомитесь с Terraform.
  • Изучите систему управления конфигурацией Ansible.
  • Познакомитесь с другими системами управления конфигурацией — Chef, Puppet, SaltStack.
  • Узнаете, чем отличается изменяемая инфраструктура от неизменяемой, а также научитесь выбирать и управлять ей.
  • В заключительном модуле изучите инструменты CI/CD: это GitLab и Jenkins

Смотрите подробнее программу по .

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Техноарена
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: