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

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

How To Install and Configure Zabbix on CentOS 7

3 Января 2020 | CentOS

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

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

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

Zabbix может быть развернут для мониторинга на основе агентов и без агентов. Zabbix агент имеет небольшую площадь и может работать на различных платформах, включая Linux, UNIX, macOS и Windows.

Вы должны войти в систему как пользователь с доступом sudo, чтобы иметь возможность устанавливать пакеты.


Создание базы данных MySQL

Zabbix поддерживает MySQL / MariaDB и PostgreSQL в качестве серверов баз данных. В этом уроке мы будем использовать MariaDB в качестве базы данных.

Если на вашем сервере CentOS не установлена ​​MariaDB, вы можете выполнить установку, следуя этим инструкциям .

Войдите в оболочку MySQL, введя следующую команду:


sudo mysql


В оболочке MySQL выполните следующую команду SQL, чтобы создать новую базу данных :


CREATE DATABASE zabbix CHARACTER SET utf8 collate utf8_bin;


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


GRANT ALL ON zabbix.* TO 'zabbix'@'localhost' IDENTIFIED BY 'change-with-strong-password';


    Убедитесь, что вы изменили change-with-strong-password с надежным паролем.

Когда закончите, выйдите из консоли mysql, набрав:


EXIT;


Установка Zabbix на CentOS 

На момент написания этой статьи последняя стабильная версия Zabbix была версией 4.0. Пакеты Zabbix, доступные в репозиториях CentOS, устарели, поэтому мы будем использовать официальный репозиторий Zabbix .

1. Установка Zabbix 

Загрузите последний пакет rpm для репозитория Zabbix с помощью следующей команды wget :


wget https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm


После загрузки файла добавьте репозиторий Zabbix в систему CentOS 7, введя:


sudo yum localinstall zabbix-release-4.0-1.el7.noarch.rpm


Установите сервер Zabbix, веб-интерфейс с поддержкой баз данных MySQL и пакеты агентов Zabbix:


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


Если Apache и PHP еще не установлены на вашем сервере, команда выше установит их.


2. Настройка PHP для веб-интерфейса Zabbix 

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

Откройте файл конфигурации, раскомментируйте строку часового пояса и измените ее на свой часовой пояс. Вы можете найти полный список часовых поясов, поддерживаемых PHP здесь .


/etc/httpd/conf.d/zabbix.conf
...
    <IfModule mod_php5.c>
        php_value max_execution_time 300
        php_value memory_limit 128M
        php_value post_max_size 16M
        php_value upload_max_filesize 2M
        php_value max_input_time 300
        php_value max_input_vars 10000
        php_value always_populate_raw_post_data -1
        php_value date.timezone Europe/Riga
    </IfModule>
...

После этого сохраните файл конфигурации и перезапустите службу Apache, чтобы изменения вступили в силу:


sudo systemctl restart httpd


3. Настройка базы данных MySQL для Zabbix сервера 

Установочный пакет Zabbix предоставляет файл дампа, который содержит исходную схему и данные для Zabbix-сервера с MySQL.

Импортируйте файл дампа MySQL, выполнив:


zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix


При появлении запроса введите пароль пользователя, который вы создали ранее. В случае успеха не выводится.

Затем откройте файл конфигурации Zabbix в вашем редакторе:


sudo nano /etc/zabbix/zabbix_server.conf


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


/etc/zabbix/zabbix_server.conf
...
### Option: DBPassword
#       Database password.
#       Comment this line if no password is used.
#
# Mandatory: no
# Default:
DBPassword=change-with-strong-password
...

Сохраните и закройте файл.

Перезапустите Zabbix сервер и службы агента и включите их при загрузке системы:


sudo systemctl restart zabbix-server zabbix-agentsudo systemctl enable zabbix-server zabbix-agent


Проверьте состояние Zabbix сервера:


sudo systemctl status zabbix-server


Вывод должен показать active (running):


● zabbix-server.service - Zabbix Server
   Loaded: loaded (/usr/lib/systemd/system/zabbix-server.service; enabled; vendor preset: disabled)
   Active: active (running) since Sun 2018-12-30 21:18:01 UTC; 51s ago
 Main PID: 5558 (zabbix_server)
   CGroup: /system.slice/zabbix-server.service
   ...


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

Веб-интерфейс Zabbix написан на PHP и позволяет нам настраивать сервер, просматривать собранные данные и добавлять хосты, которые мы хотим отслеживать.

Прежде чем начать использовать веб-интерфейс, нам нужно его установить.

Откройте ваш любимый браузер и введите доменное имя вашего сервера или публичный IP-адрес, а затем /zabbix:


http(s)://your_domain_or_ip_address/zabbix


На первом экране вам будет представлено приветственное сообщение. Нажмите, Next step чтобы продолжить.



 


Далее вы увидите следующую информационную страницу, где перечислены все предварительные условия PHP, необходимые для запуска веб-интерфейса Zabbix. Все значения в этой таблице следует прокрутить вниз, чтобы убедиться, что все настроено правильно. После подтверждения нажмите, Next step чтобы продолжить.


 

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


 

Ввод имени для сервера не является обязательным. Введите его, если у вас более одного сервера мониторинга Zabbix. Если предусмотрено, оно будет отображаться в строке меню и заголовках страниц.

Нажмите, Next step чтобы продолжить.


 

На следующем экране вам будет показана сводная информация перед установкой.


 

Нажмите Next step и после завершения установки вы попадете на страницу, сообщающую, что веб-интерфейс Zabbix установлен. Для доступа к странице входа в Zabbix нажмите на Finish кнопку.


 

Пользователь по умолчанию - «Администратор», а пароль - «Zabbix». Введите имя пользователя и пароль и нажмите на Log in кнопку.


 

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

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


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

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

Сначала вам нужно установить Zabbix агент на удаленном хосте, а затем добавить хост на Zabbix сервер через веб-интерфейс.


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

В этом руководстве предполагается, что хост-машина также использует CentOS 7.

То же, что и при установке Zabbix-сервера, выполните следующие команды для включения репозитория Zabbix:


wget https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpmsudo yum localinstall zabbix-release-4.0-1.el7.noarch.rpm


Установите пакет агента Zabbix:


sudo yum install zabbix-agent


Zabbix поддерживает два метода шифрования связи сервер-клиент: общий ключ (PSK) и шифрование на основе сертификатов. В этом руководстве мы будем использовать метод предварительных общих ключей (PSK) для защиты соединения между сервером и агентом.

Используйте следующую команду, чтобы сгенерировать предварительный общий ключ и сохранить его в файл:


openssl rand -hex 32 | sudo tee /etc/zabbix/zabbix_agentd.psk


Ключ PSK будет выглядеть примерно так:


fc3077ed3db8589ec920ac98a7ddea96aca205eb63bbd29c66ae91743a7ecbb6


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


sudo nano /etc/zabbix/zabbix_agentd.conf


Найдите Server IP-адрес и измените его со значения по умолчанию на IP-адрес вашего Zabbix сервера:


/etc/zabbix/zabbix_agentd.conf
...
### Option: Server
#       List of comma delimited IP addresses, optionally in CIDR notation, or DNS names of Zabbix servers and Zabbix proxies.
#       Incoming connections will be accepted only from the hosts listed here.
#       If IPv6 support is enabled then '127.0.0.1', '::127.0.0.1', '::ffff:127.0.0.1' are treated equally
#       and '::/0' will allow any IPv4 or IPv6 address.
#       '0.0.0.0/0' can be used to allow any IPv4 address.
#       Example: Server=127.0.0.1,192.168.1.0/24,::1,2001:db8::/32,zabbix.example.com
#
# Mandatory: yes, if StartAgents is not explicitly set to 0
# Default:
# Server=

Server=127.0.0.1
...

Затем найдите TSLConnect параметр, раскомментируйте его и установите для него psk:


/etc/zabbix/zabbix_agentd.conf
...
### Option: TLSConnect
#       How the agent should connect to server or proxy. Used for active checks.
#       Only one value can be specified:
#               unencrypted - connect without encryption
#               psk         - connect using TLS and a pre-shared key
#               cert        - connect using TLS and a certificate
#
# Mandatory: yes, if TLS certificate or PSK parameters are defined (even for 'unencrypted' connection)
# Default:
TLSConnect=psk
...

Найдите TLSAccept опцию, раскомментируйте ее и установите psk:


/etc/zabbix/zabbix_agentd.conf
...
### Option: TLSAccept
#       What incoming connections to accept.
#       Multiple values can be specified, separated by comma:
#               unencrypted - accept connections without encryption
#               psk         - accept connections secured with TLS and a pre-shared key
#               cert        - accept connections secured with TLS and a certificate
#
# Mandatory: yes, if TLS certificate or PSK parameters are defined (even for 'unencrypted' connection)
# Default:
TLSAccept=psk
...

Затем найдите TLSPSKIdentity параметр, раскомментируйте его и установите для него PSK 001 значение должно быть уникальной строкой:


/etc/zabbix/zabbix_agentd.conf
...
### Option: TLSPSKIdentity
#       Unique, case sensitive string used to identify the pre-shared key.
#
# Mandatory: no
# Default:
TLSPSKIdentity=PSK 001
...

Наконец, найдите TLSPSKFile параметр, раскомментируйте его и установите так, чтобы он указывал на ранее созданный предварительный общий ключ:


/etc/zabbix/zabbix_agentd.conf
...
### Option: TLSPSKFile
#       Full pathname of a file containing the pre-shared key.
#
# Mandatory: no
# Default:
TLSPSKFile=/etc/zabbix/zabbix_agentd.psk 
...

После этого сохраните и закройте файл.

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


sudo systemctl start zabbix-agentsudo systemctl enable zabbix-agent


Затем вам нужно добавить правило брандмауэра, которое разрешает трафик с вашего Zabbix сервера через порт TCP 10050.

Предполагая, что вы используете FirewallD для управления брандмауэром и хотите разрешить доступ с 192.168.121.70 IP-адреса, вы выполните следующую команду:


sudo firewall-cmd --new-zone=zabbix --permanentsudo firewall-cmd --zone=special --add-source=192.168.121.70/32sudo firewall-cmd --zone=special --add-port=10050/tcp


Создать новый хост 

Теперь, когда агент на удаленном хосте, который вы хотите отслеживать, установлен и настроен, следующим шагом будет регистрация хоста на Zabbix сервере.

Войдите в веб-интерфейс Zabbix Server как пользователь с правами администратора:


http(s)://your_domain_or_ip_address/zabbix


Оказавшись внутри, в верхней панели навигации нажмите на Configuration, а затем Hosts

Затем нажмите синюю Create host кнопку в верхнем правом углу экрана, и откроется страница конфигурации хоста:


 

Введите имя хоста и IP-адрес удаленного хост-компьютера, который вы хотите отслеживать. Добавьте хост в одну или несколько групп, выбрав группу из списка, или введите несуществующее имя группы, чтобы создать новую. Linux ServersГруппа является хорошим выбором.


 

После этого нажмите на Templates вкладку. Выберите Template OS Linux и нажмите на Add ссылку, чтобы добавить шаблон на хост.

Далее нажмите на Encryption вкладку. Выберите PSK для обоих Connections to host и Connections from host.

Задайте PSK identity значение PSK 001, значение TLSPSKIdentity параметра агента Zabbix, который вы настроили на предыдущем шаге.

В поле PSK value добавьте ключ, сгенерированный вами для агента Zabbix, который хранится в /etc/zabbix/zabbix_agentd.psk файле.


 

Наконец, чтобы добавить хост, нажмите на синий Добавить button .

Вывод 

Вы успешно установили последнюю версию Zabbix в вашей системе CentOS и узнали, как добавлять новые хосты, которые вы хотите отслеживать.

Теперь вы должны проверить документацию Zabbix и узнать больше о том, как настроить и использовать Zabbix.


    Комментарии

    Если у вас есть вопросы, не стесняйтесь оставлять комментарии ниже.

Загрузка комментариев...