Zabbix установка и настройка CentOS 7

Zabbix установка и настройка CentOS 7

В рамках данного материала рассматривается установка сервера мониторинга Zabbix, Zabbix агента и сопутствующего ПО на CentOS 7. В конченом итоге получается работоспособная система мониторинга, в которую остается добавлять хосты, состояние которых будет контролироваться и задавать опции мониторинга. Статья является переводом с авторскими добавлениями.

Установка MySQL и настройка его для работы с сервером мониторинга Zabbix

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

wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm rpm -ivh mysql-community-release-el7-5.noarch.rpm

После установки запустим его и проверим статус

● mysqld.service — MySQL Community Server Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled) Active: active (running) since Вс 2017-06-25 16:43:43 +05; 6s ago Process: 2630 ExecStartPost=/usr/bin/mysql-systemd-start post (code=exited, status=0/SUCCESS) Process: 2566 ExecStartPre=/usr/bin/mysql-systemd-start pre (code=exited, status=0/SUCCESS) Main PID: 2629 (mysqld_safe) CGroup: /system.slice/mysqld.service ├─2629 /bin/sh /usr/bin/mysqld_safe —basedir=/usr └─2794 /usr/sbin/mysqld —basedir=/usr —datadir=/var/lib/mys…

Скрипт, осуществляющий безопасную установку mysql настраивает самые важные опции безопасности, он применим и на Debian подобных системах

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

Авторизуемся в консоли и вводим пароль заданный на предыдущем шаге

Проверяем, что ошибок не возникает выполняя базовый запрос show databases;

После этого выходим

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

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

rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm

В выводе при этом наблюдаем:

Retrieving http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm warning: /var/tmp/rpm-tmp.YNwOup: Header V4 DSA/SHA1 Signature, key ID 79ea5ed4: NOKEY Preparing… (10################################# [100%] Updating / installing… 1:zabbix-release-3.0-1.el7 ( ################################# [100%]

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

Установка и настройка zabbix-agent

Устанавливаем агент вводя в возникающих диалогах y

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

Для шифрования соединения между сервером и агентом будем использовать PSK — pre-shared keys

sh -c «openssl rand -hex 32 > /etc/zabbix/zabbix_agentd.psk»

Затем просматриваем его

Открываем конфигурационный файл Zabbix агента для редактирования

В нем находим секцию, отвечающая за работу сервера и меняем IP адрес (можно узнать выполнив ip a в консоли)

### Option: Server

Server=123.123.123.123

В том же файле найдем опцию, отвечающую за TCP соединение и добавим в блок приведенную ниже строку задающую шифрование соединения при помощи psk.

### Option: TLSConnect

TLSConnect=psk

Аналогично с блоком TLSAccept

### Option: TLSAccept

TLSAccept=psk

В блоке ### Option: TLSPSKIdentity установим для директивы TLSPSKIdentity уникальное имя ключа TLSPSKIdentity=PSK TUTORIAL

При работе через веб интерфейс и добавлении хоста будет использоваться PSK ID

В блоке ### Option: TLSPSKFile задаем расположение на сервере файла с созданным ранее psk ключом.

TLSPSKFile=/etc/zabbix/zabbix_agentd.psk

Базовая настройка на этом завершена — запускаем сервис и проверяем его статус

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

● zabbix-agent.service — Zabbix Agent Loaded: loaded (/usr/lib/systemd/system/zabbix-agent.service; enabled; vendor preset: disabled) Active: active (running) since Вс 2017-06-25 18:17:00 +05; 14s ago Main PID: 10911 (zabbix_agentd) CGroup: /system.slice/zabbix-agent.service ├─10911 /usr/sbin/zabbix_agentd -c /etc/zabbix/zabbix_agentd…. ├─10912 /usr/sbin/zabbix_agentd: collector [idle 1 sec] ├─10913 /usr/sbin/zabbix_agentd: listener #1 [waiting for con… ├─10914 /usr/sbin/zabbix_agentd: listener #2 [waiting for con… ├─10915 /usr/sbin/zabbix_agentd: listener #3 [waiting for con… └─10916 /usr/sbin/zabbix_agentd: active checks #1 [idle 1 sec…

Добавляем в автозагрузку при старте системы

А также сам zabbix

Настраиваем MySQL для работы с Zabbix

CREATE DATABASE zabbix CHARACTER SET utf8;

GRANT ALL PRIVILEGES ON zabbix.* to zabbix@localhost IDENTIFIED BY 'password';

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

zcat create.sql.gz | mysql -uzabbix -p zabbix

Правим конфиг Zabbix сервера

Находим блок ### Option: DBPassword и вставляем в него директиву DBPassword=password, где после знака «равно» указан текущий пароль доступа к БД

Поскольку управлять мониторингом будем через веб-интерфейс потребуется установить веб-севрер и настроить виртуальный хост

Добавляем в автозагрузку

Редактируем конфигурационный файл httpd задавая настройки часового пояса. Остальные настройки оставляем по умолчанию

Через браузер обращаемся к хосту прописывая IP адрес сервера, к которому добавляем /zabbix Если при этом появляется ошибка о невозможности подключения выполняем команду iptables -F, которая сбросит существующие правила iptables.

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

При завершении диалога создается файл /etc/zabbix/web/zabbix.conf.php. В интерфейсе Zabbix можно авторизоваться с логином admin и паролем zabbix

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

В веб-интерфейсе необходимо авторизоваться, затем перейти в раздел Configuration, затем Hosts в верхнем меню. После чего нажать Create host

В качестве Host name и IP ADDRESS нужно указать имя хоста и IP адрес клиентского сервера, состояние которого будет отслеживаться

Затем хост добавляется в группу, которая выбирается из списка или создается, по умолчанию хосты добавляются в группу Linux Servers. Добавив хост в группу потребуется нажать Templates.

В поиске нужно набрать Template OS Linux и нажать Add чтобы добавить шаблон к хосту.

Далее выбирваем вкладку Encryption и выбираем PSK для Connections to host и Connections from host. Устанавливаем для PSK identity опцию PSK TUTORIAL, что является значением параметра TLSPSKIdentity для агента, котороые мы определили раньше.

Просматриваем ключ на машине с агентом Zabbix

И копируем его устанавливая в качестве PSK value

Теперь мы видим новый хост, добавленный для мониторинга, а на вкладках Monitoring и Latest data отображается информация о состоянии этого хоста.

Для каждого нового хоста будет необходимо устанавливать Zabbix-agent и генерировать PSK ключ, затем добавлять агент на сервере в качестве хоста для мониторинга. Конфигурация, таким образом, довольно простая, при этом она позволяет оргаинзовать распространенную систему мониторинга за большим парком серверов.

Популярным аналогом Zabbix является сервер мониторинга Nagios, для отслеживания состояния одного сервера обычно достаточно Monit.

📎📎📎📎📎📎📎📎📎📎