Установка и настройка Zabbix для мониторинга — различия между версиями
Admin (обсуждение | вклад) (Новая страница: «= Установка и настройка Zabbix для мониторинга = == 1. Подготовка системы == * Войдите в систем…») |
Admin (обсуждение | вклад) |
||
Строка 6: | Строка 6: | ||
* Убедитесь, что у вас есть доступ к серверу через SSH или консоль. | * Убедитесь, что у вас есть доступ к серверу через SSH или консоль. | ||
− | == 2. Установка зависимостей | + | == 2. Установка зависимостей == |
=== Обновление системы === | === Обновление системы === | ||
1. Обновите систему: | 1. Обновите систему: | ||
− | < | + | <pre>sudo apt update</pre> |
2. Установите необходимые пакеты: | 2. Установите необходимые пакеты: | ||
− | < | + | <pre>sudo apt install -y wget curl gnupg2 software-properties-common</pre> |
=== Установка Apache === | === Установка Apache === | ||
1. Установите Apache: | 1. Установите Apache: | ||
− | < | + | <pre>sudo apt install -y apache2</pre> |
2. Запустите и включите автозапуск: | 2. Запустите и включите автозапуск: | ||
− | < | + | <pre>sudo systemctl start apache2</pre> |
− | < | + | <pre>sudo systemctl enable apache2</pre> |
3. Включите необходимые модули: | 3. Включите необходимые модули: | ||
− | < | + | <pre>sudo a2enmod rewrite</pre> |
− | < | + | <pre>sudo a2enmod ssl</pre> |
=== Установка MySQL === | === Установка MySQL === | ||
1. Установите MySQL: | 1. Установите MySQL: | ||
− | < | + | <pre>sudo apt install -y mysql-server</pre> |
2. Запустите и включите автозапуск: | 2. Запустите и включите автозапуск: | ||
− | < | + | <pre>sudo systemctl start mysql</pre> |
− | < | + | <pre>sudo systemctl enable mysql</pre> |
3. Настройте безопасность MySQL: | 3. Настройте безопасность MySQL: | ||
− | < | + | <pre>sudo mysql_secure_installation</pre> |
=== Установка PHP === | === Установка PHP === | ||
1. Установите PHP и необходимые модули: | 1. Установите PHP и необходимые модули: | ||
− | < | + | <pre>sudo apt install -y php php-mysql php-curl php-gd php-mbstring php-xml php-zip php-intl php-bcmath php-ldap</pre> |
2. Настройте PHP: | 2. Настройте PHP: | ||
− | < | + | <pre>sudo nano /etc/php/8.1/apache2/php.ini</pre> |
3. Измените параметры: | 3. Измените параметры: | ||
− | < | + | <pre>max_execution_time = 300 |
memory_limit = 256M | memory_limit = 256M | ||
post_max_size = 32M | post_max_size = 32M | ||
upload_max_filesize = 16M | upload_max_filesize = 16M | ||
date.timezone = Europe/Moscow | date.timezone = Europe/Moscow | ||
− | </ | + | </pre> |
4. Перезапустите Apache: | 4. Перезапустите Apache: | ||
− | < | + | <pre>sudo systemctl restart apache2</pre> |
− | == 3. Установка Zabbix | + | == 3. Установка Zabbix == |
=== Добавление репозитория Zabbix === | === Добавление репозитория Zabbix === | ||
1. Скачайте и установите ключ репозитория: | 1. Скачайте и установите ключ репозитория: | ||
− | < | + | <pre>wget https://repo.zabbix.com/zabbix/6.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.0-4+ubuntu20.04_all.deb</pre> |
− | < | + | <pre>sudo dpkg -i zabbix-release_6.0-4+ubuntu20.04_all.deb</pre> |
2. Обновите список пакетов: | 2. Обновите список пакетов: | ||
− | < | + | <pre>sudo apt update</pre> |
=== Установка Zabbix Server === | === Установка Zabbix Server === | ||
1. Установите Zabbix Server, Frontend и Agent: | 1. Установите Zabbix Server, Frontend и Agent: | ||
− | < | + | <pre>sudo apt install -y zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-sql-scripts zabbix-agent</pre> |
2. Проверьте установленные пакеты: | 2. Проверьте установленные пакеты: | ||
− | < | + | <pre>dpkg -l | grep zabbix</pre> |
− | == 4. Настройка базы данных | + | == 4. Настройка базы данных == |
=== Создание базы данных === | === Создание базы данных === | ||
1. Подключитесь к MySQL: | 1. Подключитесь к MySQL: | ||
− | < | + | <pre>sudo mysql -u root -p</pre> |
2. Создайте базу данных и пользователя: | 2. Создайте базу данных и пользователя: | ||
− | < | + | <pre>CREATE DATABASE zabbix CHARACTER SET utf8 COLLATE utf8_bin; |
CREATE USER 'zabbix'@'localhost' IDENTIFIED BY 'zabbix_password'; | CREATE USER 'zabbix'@'localhost' IDENTIFIED BY 'zabbix_password'; | ||
GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'localhost'; | GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'localhost'; | ||
FLUSH PRIVILEGES; | FLUSH PRIVILEGES; | ||
− | EXIT;</ | + | EXIT;</pre> |
=== Импорт схемы базы данных === | === Импорт схемы базы данных === | ||
1. Импортируйте схему базы данных: | 1. Импортируйте схему базы данных: | ||
− | < | + | <pre>sudo zcat /usr/share/doc/zabbix-sql-scripts/mysql/create.sql.gz | mysql -uzabbix -p zabbix</pre> |
2. Проверьте импорт: | 2. Проверьте импорт: | ||
− | < | + | <pre>mysql -u zabbix -p -e "USE zabbix; SHOW TABLES;"</pre> |
− | == 5. Настройка Zabbix Server | + | == 5. Настройка Zabbix Server == |
=== Конфигурация сервера === | === Конфигурация сервера === | ||
1. Отредактируйте конфигурацию Zabbix Server: | 1. Отредактируйте конфигурацию Zabbix Server: | ||
− | < | + | <pre>sudo nano /etc/zabbix/zabbix_server.conf</pre> |
2. Настройте основные параметры: | 2. Настройте основные параметры: | ||
− | < | + | <pre>DBHost=localhost |
DBName=zabbix | DBName=zabbix | ||
DBUser=zabbix | DBUser=zabbix | ||
Строка 115: | Строка 115: | ||
DBPort=3306 | DBPort=3306 | ||
− | # Настройки производительности | + | \# Настройки производительности |
StartPollers=5 | StartPollers=5 | ||
StartPollersUnreachable=1 | StartPollersUnreachable=1 | ||
Строка 125: | Строка 125: | ||
StartEscalators=1 | StartEscalators=1 | ||
− | # Настройки кэша | + | \# Настройки кэша |
CacheSize=8M | CacheSize=8M | ||
CacheUpdateFrequency=60 | CacheUpdateFrequency=60 | ||
− | # Настройки логирования | + | \# Настройки логирования |
LogFile=/var/log/zabbix/zabbix_server.log | LogFile=/var/log/zabbix/zabbix_server.log | ||
LogFileSize=10 | LogFileSize=10 | ||
DebugLevel=3 | DebugLevel=3 | ||
− | </ | + | </pre> |
=== Запуск Zabbix Server === | === Запуск Zabbix Server === | ||
1. Запустите и включите автозапуск: | 1. Запустите и включите автозапуск: | ||
− | < | + | <pre>sudo systemctl start zabbix-server</pre> |
− | < | + | <pre>sudo systemctl enable zabbix-server</pre> |
2. Проверьте статус: | 2. Проверьте статус: | ||
− | < | + | <pre>sudo systemctl status zabbix-server</pre> |
3. Проверьте логи: | 3. Проверьте логи: | ||
− | < | + | <pre>sudo tail -f /var/log/zabbix/zabbix_server.log</pre> |
− | == 6. Настройка веб-интерфейса | + | == 6. Настройка веб-интерфейса == |
=== Настройка Apache === | === Настройка Apache === | ||
1. Создайте конфигурацию для Zabbix: | 1. Создайте конфигурацию для Zabbix: | ||
− | < | + | <pre>sudo nano /etc/apache2/sites-available/zabbix.conf</pre> |
2. Добавьте конфигурацию: | 2. Добавьте конфигурацию: | ||
− | < | + | <pre><VirtualHost *:80> |
ServerName zabbix.example.com | ServerName zabbix.example.com | ||
DocumentRoot /usr/share/zabbix | DocumentRoot /usr/share/zabbix | ||
Строка 177: | Строка 177: | ||
CustomLog ${APACHE_LOG_DIR}/zabbix_access.log combined | CustomLog ${APACHE_LOG_DIR}/zabbix_access.log combined | ||
</VirtualHost> | </VirtualHost> | ||
− | </ | + | </pre> |
3. Включите сайт: | 3. Включите сайт: | ||
− | < | + | <pre>sudo a2ensite zabbix</pre> |
− | < | + | <pre>sudo a2dissite 000-default</pre> |
4. Перезапустите Apache: | 4. Перезапустите Apache: | ||
− | < | + | <pre>sudo systemctl restart apache2</pre> |
=== Настройка PHP для Zabbix === | === Настройка PHP для Zabbix === | ||
1. Создайте конфигурацию PHP для Zabbix: | 1. Создайте конфигурацию PHP для Zabbix: | ||
− | < | + | <pre>sudo nano /etc/php/8.1/apache2/conf.d/zabbix.ini</pre> |
2. Добавьте настройки: | 2. Добавьте настройки: | ||
− | < | + | <pre>max_execution_time = 300 |
memory_limit = 128M | memory_limit = 128M | ||
post_max_size = 16M | post_max_size = 16M | ||
Строка 198: | Строка 198: | ||
max_input_time = 300 | max_input_time = 300 | ||
date.timezone = Europe/Moscow | date.timezone = Europe/Moscow | ||
− | </ | + | </pre> |
3. Перезапустите Apache: | 3. Перезапустите Apache: | ||
− | < | + | <pre>sudo systemctl restart apache2</pre> |
− | == 7. Первоначальная настройка | + | == 7. Первоначальная настройка == |
=== Веб-установка === | === Веб-установка === | ||
1. Откройте браузер и перейдите по адресу: | 1. Откройте браузер и перейдите по адресу: | ||
− | < | + | <pre>http://your-server-ip/zabbix</pre> |
2. Нажмите "Next step" на странице приветствия | 2. Нажмите "Next step" на странице приветствия | ||
Строка 248: | Строка 248: | ||
* Измените пароль | * Измените пароль | ||
− | == 8. Настройка мониторинга | + | == 8. Настройка мониторинга == |
=== Добавление хостов === | === Добавление хостов === | ||
Строка 300: | Строка 300: | ||
4. Нажмите "Add" для создания действия | 4. Нажмите "Add" для создания действия | ||
− | == 9. Установка Zabbix Agent | + | == 9. Установка Zabbix Agent == |
=== Установка на удаленном хосте === | === Установка на удаленном хосте === | ||
1. Установите Zabbix Agent: | 1. Установите Zabbix Agent: | ||
− | < | + | <pre>sudo apt install -y zabbix-agent</pre> |
2. Настройте агент: | 2. Настройте агент: | ||
− | < | + | <pre>sudo nano /etc/zabbix/zabbix_agentd.conf</pre> |
3. Измените параметры: | 3. Измените параметры: | ||
− | < | + | <pre>Server=192.168.1.100 |
ServerActive=192.168.1.100 | ServerActive=192.168.1.100 | ||
Hostname=client-hostname | Hostname=client-hostname | ||
− | </ | + | </pre> |
4. Запустите агент: | 4. Запустите агент: | ||
− | < | + | <pre>sudo systemctl start zabbix-agent</pre> |
− | < | + | <pre>sudo systemctl enable zabbix-agent</pre> |
=== Настройка файрвола === | === Настройка файрвола === | ||
1. Разрешите порт Zabbix Agent: | 1. Разрешите порт Zabbix Agent: | ||
− | < | + | <pre>sudo ufw allow 10050/tcp</pre> |
2. Проверьте статус: | 2. Проверьте статус: | ||
− | < | + | <pre>sudo ufw status</pre> |
− | == 10. Настройка уведомлений | + | == 10. Настройка уведомлений == |
=== Настройка email уведомлений === | === Настройка email уведомлений === | ||
Строка 353: | Строка 353: | ||
4. Нажмите "Add" | 4. Нажмите "Add" | ||
− | == 11. Настройка дашбордов | + | == 11. Настройка дашбордов == |
=== Создание дашборда === | === Создание дашборда === | ||
Строка 383: | Строка 383: | ||
* Links | * Links | ||
− | == 12. Резервное копирование | + | == 12. Резервное копирование == |
=== Создание скрипта резервного копирования === | === Создание скрипта резервного копирования === | ||
1. Создайте скрипт резервного копирования: | 1. Создайте скрипт резервного копирования: | ||
− | < | + | <pre>sudo nano /usr/local/bin/zabbix-backup.sh</pre> |
2. Добавьте содержимое: | 2. Добавьте содержимое: | ||
− | < | + | <pre>\#!/bin/bash |
BACKUP_DIR="/backup/zabbix" | BACKUP_DIR="/backup/zabbix" | ||
DATE=$(date +%Y%m%d_%H%M%S) | DATE=$(date +%Y%m%d_%H%M%S) | ||
− | # Создание директории для бэкапа | + | \# Создание директории для бэкапа |
mkdir -p $BACKUP_DIR | mkdir -p $BACKUP_DIR | ||
− | # Резервное копирование базы данных | + | \# Резервное копирование базы данных |
mysqldump -u zabbix -p'zabbix_password' zabbix > $BACKUP_DIR/zabbix-db-$DATE.sql | mysqldump -u zabbix -p'zabbix_password' zabbix > $BACKUP_DIR/zabbix-db-$DATE.sql | ||
− | # Сжатие SQL файла | + | \# Сжатие SQL файла |
gzip $BACKUP_DIR/zabbix-db-$DATE.sql | gzip $BACKUP_DIR/zabbix-db-$DATE.sql | ||
− | # Резервное копирование конфигурации | + | \# Резервное копирование конфигурации |
tar -czf $BACKUP_DIR/zabbix-config-$DATE.tar.gz -C /etc zabbix | tar -czf $BACKUP_DIR/zabbix-config-$DATE.tar.gz -C /etc zabbix | ||
− | # Резервное копирование веб-файлов | + | \# Резервное копирование веб-файлов |
tar -czf $BACKUP_DIR/zabbix-web-$DATE.tar.gz -C /usr/share zabbix | tar -czf $BACKUP_DIR/zabbix-web-$DATE.tar.gz -C /usr/share zabbix | ||
− | # Удаление старых бэкапов (старше 7 дней) | + | \# Удаление старых бэкапов (старше 7 дней) |
find $BACKUP_DIR -name "zabbix-*" -mtime +7 -delete | find $BACKUP_DIR -name "zabbix-*" -mtime +7 -delete | ||
echo "Zabbix backup completed: $DATE" | echo "Zabbix backup completed: $DATE" | ||
− | </ | + | </pre> |
3. Сделайте скрипт исполняемым: | 3. Сделайте скрипт исполняемым: | ||
− | < | + | <pre>sudo chmod +x /usr/local/bin/zabbix-backup.sh</pre> |
4. Добавьте в crontab: | 4. Добавьте в crontab: | ||
− | < | + | <pre>sudo crontab -e</pre> |
5. Добавьте задачу: | 5. Добавьте задачу: | ||
− | < | + | <pre>0 3 * * * /usr/local/bin/zabbix-backup.sh</pre> |
− | == 13. Мониторинг и обслуживание | + | == 13. Мониторинг и обслуживание == |
=== Настройка логирования === | === Настройка логирования === | ||
1. Настройте ротацию логов: | 1. Настройте ротацию логов: | ||
− | < | + | <pre>sudo nano /etc/logrotate.d/zabbix</pre> |
2. Добавьте конфигурацию: | 2. Добавьте конфигурацию: | ||
− | < | + | <pre>/var/log/zabbix/*.log { |
daily | daily | ||
missingok | missingok | ||
Строка 446: | Строка 446: | ||
endscript | endscript | ||
} | } | ||
− | </ | + | </pre> |
=== Создание скрипта мониторинга === | === Создание скрипта мониторинга === | ||
1. Создайте скрипт мониторинга: | 1. Создайте скрипт мониторинга: | ||
− | < | + | <pre>sudo nano /usr/local/bin/zabbix-monitor.sh</pre> |
2. Добавьте содержимое: | 2. Добавьте содержимое: | ||
− | < | + | <pre>\#!/bin/bash |
− | # Проверка статуса Zabbix Server | + | \# Проверка статуса Zabbix Server |
if ! systemctl is-active --quiet zabbix-server; then | if ! systemctl is-active --quiet zabbix-server; then | ||
echo "Zabbix Server is down!" | mail -s "Zabbix Alert" admin@example.com | echo "Zabbix Server is down!" | mail -s "Zabbix Alert" admin@example.com | ||
fi | fi | ||
− | # Проверка статуса Zabbix Agent | + | \# Проверка статуса Zabbix Agent |
if ! systemctl is-active --quiet zabbix-agent; then | if ! systemctl is-active --quiet zabbix-agent; then | ||
echo "Zabbix Agent is down!" | mail -s "Zabbix Alert" admin@example.com | echo "Zabbix Agent is down!" | mail -s "Zabbix Alert" admin@example.com | ||
fi | fi | ||
− | # Проверка использования диска | + | \# Проверка использования диска |
DISK_USAGE=$(df /var/lib/mysql | tail -1 | awk '{print $5}' | sed 's/%//') | DISK_USAGE=$(df /var/lib/mysql | tail -1 | awk '{print $5}' | sed 's/%//') | ||
if [ $DISK_USAGE -gt 80 ]; then | if [ $DISK_USAGE -gt 80 ]; then | ||
Строка 472: | Строка 472: | ||
fi | fi | ||
− | # Проверка доступности веб-интерфейса | + | \# Проверка доступности веб-интерфейса |
if ! curl -s -o /dev/null -w "%{http_code}" http://localhost/zabbix | grep -q "200"; then | 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 | echo "Zabbix web interface is not responding!" | mail -s "Zabbix Alert" admin@example.com | ||
fi | fi | ||
− | </ | + | </pre> |
3. Сделайте скрипт исполняемым: | 3. Сделайте скрипт исполняемым: | ||
− | < | + | <pre>sudo chmod +x /usr/local/bin/zabbix-monitor.sh</pre> |
4. Добавьте в crontab: | 4. Добавьте в crontab: | ||
− | < | + | <pre>sudo crontab -e</pre> |
5. Добавьте задачу: | 5. Добавьте задачу: | ||
− | < | + | <pre>*/5 * * * * /usr/local/bin/zabbix-monitor.sh</pre> |
− | == 14. Устранение неполадок | + | == 14. Устранение неполадок == |
=== Частые проблемы === | === Частые проблемы === | ||
1. '''Zabbix Server не запускается''': | 1. '''Zabbix Server не запускается''': | ||
− | * Проверьте конфигурацию: < | + | * Проверьте конфигурацию: <pre>sudo zabbix_server -t</pre> |
− | * Проверьте логи: < | + | * Проверьте логи: <pre>sudo tail -f /var/log/zabbix/zabbix_server.log</pre> |
* Проверьте подключение к базе данных | * Проверьте подключение к базе данных | ||
2. '''Веб-интерфейс не загружается''': | 2. '''Веб-интерфейс не загружается''': | ||
− | * Проверьте статус Apache: < | + | * Проверьте статус Apache: <pre>sudo systemctl status apache2</pre> |
* Проверьте права доступа к файлам | * Проверьте права доступа к файлам | ||
* Проверьте конфигурацию PHP | * Проверьте конфигурацию PHP | ||
Строка 509: | Строка 509: | ||
1. '''Проверка статуса сервисов''': | 1. '''Проверка статуса сервисов''': | ||
− | < | + | <pre>sudo systemctl status zabbix-server</pre> |
− | < | + | <pre>sudo systemctl status zabbix-agent</pre> |
− | < | + | <pre>sudo systemctl status apache2</pre> |
2. '''Проверка логов''': | 2. '''Проверка логов''': | ||
− | < | + | <pre>sudo tail -f /var/log/zabbix/zabbix_server.log</pre> |
− | < | + | <pre>sudo tail -f /var/log/apache2/error.log</pre> |
3. '''Проверка подключения к базе данных''': | 3. '''Проверка подключения к базе данных''': | ||
− | < | + | <pre>mysql -u zabbix -p -e "SELECT 1;"</pre> |
4. '''Проверка портов''': | 4. '''Проверка портов''': | ||
− | < | + | <pre>sudo netstat -tlnp | grep :10051</pre> |
− | < | + | <pre>sudo netstat -tlnp | grep :10050</pre> |
== Заключение == | == Заключение == |
Текущая версия на 10:45, 15 октября 2025
Содержание
- 1 Установка и настройка Zabbix для мониторинга
- 1.1 1. Подготовка системы
- 1.2 2. Установка зависимостей
- 1.3 3. Установка Zabbix
- 1.4 4. Настройка базы данных
- 1.5 5. Настройка Zabbix Server
- 1.6 6. Настройка веб-интерфейса
- 1.7 7. Первоначальная настройка
- 1.8 8. Настройка мониторинга
- 1.9 9. Установка Zabbix Agent
- 1.10 10. Настройка уведомлений
- 1.11 11. Настройка дашбордов
- 1.12 12. Резервное копирование
- 1.13 13. Мониторинг и обслуживание
- 1.14 14. Устранение неполадок
- 1.15 Заключение
Установка и настройка 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 \# Настройки производительности StartPollers=5 StartPollersUnreachable=1 StartTrappers=5 StartPingers=1 StartDiscoverers=1 StartHTTPPollers=1 StartTimers=1 StartEscalators=1 \# Настройки кэша CacheSize=8M CacheUpdateFrequency=60 \# Настройки логирования 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) \# Создание директории для бэкапа mkdir -p $BACKUP_DIR \# Резервное копирование базы данных mysqldump -u zabbix -p'zabbix_password' zabbix > $BACKUP_DIR/zabbix-db-$DATE.sql \# Сжатие SQL файла gzip $BACKUP_DIR/zabbix-db-$DATE.sql \# Резервное копирование конфигурации tar -czf $BACKUP_DIR/zabbix-config-$DATE.tar.gz -C /etc zabbix \# Резервное копирование веб-файлов tar -czf $BACKUP_DIR/zabbix-web-$DATE.tar.gz -C /usr/share zabbix \# Удаление старых бэкапов (старше 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 \# Проверка статуса Zabbix Server if ! systemctl is-active --quiet zabbix-server; then echo "Zabbix Server is down!" | mail -s "Zabbix Alert" admin@example.com fi \# Проверка статуса Zabbix Agent if ! systemctl is-active --quiet zabbix-agent; then echo "Zabbix Agent is down!" | mail -s "Zabbix Alert" admin@example.com fi \# Проверка использования диска 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 \# Проверка доступности веб-интерфейса 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):
- [Выделенные серверы](https://ark-hoster.ru/dedicated/) - для критически важных систем мониторинга
- [VPS/VDS серверы](https://ark-hoster.ru/vpsgame/) - для небольших и средних проектов
Наши специалисты помогут с настройкой Zabbix и оптимизацией производительности ваших систем мониторинга!