Установка и настройка Zabbix для мониторинга — различия между версиями

Материал из ARK-HOSTER.RU | Документация хостинга
Перейти к: навигация, поиск
(Новая страница: «= Установка и настройка Zabbix для мониторинга = == 1. Подготовка системы == * Войдите в систем…»)
(нет различий)

Версия 08:30, 15 октября 2025

Содержание

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

1. Подготовка системы

  • Войдите в систему под учетной записью с правами root или пользователя с правами sudo.
  • Убедитесь, что у вас есть доступ к серверу через SSH или консоль.

2. Установка зависимостей =

Обновление системы

1. Обновите систему: sudo apt update

2. Установите необходимые пакеты: sudo apt install -y wget curl gnupg2 software-properties-common

Установка Apache

1. Установите Apache: sudo apt install -y apache2

2. Запустите и включите автозапуск: sudo systemctl start apache2 sudo systemctl enable apache2

3. Включите необходимые модули: sudo a2enmod rewrite sudo a2enmod ssl

Установка MySQL

1. Установите MySQL: sudo apt install -y mysql-server

2. Запустите и включите автозапуск: sudo systemctl start mysql sudo systemctl enable mysql

3. Настройте безопасность MySQL: sudo mysql_secure_installation

Установка PHP

1. Установите PHP и необходимые модули: sudo apt install -y php php-mysql php-curl php-gd php-mbstring php-xml php-zip php-intl php-bcmath php-ldap

2. Настройте PHP: sudo nano /etc/php/8.1/apache2/php.ini

3. Измените параметры: max_execution_time = 300 memory_limit = 256M post_max_size = 32M upload_max_filesize = 16M date.timezone = Europe/Moscow

4. Перезапустите Apache: sudo systemctl restart apache2

3. Установка Zabbix =

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

1. Скачайте и установите ключ репозитория: wget https://repo.zabbix.com/zabbix/6.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.0-4+ubuntu20.04_all.deb sudo dpkg -i zabbix-release_6.0-4+ubuntu20.04_all.deb

2. Обновите список пакетов: sudo apt update

Установка Zabbix Server

1. Установите Zabbix Server, Frontend и Agent: sudo apt install -y zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-sql-scripts zabbix-agent

2. Проверьте установленные пакеты: dpkg -l | grep zabbix

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

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

1. Подключитесь к MySQL: sudo mysql -u root -p

2. Создайте базу данных и пользователя: CREATE DATABASE zabbix CHARACTER SET utf8 COLLATE utf8_bin; CREATE USER 'zabbix'@'localhost' IDENTIFIED BY 'zabbix_password'; GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'localhost'; FLUSH PRIVILEGES; EXIT;

Импорт схемы базы данных

1. Импортируйте схему базы данных: sudo zcat /usr/share/doc/zabbix-sql-scripts/mysql/create.sql.gz | mysql -uzabbix -p zabbix

2. Проверьте импорт: mysql -u zabbix -p -e "USE zabbix; SHOW TABLES;"

5. Настройка Zabbix Server =

Конфигурация сервера

1. Отредактируйте конфигурацию Zabbix Server: sudo nano /etc/zabbix/zabbix_server.conf

2. Настройте основные параметры: DBHost=localhost DBName=zabbix DBUser=zabbix DBPassword=zabbix_password DBPort=3306

  1. Настройки производительности

StartPollers=5 StartPollersUnreachable=1 StartTrappers=5 StartPingers=1 StartDiscoverers=1 StartHTTPPollers=1 StartTimers=1 StartEscalators=1

  1. Настройки кэша

CacheSize=8M CacheUpdateFrequency=60

  1. Настройки логирования

LogFile=/var/log/zabbix/zabbix_server.log LogFileSize=10 DebugLevel=3

Запуск Zabbix Server

1. Запустите и включите автозапуск: sudo systemctl start zabbix-server sudo systemctl enable zabbix-server

2. Проверьте статус: sudo systemctl status zabbix-server

3. Проверьте логи: sudo tail -f /var/log/zabbix/zabbix_server.log

6. Настройка веб-интерфейса =

Настройка Apache

1. Создайте конфигурацию для Zabbix: sudo nano /etc/apache2/sites-available/zabbix.conf

2. Добавьте конфигурацию: <VirtualHost *:80>

   ServerName zabbix.example.com
   DocumentRoot /usr/share/zabbix
   
   <Directory "/usr/share/zabbix">
       Options FollowSymLinks
       AllowOverride None
       Require all granted
       
       <IfModule mod_php.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 date.timezone Europe/Moscow
       </IfModule>
   </Directory>
   
   ErrorLog ${APACHE_LOG_DIR}/zabbix_error.log
   CustomLog ${APACHE_LOG_DIR}/zabbix_access.log combined

</VirtualHost>

3. Включите сайт: sudo a2ensite zabbix sudo a2dissite 000-default

4. Перезапустите Apache: sudo systemctl restart apache2

Настройка PHP для Zabbix

1. Создайте конфигурацию PHP для Zabbix: sudo nano /etc/php/8.1/apache2/conf.d/zabbix.ini

2. Добавьте настройки: max_execution_time = 300 memory_limit = 128M post_max_size = 16M upload_max_filesize = 2M max_input_time = 300 date.timezone = Europe/Moscow

3. Перезапустите Apache: sudo systemctl restart apache2

7. Первоначальная настройка =

Веб-установка

1. Откройте браузер и перейдите по адресу: http://your-server-ip/zabbix

2. Нажмите "Next step" на странице приветствия

3. Проверьте предварительные требования:

  • Все пункты должны быть зелеными
  • Если есть проблемы, исправьте их

4. Настройте подключение к базе данных:

  • Database type: MySQL
  • Database host: localhost
  • Database port: 0
  • Database name: zabbix
  • User: zabbix
  • Password: zabbix_password

5. Настройте Zabbix Server:

  • Host: localhost
  • Port: 10051
  • Name: Zabbix server

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

7. Скачайте конфигурационный файл:

  • Сохраните zabbix.conf.php
  • Загрузите его в /usr/share/zabbix/conf/

8. Завершите установку

Первый вход

1. Войдите в систему:

  • Username: Admin
  • Password: zabbix

2. Смените пароль администратора:

  • Перейдите в Administration → Users
  • Выберите Admin
  • Измените пароль

8. Настройка мониторинга =

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

1. Перейдите в Configuration → Hosts 2. Нажмите "Create host" 3. Заполните информацию о хосте:

  • Host name: Server Name
  • Visible name: Display Name
  • Groups: Linux servers
  • IP address: 192.168.1.100
  • Port: 10050

4. Нажмите "Add" для добавления хоста

Настройка элементов данных

1. Перейдите в Configuration → Hosts 2. Выберите хост и нажмите "Items" 3. Нажмите "Create item" 4. Настройте элемент данных:

  • Name: CPU Usage
  • Key: system.cpu.util[,avg1]
  • Type of information: Numeric (float)
  • Units: %
  • Update interval: 30s

5. Нажмите "Add" для создания элемента

Настройка триггеров

1. Перейдите в Configuration → Hosts 2. Выберите хост и нажмите "Triggers" 3. Нажмите "Create trigger" 4. Настройте триггер:

  • Name: High CPU usage
  • Expression: {host:system.cpu.util[,avg1].last()}>80
  • Severity: High

5. Нажмите "Add" для создания триггера

Настройка действий

1. Перейдите в Configuration → Actions 2. Нажмите "Create action" 3. Настройте действие:

  • Name: Send email notification
  • Conditions: Trigger severity >= High
  • Operations: Send message to Admin

4. Нажмите "Add" для создания действия

9. Установка Zabbix Agent =

Установка на удаленном хосте

1. Установите Zabbix Agent: sudo apt install -y zabbix-agent

2. Настройте агент: sudo nano /etc/zabbix/zabbix_agentd.conf

3. Измените параметры: Server=192.168.1.100 ServerActive=192.168.1.100 Hostname=client-hostname

4. Запустите агент: sudo systemctl start zabbix-agent sudo systemctl enable zabbix-agent

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

1. Разрешите порт Zabbix Agent: sudo ufw allow 10050/tcp

2. Проверьте статус: sudo ufw status

10. Настройка уведомлений =

Настройка email уведомлений

1. Перейдите в Administration → Media types 2. Нажмите "Email" 3. Настройте SMTP:

  • SMTP server: smtp.example.com
  • SMTP helo: zabbix.example.com
  • SMTP email: zabbix@example.com

4. Нажмите "Update"

Настройка пользователей

1. Перейдите в Administration → Users 2. Нажмите "Create user" 3. Заполните информацию:

  • Username: admin
  • Groups: Zabbix administrators
  • Password: strong_password
  • Media: Email notifications

4. Нажмите "Add"

11. Настройка дашбордов =

Создание дашборда

1. Перейдите в Monitoring → Dashboards 2. Нажмите "Create dashboard" 3. Настройте дашборд:

  • Name: Server Monitoring
  • Owner: Admin

4. Добавьте виджеты:

  • Clock
  • Graph
  • Map
  • Problem

Настройка карт сети

1. Перейдите в Monitoring → Maps 2. Нажмите "Create map" 3. Настройте карту:

  • Name: Network Map
  • Width: 800
  • Height: 600

4. Добавьте элементы:

  • Hosts
  • Triggers
  • Links

12. Резервное копирование =

Создание скрипта резервного копирования

1. Создайте скрипт резервного копирования: sudo nano /usr/local/bin/zabbix-backup.sh

2. Добавьте содержимое: #!/bin/bash

BACKUP_DIR="/backup/zabbix" DATE=$(date +%Y%m%d_%H%M%S)

  1. Создание директории для бэкапа

mkdir -p $BACKUP_DIR

  1. Резервное копирование базы данных

mysqldump -u zabbix -p'zabbix_password' zabbix > $BACKUP_DIR/zabbix-db-$DATE.sql

  1. Сжатие SQL файла

gzip $BACKUP_DIR/zabbix-db-$DATE.sql

  1. Резервное копирование конфигурации

tar -czf $BACKUP_DIR/zabbix-config-$DATE.tar.gz -C /etc zabbix

  1. Резервное копирование веб-файлов

tar -czf $BACKUP_DIR/zabbix-web-$DATE.tar.gz -C /usr/share zabbix

  1. Удаление старых бэкапов (старше 7 дней)

find $BACKUP_DIR -name "zabbix-*" -mtime +7 -delete

echo "Zabbix backup completed: $DATE"

3. Сделайте скрипт исполняемым: sudo chmod +x /usr/local/bin/zabbix-backup.sh

4. Добавьте в crontab: sudo crontab -e

5. Добавьте задачу: 0 3 * * * /usr/local/bin/zabbix-backup.sh

13. Мониторинг и обслуживание =

Настройка логирования

1. Настройте ротацию логов: sudo nano /etc/logrotate.d/zabbix

2. Добавьте конфигурацию: /var/log/zabbix/*.log {

   daily
   missingok
   rotate 52
   compress
   delaycompress
   notifempty
   create 644 zabbix zabbix
   postrotate
       systemctl reload zabbix-server
   endscript

}

Создание скрипта мониторинга

1. Создайте скрипт мониторинга: sudo nano /usr/local/bin/zabbix-monitor.sh

2. Добавьте содержимое: #!/bin/bash

  1. Проверка статуса Zabbix Server

if ! systemctl is-active --quiet zabbix-server; then

   echo "Zabbix Server is down!" | mail -s "Zabbix Alert" admin@example.com

fi

  1. Проверка статуса Zabbix Agent

if ! systemctl is-active --quiet zabbix-agent; then

   echo "Zabbix Agent is down!" | mail -s "Zabbix Alert" admin@example.com

fi

  1. Проверка использования диска

DISK_USAGE=$(df /var/lib/mysql | tail -1 | awk '{print $5}' | sed 's/%//') if [ $DISK_USAGE -gt 80 ]; then

   echo "Zabbix database disk usage is high: ${DISK_USAGE}%" | mail -s "Zabbix Alert" admin@example.com

fi

  1. Проверка доступности веб-интерфейса

if ! curl -s -o /dev/null -w "%{http_code}" http://localhost/zabbix | grep -q "200"; then

   echo "Zabbix web interface is not responding!" | mail -s "Zabbix Alert" admin@example.com

fi

3. Сделайте скрипт исполняемым: sudo chmod +x /usr/local/bin/zabbix-monitor.sh

4. Добавьте в crontab: sudo crontab -e

5. Добавьте задачу: */5 * * * * /usr/local/bin/zabbix-monitor.sh

14. Устранение неполадок =

Частые проблемы

1. Zabbix Server не запускается:

  • Проверьте конфигурацию: sudo zabbix_server -t
  • Проверьте логи: sudo tail -f /var/log/zabbix/zabbix_server.log
  • Проверьте подключение к базе данных

2. Веб-интерфейс не загружается:

  • Проверьте статус Apache: sudo systemctl status apache2
  • Проверьте права доступа к файлам
  • Проверьте конфигурацию PHP

3. Агенты не подключаются:

  • Проверьте файрвол
  • Проверьте настройки агентов
  • Проверьте сетевую связность

Диагностика

1. Проверка статуса сервисов: sudo systemctl status zabbix-server sudo systemctl status zabbix-agent sudo systemctl status apache2

2. Проверка логов: sudo tail -f /var/log/zabbix/zabbix_server.log sudo tail -f /var/log/apache2/error.log

3. Проверка подключения к базе данных: mysql -u zabbix -p -e "SELECT 1;"

4. Проверка портов: sudo netstat -tlnp | grep :10051 sudo netstat -tlnp | grep :10050

Заключение

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

Для размещения ваших систем мониторинга на надежном хостинге рекомендуем воспользоваться услугами [ARK-HOSTER.RU](https://ark-hoster.ru):

Наши специалисты помогут с настройкой Zabbix и оптимизацией производительности ваших систем мониторинга!