Введіть ім'я домену:
.ua .com.ua .in.ua .org.ua
.ru .com .net .org
Показати всі домени

Моніторинг віддалених серверів за допомогою Zabbix

Відповіді на запитання від компанії "Український хостинг".

Моніторинг віддаленого VPS у zabbix

Zabbix є відкритим програмним забезпеченням для моніторингу мереж і програм, за допомогою якого можна в реальному часі відстежувати безліч метрик, зібраних з серверів, віртуальних машин і будь-яких інших мережних пристроїв.

В інструкції використовується два сервери.

Перед виконанням інструкції необхідно попередньо на першому сервері встановити Apache, MySQL та PHP.

Рекомендується на обох серверах створити не root користувача з доступом до sudo.

В інструкції використовується текстовий редактор nano, для якого потрібно виконати команду:

 yum install nano

Процедура моніторингу віддаленого VPS в zabbix має такий вигляд:

  1. Переходимо на перший сервер, на якому були встановлені Apache, MySQL та PHP.

    Додаємо офіційний репозиторій Zabbix:

     sudo rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm
  2. Встановлюємо Zabbix з підтримкою MySQL:

     sudo yum install zabbix-server-mysql zabbix-web-mysql
  3. Встановлюємо агент Zabbix, який збиратиме дані про сервер Zabbix:

     sudo yum install zabbix-agent
  4. Налаштовуємо базу даних MySQL для Zabbix.

    Підключаємося до mysql, вказавши при підключенні ім'я користувача root, яке було призначене при встановленні mysql:

     mysql -uroot -p
  5. Створюємо базу даних zabbix із підтримкою символів UTF-8:

     create database zabbix character set utf8;
  6. Потім створіть користувача, за допомогою якого Zabbix зможе взаємодіяти з БД, та виберіть пароль для нього (в інструкції вказано пароль 5N1z5V5y4I0u6O3e):

     grant all privileges on zabbix.* to zabbix@localhost identified by '5N1z5V5y4I0u6O3e';
  7. Скидаємо привілеї:

     flush privileges;
  8. Закриваємо MySQL:

     quit;
  9. Переходимо до каталогу /usr/share/doc/zabbix-server-mysql-3.0.16

     cd /usr/share/doc/zabbix-server-mysql-3.0.16

    Імпортуємо базову схему бази даних Zabbix, що постачається разом із програмою, вказавши після виконання команди пароль користувача zabbix, який раніше був вказаний при створенні бази даних zabbix:

     zcat create.sql.gz | mysql -uzabbix -p zabbix
  10. Для взаємодії сервера Zabbix з базою даних необхідно додати пароль користувача бази даних до конфігураційного файлу Zabbix.

    Відкриваємо файл /etc/zabbix/zabbix_server.conf

     sudo nano /etc/zabbix/zabbix_server.conf

    і змінюємо рядок (замість 5N1z5V5y4I0u6O3e необхідно вказати власний пароль, призначений користувачеві zabbix):

     # DBPassword=

    на рядок:

     DBPassword=5N1z5V5y4I0u6O3e

    Зберігаємо зміну у файлі, натиснувши клавіші Ctrl+x , потім клавішу y і потім клавішу Enter.

  11. Налаштовуємо PHP для підтримки Zabbix.

    Відкриваємо файл /etc/httpd/conf.d/zabbix.conf:

     sudo nano /etc/httpd/conf.d/zabbix.conf

    та змінюємо рядок:

     # php_value date.timezone Europe/Riga

    на рядок:

     php_value date.timezone Europe/Kiev

    Зберігаємо зміну у файлі, натиснувши клавіші Ctrl+x , потім клавішу y і потім клавішу Enter.

  12. Перезапускаємо Apache:

     sudo systemctl restart httpd
  13. Запускаємо сервер Zabbix:

     sudo systemctl start zabbix-server
  14. Переконуємося, що сервер Zabbix успішно запущено:

     sudo systemctl status zabbix-server
  15. Включаємо автозапуск Zabbix:

     sudo systemctl enable zabbix-server
  16. Відкриваємо порт 10050 та 10051:

     sudo firewall-cmd --permanent --zone=public --add-port=10050/tcp sudo firewall-cmd --permanent --zone=public --add-port=10051/tcp sudo firewall-cmd --reload
  17. Встановлюємо веб-інтерфейс Zabbix.

    У браузері відкриваємо адресу (замість 93.190.42.52 необхідно вказати IP адресу власного сервера):

    http://93.190.42.52/zabbix/

    На кроці Welcome натискаємо кнопку Next

    На кроці Check of pre-requisites натискаємо кнопку Next

    На кроці Configure DB connection заповнюємо дані для підключення до раніше створеної бази даних zabbix, після чого натискаємо кнопку Next.

    На кроці Zabbix server details залишаємо за замовчуванням осі і натискаємо кнопку Next.

    На кроці Pre-installation summary натискаємо кнопку Next.

    На кроці Install натискаємо кнопку Finish.

    Після цього відкриється вікно авторизації в zabbix.

  18. Переходимо на другий сервер.

    Встановлюємо офіційний репозиторій Zabbix:

     sudo rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm
  19. Встановлюємо агент Zabbix:

     sudo yum install zabbix-agent
  20. Генеруємо ключ PSK (ключ необхідно скопіювати, тому він знадобиться при подальшому налаштуванні):

     sudo sh -c "openssl rand -hex 32 > /etc/zabbix/zabbix_agentd.psk"

    Дивимося ключ і копіюємо, тому він знадобиться на подальших етапах:

     cat /etc/zabbix/zabbix_agentd.psk
  21. Для забезпечення безпечного з'єднання з сервером Zabbix відкриваємо налаштування агента Zabbix:

     sudo nano /etc/zabbix/zabbix_agentd.conf

    Змінюємо рядок:

     Server=127.0.0.1

    на рядок (замість 93.190.42.52 необхідно вказати власну IP адресу сервера Zabbix):

     Server=93.190.42.52
  22. Змінюємо рядок:

     # TLSConnect=unencrypted

    на рядок

     TLSConnect=psk
  23. Змінюємо рядок:

     TLSAccept=unencrypted

    на рядок:

     TLSAccept=psk
  24. Змінюємо рядок:

     # TLSPSKIdentity=

    на рядок:

     TLSPSKIdentity=PSK 001
  25. Змінюємо рядок:

     # TLSPSKFile=

    на рядок:

     TLSPSKFile=/etc/zabbix/zabbix_agentd.psk

    Зберігаємо зміну у файлі, натиснувши клавіші Ctrl+x , потім клавішу y і потім клавішу Enter.

  26. Запускаємо агент Zabbix:

     sudo systemctl start zabbix-agent

    Включаємо автозапуск агента Zabbix:

     sudo systemctl enable zabbix-agent
  27. Переконуємося, що агент Zabbix успішно запущено:

     sudo systemctl status zabbix-agent
  28. Для відкриття портів 10050 та 10051 відкриваємо файл /etc/sysconfig/iptables

     sudo nano /etc/sysconfig/iptables

    та після рядка:

     -A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT

    вставляємо наступні рядки:

     -A INPUT -p tcp -m state --state NEW -m tcp --dport 10050 -j ACCEPT -A INPUT -p tcp -m state --state NEW -m tcp --dport 10051 -j ACCEPT

    Зберігаємо зміну у файлі, натиснувши клавіші Ctrl+x , потім клавішу y і потім клавішу Enter.

  29. Оновлюємо інформацію в iptables:

     sudo service iptables reload
  30. Включаємо firewalld в іносимо додаткові правила:

     sudo systemctl start firewalld sudo firewall-cmd --permanent --zone=public --add-port=10050/tcp sudo firewall-cmd --permanent --zone=public --add-port=10051/tcp sudo firewall-cmd --reload
  31. У браузері відкриваємо адресу (замість 93.190.42.52 необхідно вказати IP адресу власного сервера):

    http://93.190.42.52/zabbix/index.php

    Ім'я користувача за промовчанням: admin

    Пароль за замовчуванням: zabbix

    Щоб сервер Zabbix почав відстежувати встановлений агент, необхідно додати його до списку хостів через веб-інтерфейс.

    У верхній панелі натискаємо в розділі "Configuration" на підрозділ "Hosts" і потім на кнопку "Create host", що знаходиться у правому верхньому кутку:

    На екрані з'явиться сторінка хоста.

    У полях «Host name» та «IP address» вказуємо ім'я та IP-адресу клієнта (замість 93.190.42.60 (IP-адреса другого сервера) необхідно вказати IP-адресу власного сервера).

    Далі вибираємо зі списку "Other groups" групу "Linux servers" і переносимо її в "In groups".

    Переходимо на вкладку Templates.

    У полі "Link new templates" вводимо "Template OS Linux", вибираємо введений шаблон і натискаємо на кнопку "Add", щоб додати шаблон.

    Переходимо на вкладку "Encryption".

    Вибираємо «PSK» у «Connections to host» та «Connections from host».

    У «PSK identity» вказуємо ім'я ключа, який раніше було встановлено у файлі /etc/zabbix/zabbix_agentd.conf для параметра «TLSPSKIdentity» (в даному випадку PSK 001).

    У PSK вказуємо ключ, який зберігається в /etc/zabbix/zabbix_agentd.psk і який був скопійований на одному з попередніх етапів.

    Після цього натискаємо кнопку «Add».

    Бачимо, що хост з ім'ям MyHost додався:

    Щоб переглянути дані агента, натискаємо у розділі Monitoring на пункт Latest data, у полі Host groups вибираємо Linux servers, у полі MyHost вибираємо MyHost та натискаємо на кнопку Filter.

    Бачимо дані моніторингу:

Мітки: Zabbix, сервер, vps

Див. також:

Будь ласка, виберіть мову сайту за промовчанням: