Настройка мониторинга сервера Nagios-Zabbix — различия между версиями
Admin (обсуждение | вклад) (Новая страница: «= Настройка мониторинга сервера (Nagios/Zabbix) = == 1. Подготовка системы == * Войдите в систему п…») |
Admin (обсуждение | вклад) |
||
Строка 6: | Строка 6: | ||
* Убедитесь, что у вас есть доступ к серверу через SSH или консоль. | * Убедитесь, что у вас есть доступ к серверу через SSH или консоль. | ||
− | == 2. Установка Nagios | + | == 2. Установка Nagios == |
=== Обновление системы === | === Обновление системы === | ||
1. Обновите систему: | 1. Обновите систему: | ||
− | < | + | <pre>sudo apt update</pre> |
2. Установите необходимые пакеты: | 2. Установите необходимые пакеты: | ||
− | < | + | <pre>sudo apt install -y wget curl build-essential apache2 php libapache2-mod-php php-gd libgd-dev libssl-dev libc6-dev libffi-dev unzip libapache2-mod-php7.4</pre> |
=== Создание пользователя nagios === | === Создание пользователя nagios === | ||
1. Создайте пользователя и группу: | 1. Создайте пользователя и группу: | ||
− | < | + | <pre>sudo useradd nagios</pre> |
− | < | + | <pre>sudo groupadd nagcmd</pre> |
− | < | + | <pre>sudo usermod -a -G nagcmd nagios</pre> |
− | < | + | <pre>sudo usermod -a -G nagcmd www-data</pre> |
=== Установка Nagios Core === | === Установка Nagios Core === | ||
1. Скачайте исходный код Nagios: | 1. Скачайте исходный код Nagios: | ||
− | < | + | <pre>cd /tmp</pre> |
− | < | + | <pre>wget https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.4.6.tar.gz</pre> |
− | < | + | <pre>tar xzf nagios-4.4.6.tar.gz</pre> |
− | < | + | <pre>cd nagios-4.4.6</pre> |
2. Скомпилируйте и установите: | 2. Скомпилируйте и установите: | ||
− | < | + | <pre>sudo ./configure --with-command-group=nagcmd</pre> |
− | < | + | <pre>sudo make all</pre> |
− | < | + | <pre>sudo make install</pre> |
− | < | + | <pre>sudo make install-commandmode</pre> |
− | < | + | <pre>sudo make install-config</pre> |
− | < | + | <pre>sudo make install-webconf</pre> |
3. Создайте пользователя для веб-интерфейса: | 3. Создайте пользователя для веб-интерфейса: | ||
− | < | + | <pre>sudo htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin</pre> |
=== Установка Nagios Plugins === | === Установка Nagios Plugins === | ||
1. Скачайте и установите плагины: | 1. Скачайте и установите плагины: | ||
− | < | + | <pre>cd /tmp</pre> |
− | < | + | <pre>wget https://nagios-plugins.org/download/nagios-plugins-2.3.3.tar.gz</pre> |
− | < | + | <pre>tar xzf nagios-plugins-2.3.3.tar.gz</pre> |
− | < | + | <pre>cd nagios-plugins-2.3.3</pre> |
2. Скомпилируйте плагины: | 2. Скомпилируйте плагины: | ||
− | < | + | <pre>sudo ./configure --with-nagios-user=nagios --with-nagios-group=nagios</pre> |
− | < | + | <pre>sudo make</pre> |
− | < | + | <pre>sudo make install</pre> |
=== Запуск Nagios === | === Запуск Nagios === | ||
1. Запустите и включите автозапуск: | 1. Запустите и включите автозапуск: | ||
− | < | + | <pre>sudo systemctl start nagios</pre> |
− | < | + | <pre>sudo systemctl enable nagios</pre> |
2. Перезапустите Apache: | 2. Перезапустите Apache: | ||
− | < | + | <pre>sudo systemctl restart apache2</pre> |
3. Проверьте статус: | 3. Проверьте статус: | ||
− | < | + | <pre>sudo systemctl status nagios</pre> |
− | == 3. Установка Zabbix | + | == 3. Установка Zabbix == |
=== Установка Zabbix Server === | === Установка Zabbix Server === | ||
1. Установите репозиторий Zabbix: | 1. Установите репозиторий Zabbix: | ||
− | < | + | <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> |
− | < | + | <pre>sudo apt update</pre> |
2. Установите Zabbix Server, Frontend и Agent: | 2. Установите Zabbix Server, Frontend и Agent: | ||
− | < | + | <pre>sudo apt install -y zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-sql-scripts zabbix-agent</pre> |
=== Настройка базы данных === | === Настройка базы данных === | ||
1. Установите MySQL: | 1. Установите MySQL: | ||
− | < | + | <pre>sudo apt install -y mysql-server</pre> |
2. Создайте базу данных и пользователя: | 2. Создайте базу данных и пользователя: | ||
− | < | + | <pre>sudo mysql -u root -p</pre> |
3. В MySQL выполните: | 3. В MySQL выполните: | ||
− | < | + | <pre>CREATE DATABASE zabbix CHARACTER SET utf8 COLLATE utf8_bin;</pre> |
− | < | + | <pre>CREATE USER 'zabbix'@'localhost' IDENTIFIED BY 'password';</pre> |
− | < | + | <pre>GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'localhost';</pre> |
− | < | + | <pre>FLUSH PRIVILEGES;</pre> |
− | < | + | <pre>EXIT;</pre> |
4. Импортируйте схему базы данных: | 4. Импортируйте схему базы данных: | ||
− | < | + | <pre>sudo zcat /usr/share/doc/zabbix-sql-scripts/mysql/create.sql.gz | mysql -uzabbix -p zabbix</pre> |
=== Настройка Zabbix Server === | === Настройка Zabbix Server === | ||
1. Отредактируйте конфигурацию: | 1. Отредактируйте конфигурацию: | ||
− | < | + | <pre>sudo nano /etc/zabbix/zabbix_server.conf</pre> |
2. Настройте основные параметры: | 2. Настройте основные параметры: | ||
− | < | + | <pre>DBHost=localhost |
DBName=zabbix | DBName=zabbix | ||
DBUser=zabbix | DBUser=zabbix | ||
DBPassword=password | DBPassword=password | ||
− | </ | + | </pre> |
3. Запустите и включите автозапуск: | 3. Запустите и включите автозапуск: | ||
− | < | + | <pre>sudo systemctl start zabbix-server zabbix-agent apache2</pre> |
− | < | + | <pre>sudo systemctl enable zabbix-server zabbix-agent apache2</pre> |
4. Проверьте статус: | 4. Проверьте статус: | ||
− | < | + | <pre>sudo systemctl status zabbix-server</pre> |
− | == 4. Настройка веб-интерфейса | + | == 4. Настройка веб-интерфейса == |
=== Настройка Apache для Nagios === | === Настройка Apache для Nagios === | ||
1. Создайте виртуальный хост: | 1. Создайте виртуальный хост: | ||
− | < | + | <pre>sudo nano /etc/apache2/sites-available/nagios.conf</pre> |
2. Добавьте конфигурацию: | 2. Добавьте конфигурацию: | ||
− | < | + | <pre><VirtualHost *:80> |
ServerName nagios.example.com | ServerName nagios.example.com | ||
DocumentRoot /usr/local/nagios/share | DocumentRoot /usr/local/nagios/share | ||
Строка 147: | Строка 147: | ||
</Directory> | </Directory> | ||
</VirtualHost> | </VirtualHost> | ||
− | </ | + | </pre> |
3. Включите сайт: | 3. Включите сайт: | ||
− | < | + | <pre>sudo a2ensite nagios</pre> |
− | < | + | <pre>sudo a2enmod cgi</pre> |
− | < | + | <pre>sudo systemctl restart apache2</pre> |
=== Настройка Apache для Zabbix === | === Настройка Apache для Zabbix === | ||
1. Настройте PHP для Zabbix: | 1. Настройте PHP для Zabbix: | ||
− | < | + | <pre>sudo nano /etc/php/7.4/apache2/php.ini</pre> |
2. Измените параметры: | 2. Измените параметры: | ||
− | < | + | <pre>max_execution_time = 300 |
memory_limit = 128M | memory_limit = 128M | ||
post_max_size = 16M | post_max_size = 16M | ||
Строка 166: | Строка 166: | ||
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> |
4. Откройте веб-интерфейс: | 4. Откройте веб-интерфейс: | ||
− | < | + | <pre>http://your-server-ip/zabbix</pre> |
− | == 5. Настройка мониторинга | + | == 5. Настройка мониторинга == |
=== Настройка Nagios === | === Настройка Nagios === | ||
1. Отредактируйте главный конфигурационный файл: | 1. Отредактируйте главный конфигурационный файл: | ||
− | < | + | <pre>sudo nano /usr/local/nagios/etc/nagios.cfg</pre> |
2. Настройте основные параметры: | 2. Настройте основные параметры: | ||
− | < | + | <pre>log_file=/usr/local/nagios/var/nagios.log |
cfg_file=/usr/local/nagios/etc/objects/commands.cfg | cfg_file=/usr/local/nagios/etc/objects/commands.cfg | ||
cfg_file=/usr/local/nagios/etc/objects/contacts.cfg | cfg_file=/usr/local/nagios/etc/objects/contacts.cfg | ||
Строка 188: | Строка 188: | ||
cfg_file=/usr/local/nagios/etc/objects/templates.cfg | cfg_file=/usr/local/nagios/etc/objects/templates.cfg | ||
cfg_file=/usr/local/nagios/etc/objects/localhost.cfg | cfg_file=/usr/local/nagios/etc/objects/localhost.cfg | ||
− | </ | + | </pre> |
3. Создайте конфигурацию для хоста: | 3. Создайте конфигурацию для хоста: | ||
− | < | + | <pre>sudo nano /usr/local/nagios/etc/objects/localhost.cfg</pre> |
4. Добавьте конфигурацию хоста: | 4. Добавьте конфигурацию хоста: | ||
− | < | + | <pre>define host{ |
use linux-server | use linux-server | ||
host_name localhost | host_name localhost | ||
Строка 214: | Строка 214: | ||
check_command check_local_disk!20%!10%!/ | check_command check_local_disk!20%!10%!/ | ||
} | } | ||
− | </ | + | </pre> |
=== Настройка Zabbix === | === Настройка Zabbix === | ||
Строка 234: | Строка 234: | ||
* Создайте триггеры для уведомлений | * Создайте триггеры для уведомлений | ||
− | == 6. Настройка уведомлений | + | == 6. Настройка уведомлений == |
=== Настройка email уведомлений в Nagios === | === Настройка email уведомлений в Nagios === | ||
1. Отредактируйте конфигурацию контактов: | 1. Отредактируйте конфигурацию контактов: | ||
− | < | + | <pre>sudo nano /usr/local/nagios/etc/objects/contacts.cfg</pre> |
2. Настройте контакт: | 2. Настройте контакт: | ||
− | < | + | <pre>define contact{ |
contact_name nagiosadmin | contact_name nagiosadmin | ||
use generic-contact | use generic-contact | ||
Строка 254: | Строка 254: | ||
members nagiosadmin | members nagiosadmin | ||
} | } | ||
− | </ | + | </pre> |
3. Настройте команду уведомления: | 3. Настройте команду уведомления: | ||
− | < | + | <pre>sudo nano /usr/local/nagios/etc/objects/commands.cfg</pre> |
4. Добавьте команду: | 4. Добавьте команду: | ||
− | < | + | <pre>define command{ |
command_name notify-host-by-email | command_name notify-host-by-email | ||
command_line /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\nHost: $HOSTNAME$\nState: $HOSTSTATE$\nAddress: $HOSTADDRESS$\nInfo: $HOSTOUTPUT$\n\nDate/Time: $LONGDATETIME$\n" | /usr/bin/mail -s "** $NOTIFICATIONTYPE$ Host Alert: $HOSTNAME$ is $HOSTSTATE$ **" $CONTACTEMAIL$ | command_line /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\nHost: $HOSTNAME$\nState: $HOSTSTATE$\nAddress: $HOSTADDRESS$\nInfo: $HOSTOUTPUT$\n\nDate/Time: $LONGDATETIME$\n" | /usr/bin/mail -s "** $NOTIFICATIONTYPE$ Host Alert: $HOSTNAME$ is $HOSTSTATE$ **" $CONTACTEMAIL$ | ||
} | } | ||
− | </ | + | </pre> |
=== Настройка уведомлений в Zabbix === | === Настройка уведомлений в Zabbix === | ||
Строка 283: | Строка 283: | ||
* Настройте условия и операции | * Настройте условия и операции | ||
− | == 7. Установка агентов | + | == 7. Установка агентов == |
=== Установка Nagios NRPE Agent === | === Установка Nagios NRPE Agent === | ||
1. Установите NRPE на удаленном хосте: | 1. Установите NRPE на удаленном хосте: | ||
− | < | + | <pre>sudo apt install -y nagios-nrpe-server nagios-plugins</pre> |
2. Настройте NRPE: | 2. Настройте NRPE: | ||
− | < | + | <pre>sudo nano /etc/nagios/nrpe.cfg</pre> |
3. Разрешите подключения от Nagios сервера: | 3. Разрешите подключения от Nagios сервера: | ||
− | < | + | <pre>allowed_hosts=192.168.1.100</pre> |
4. Запустите NRPE: | 4. Запустите NRPE: | ||
− | < | + | <pre>sudo systemctl start nagios-nrpe-server</pre> |
− | < | + | <pre>sudo systemctl enable nagios-nrpe-server</pre> |
=== Установка Zabbix Agent === | === Установка 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> |
− | == 8. Мониторинг сервисов | + | == 8. Мониторинг сервисов == |
=== Мониторинг веб-сервера === | === Мониторинг веб-сервера === | ||
1. '''Nagios - проверка HTTP''': | 1. '''Nagios - проверка HTTP''': | ||
− | < | + | <pre>define service{ |
use local-service | use local-service | ||
host_name web-server | host_name web-server | ||
Строка 329: | Строка 329: | ||
check_command check_http | check_command check_http | ||
} | } | ||
− | </ | + | </pre> |
2. '''Zabbix - HTTP мониторинг''': | 2. '''Zabbix - HTTP мониторинг''': | ||
Строка 339: | Строка 339: | ||
1. '''Nagios - проверка MySQL''': | 1. '''Nagios - проверка MySQL''': | ||
− | < | + | <pre>define service{ |
use local-service | use local-service | ||
host_name db-server | host_name db-server | ||
Строка 345: | Строка 345: | ||
check_command check_mysql | check_command check_mysql | ||
} | } | ||
− | </ | + | </pre> |
2. '''Zabbix - MySQL мониторинг''': | 2. '''Zabbix - MySQL мониторинг''': | ||
Строка 355: | Строка 355: | ||
1. '''Nagios - проверка дисков''': | 1. '''Nagios - проверка дисков''': | ||
− | < | + | <pre>define service{ |
use local-service | use local-service | ||
host_name server | host_name server | ||
Строка 361: | Строка 361: | ||
check_command check_disk!20%!10%!/ | check_command check_disk!20%!10%!/ | ||
} | } | ||
− | </ | + | </pre> |
2. '''Zabbix - мониторинг дисков''': | 2. '''Zabbix - мониторинг дисков''': | ||
Строка 368: | Строка 368: | ||
* Создайте графики использования | * Создайте графики использования | ||
− | == 9. Создание дашбордов | + | == 9. Создание дашбордов == |
=== Настройка дашборда в Zabbix === | === Настройка дашборда в Zabbix === | ||
Строка 385: | Строка 385: | ||
1. Установите NagVis: | 1. Установите NagVis: | ||
− | < | + | <pre>sudo apt install -y nagvis</pre> |
2. Настройте карты: | 2. Настройте карты: | ||
Строка 392: | Строка 392: | ||
* Настройте автоматическое обновление | * Настройте автоматическое обновление | ||
− | == 10. Резервное копирование | + | == 10. Резервное копирование == |
=== Резервное копирование Nagios === | === Резервное копирование Nagios === | ||
1. Создайте скрипт резервного копирования: | 1. Создайте скрипт резервного копирования: | ||
− | < | + | <pre>sudo nano /usr/local/bin/nagios-backup.sh</pre> |
2. Добавьте содержимое: | 2. Добавьте содержимое: | ||
− | < | + | <pre>\#!/bin/bash |
BACKUP_DIR="/backup/nagios" | BACKUP_DIR="/backup/nagios" | ||
DATE=$(date +%Y%m%d_%H%M%S) | DATE=$(date +%Y%m%d_%H%M%S) | ||
− | # Создание архива конфигурации | + | \# Создание архива конфигурации |
tar -czf $BACKUP_DIR/nagios-config-$DATE.tar.gz /usr/local/nagios/etc/ | tar -czf $BACKUP_DIR/nagios-config-$DATE.tar.gz /usr/local/nagios/etc/ | ||
− | # Создание архива логов | + | \# Создание архива логов |
tar -czf $BACKUP_DIR/nagios-logs-$DATE.tar.gz /usr/local/nagios/var/ | tar -czf $BACKUP_DIR/nagios-logs-$DATE.tar.gz /usr/local/nagios/var/ | ||
echo "Nagios backup completed: $DATE" | echo "Nagios backup completed: $DATE" | ||
− | </ | + | </pre> |
3. Сделайте скрипт исполняемым: | 3. Сделайте скрипт исполняемым: | ||
− | < | + | <pre>sudo chmod +x /usr/local/bin/nagios-backup.sh</pre> |
=== Резервное копирование Zabbix === | === Резервное копирование Zabbix === | ||
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) | ||
− | # Резервное копирование базы данных | + | \# Резервное копирование базы данных |
mysqldump -u zabbix -p zabbix > $BACKUP_DIR/zabbix-db-$DATE.sql | mysqldump -u zabbix -p zabbix > $BACKUP_DIR/zabbix-db-$DATE.sql | ||
− | # Резервное копирование конфигурации | + | \# Резервное копирование конфигурации |
tar -czf $BACKUP_DIR/zabbix-config-$DATE.tar.gz /etc/zabbix/ | tar -czf $BACKUP_DIR/zabbix-config-$DATE.tar.gz /etc/zabbix/ | ||
echo "Zabbix backup completed: $DATE" | echo "Zabbix backup completed: $DATE" | ||
− | </ | + | </pre> |
− | == 11. Устранение неполадок | + | == 11. Устранение неполадок == |
=== Частые проблемы === | === Частые проблемы === | ||
1. '''Nagios не запускается''': | 1. '''Nagios не запускается''': | ||
− | * Проверьте синтаксис конфигурации: < | + | * Проверьте синтаксис конфигурации: <pre>sudo /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg</pre> |
* Проверьте права доступа к файлам | * Проверьте права доступа к файлам | ||
− | * Проверьте логи: < | + | * Проверьте логи: <pre>sudo tail -f /usr/local/nagios/var/nagios.log</pre> |
2. '''Zabbix не подключается к базе данных''': | 2. '''Zabbix не подключается к базе данных''': | ||
Строка 457: | Строка 457: | ||
1. '''Проверка статуса сервисов''': | 1. '''Проверка статуса сервисов''': | ||
− | < | + | <pre>sudo systemctl status nagios</pre> |
− | < | + | <pre>sudo systemctl status zabbix-server</pre> |
2. '''Проверка логов''': | 2. '''Проверка логов''': | ||
− | < | + | <pre>sudo tail -f /var/log/nagios/nagios.log</pre> |
− | < | + | <pre>sudo tail -f /var/log/zabbix/zabbix_server.log</pre> |
3. '''Проверка подключений''': | 3. '''Проверка подключений''': | ||
− | < | + | <pre>sudo netstat -tlnp | grep :10050</pre> |
− | < | + | <pre>sudo netstat -tlnp | grep :10051</pre> |
== Заключение == | == Заключение == |
Текущая версия на 10:37, 15 октября 2025
Содержание
- 1 Настройка мониторинга сервера (Nagios/Zabbix)
- 1.1 1. Подготовка системы
- 1.2 2. Установка Nagios
- 1.3 3. Установка Zabbix
- 1.4 4. Настройка веб-интерфейса
- 1.5 5. Настройка мониторинга
- 1.6 6. Настройка уведомлений
- 1.7 7. Установка агентов
- 1.8 8. Мониторинг сервисов
- 1.9 9. Создание дашбордов
- 1.10 10. Резервное копирование
- 1.11 11. Устранение неполадок
- 1.12 Заключение
Настройка мониторинга сервера (Nagios/Zabbix)
1. Подготовка системы
- Войдите в систему под учетной записью с правами root или пользователя с правами sudo.
- Убедитесь, что у вас есть доступ к серверу через SSH или консоль.
2. Установка Nagios
Обновление системы
1. Обновите систему:
sudo apt update
2. Установите необходимые пакеты:
sudo apt install -y wget curl build-essential apache2 php libapache2-mod-php php-gd libgd-dev libssl-dev libc6-dev libffi-dev unzip libapache2-mod-php7.4
Создание пользователя nagios
1. Создайте пользователя и группу:
sudo useradd nagios
sudo groupadd nagcmd
sudo usermod -a -G nagcmd nagios
sudo usermod -a -G nagcmd www-data
Установка Nagios Core
1. Скачайте исходный код Nagios:
cd /tmp
wget https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.4.6.tar.gz
tar xzf nagios-4.4.6.tar.gz
cd nagios-4.4.6
2. Скомпилируйте и установите:
sudo ./configure --with-command-group=nagcmd
sudo make all
sudo make install
sudo make install-commandmode
sudo make install-config
sudo make install-webconf
3. Создайте пользователя для веб-интерфейса:
sudo htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
Установка Nagios Plugins
1. Скачайте и установите плагины:
cd /tmp
wget https://nagios-plugins.org/download/nagios-plugins-2.3.3.tar.gz
tar xzf nagios-plugins-2.3.3.tar.gz
cd nagios-plugins-2.3.3
2. Скомпилируйте плагины:
sudo ./configure --with-nagios-user=nagios --with-nagios-group=nagios
sudo make
sudo make install
Запуск Nagios
1. Запустите и включите автозапуск:
sudo systemctl start nagios
sudo systemctl enable nagios
2. Перезапустите Apache:
sudo systemctl restart apache2
3. Проверьте статус:
sudo systemctl status nagios
3. Установка Zabbix
Установка Zabbix Server
1. Установите репозиторий Zabbix:
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
sudo apt update
2. Установите Zabbix Server, Frontend и Agent:
sudo apt install -y zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-sql-scripts zabbix-agent
Настройка базы данных
1. Установите MySQL:
sudo apt install -y mysql-server
2. Создайте базу данных и пользователя:
sudo mysql -u root -p
3. В MySQL выполните:
CREATE DATABASE zabbix CHARACTER SET utf8 COLLATE utf8_bin;
CREATE USER 'zabbix'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'localhost';
FLUSH PRIVILEGES;
EXIT;
4. Импортируйте схему базы данных:
sudo zcat /usr/share/doc/zabbix-sql-scripts/mysql/create.sql.gz | mysql -uzabbix -p zabbix
Настройка Zabbix Server
1. Отредактируйте конфигурацию:
sudo nano /etc/zabbix/zabbix_server.conf
2. Настройте основные параметры:
DBHost=localhost DBName=zabbix DBUser=zabbix DBPassword=password
3. Запустите и включите автозапуск:
sudo systemctl start zabbix-server zabbix-agent apache2
sudo systemctl enable zabbix-server zabbix-agent apache2
4. Проверьте статус:
sudo systemctl status zabbix-server
4. Настройка веб-интерфейса
Настройка Apache для Nagios
1. Создайте виртуальный хост:
sudo nano /etc/apache2/sites-available/nagios.conf
2. Добавьте конфигурацию:
<VirtualHost *:80> ServerName nagios.example.com DocumentRoot /usr/local/nagios/share <Directory "/usr/local/nagios/share"> Options Indexes FollowSymLinks AllowOverride AuthConfig Require all granted </Directory> <Directory "/usr/local/nagios/sbin"> Options ExecCGI AllowOverride AuthConfig Require all granted </Directory> <Directory "/usr/local/nagios/cgi-bin"> Options ExecCGI AllowOverride AuthConfig Require all granted </Directory> </VirtualHost>
3. Включите сайт:
sudo a2ensite nagios
sudo a2enmod cgi
sudo systemctl restart apache2
Настройка Apache для Zabbix
1. Настройте PHP для Zabbix:
sudo nano /etc/php/7.4/apache2/php.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
4. Откройте веб-интерфейс:
http://your-server-ip/zabbix
5. Настройка мониторинга
Настройка Nagios
1. Отредактируйте главный конфигурационный файл:
sudo nano /usr/local/nagios/etc/nagios.cfg
2. Настройте основные параметры:
log_file=/usr/local/nagios/var/nagios.log cfg_file=/usr/local/nagios/etc/objects/commands.cfg cfg_file=/usr/local/nagios/etc/objects/contacts.cfg cfg_file=/usr/local/nagios/etc/objects/timeperiods.cfg cfg_file=/usr/local/nagios/etc/objects/templates.cfg cfg_file=/usr/local/nagios/etc/objects/localhost.cfg
3. Создайте конфигурацию для хоста:
sudo nano /usr/local/nagios/etc/objects/localhost.cfg
4. Добавьте конфигурацию хоста:
define host{ use linux-server host_name localhost alias localhost address 127.0.0.1 } define service{ use local-service host_name localhost service_description PING check_command check_ping!100.0,20%!500.0,60% } define service{ use local-service host_name localhost service_description Root Partition check_command check_local_disk!20%!10%!/ }
Настройка Zabbix
1. Создайте хосты в Zabbix:
- Зайдите в веб-интерфейс Zabbix
- Перейдите в Configuration → Hosts
- Нажмите Create host
- Заполните параметры хоста
2. Настройте элементы данных:
- Перейдите в Configuration → Hosts
- Выберите хост и нажмите Items
- Создайте элементы для мониторинга
3. Настройте триггеры:
- Перейдите в Configuration → Hosts
- Выберите хост и нажмите Triggers
- Создайте триггеры для уведомлений
6. Настройка уведомлений
Настройка email уведомлений в Nagios
1. Отредактируйте конфигурацию контактов:
sudo nano /usr/local/nagios/etc/objects/contacts.cfg
2. Настройте контакт:
define contact{ contact_name nagiosadmin use generic-contact alias Nagios Admin email admin@example.com } define contactgroup{ contactgroup_name admins alias Nagios Administrators members nagiosadmin }
3. Настройте команду уведомления:
sudo nano /usr/local/nagios/etc/objects/commands.cfg
4. Добавьте команду:
define command{ command_name notify-host-by-email command_line /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\nHost: $HOSTNAME$\nState: $HOSTSTATE$\nAddress: $HOSTADDRESS$\nInfo: $HOSTOUTPUT$\n\nDate/Time: $LONGDATETIME$\n" | /usr/bin/mail -s "** $NOTIFICATIONTYPE$ Host Alert: $HOSTNAME$ is $HOSTSTATE$ **" $CONTACTEMAIL$ }
Настройка уведомлений в Zabbix
1. Настройте медиа типы:
- Перейдите в Administration → Media types
- Создайте email медиа тип
- Настройте SMTP сервер
2. Настройте пользователей:
- Перейдите в Administration → Users
- Создайте пользователя
- Настройте медиа для пользователя
3. Настройте действия:
- Перейдите в Configuration → Actions
- Создайте action для уведомлений
- Настройте условия и операции
7. Установка агентов
Установка Nagios NRPE Agent
1. Установите NRPE на удаленном хосте:
sudo apt install -y nagios-nrpe-server nagios-plugins
2. Настройте NRPE:
sudo nano /etc/nagios/nrpe.cfg
3. Разрешите подключения от Nagios сервера:
allowed_hosts=192.168.1.100
4. Запустите NRPE:
sudo systemctl start nagios-nrpe-server
sudo systemctl enable nagios-nrpe-server
Установка 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
8. Мониторинг сервисов
Мониторинг веб-сервера
1. Nagios - проверка HTTP:
define service{ use local-service host_name web-server service_description HTTP check_command check_http }
2. Zabbix - HTTP мониторинг:
- Создайте элемент данных для HTTP проверки
- Настройте триггер для недоступности
- Создайте график для отображения
Мониторинг базы данных
1. Nagios - проверка MySQL:
define service{ use local-service host_name db-server service_description MySQL check_command check_mysql }
2. Zabbix - MySQL мониторинг:
- Установите MySQL плагин для Zabbix
- Настройте элементы данных для MySQL
- Создайте дашборд для базы данных
Мониторинг дискового пространства
1. Nagios - проверка дисков:
define service{ use local-service host_name server service_description Disk Space check_command check_disk!20%!10%!/ }
2. Zabbix - мониторинг дисков:
- Используйте встроенные элементы для дисков
- Настройте триггеры для предупреждений
- Создайте графики использования
9. Создание дашбордов
Настройка дашборда в Zabbix
1. Создайте дашборд:
- Перейдите в Monitoring → Dashboards
- Нажмите Create dashboard
- Добавьте виджеты для мониторинга
2. Настройте виджеты:
- Добавьте графики производительности
- Настройте карты сети
- Добавьте таблицы проблем
Настройка карт в Nagios
1. Установите NagVis:
sudo apt install -y nagvis
2. Настройте карты:
- Создайте карту сети
- Добавьте хосты и сервисы
- Настройте автоматическое обновление
10. Резервное копирование
Резервное копирование Nagios
1. Создайте скрипт резервного копирования:
sudo nano /usr/local/bin/nagios-backup.sh
2. Добавьте содержимое:
\#!/bin/bash BACKUP_DIR="/backup/nagios" DATE=$(date +%Y%m%d_%H%M%S) \# Создание архива конфигурации tar -czf $BACKUP_DIR/nagios-config-$DATE.tar.gz /usr/local/nagios/etc/ \# Создание архива логов tar -czf $BACKUP_DIR/nagios-logs-$DATE.tar.gz /usr/local/nagios/var/ echo "Nagios backup completed: $DATE"
3. Сделайте скрипт исполняемым:
sudo chmod +x /usr/local/bin/nagios-backup.sh
Резервное копирование Zabbix
1. Создайте скрипт резервного копирования:
sudo nano /usr/local/bin/zabbix-backup.sh
2. Добавьте содержимое:
\#!/bin/bash BACKUP_DIR="/backup/zabbix" DATE=$(date +%Y%m%d_%H%M%S) \# Резервное копирование базы данных mysqldump -u zabbix -p zabbix > $BACKUP_DIR/zabbix-db-$DATE.sql \# Резервное копирование конфигурации tar -czf $BACKUP_DIR/zabbix-config-$DATE.tar.gz /etc/zabbix/ echo "Zabbix backup completed: $DATE"
11. Устранение неполадок
Частые проблемы
1. Nagios не запускается:
- Проверьте синтаксис конфигурации:
sudo /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
- Проверьте права доступа к файлам
- Проверьте логи:
sudo tail -f /usr/local/nagios/var/nagios.log
2. Zabbix не подключается к базе данных:
- Проверьте настройки подключения в zabbix_server.conf
- Проверьте статус MySQL
- Проверьте права пользователя zabbix
3. Агенты не подключаются:
- Проверьте сетевую связность
- Проверьте настройки файрвола
- Проверьте конфигурацию агентов
Диагностика
1. Проверка статуса сервисов:
sudo systemctl status nagios
sudo systemctl status zabbix-server
2. Проверка логов:
sudo tail -f /var/log/nagios/nagios.log
sudo tail -f /var/log/zabbix/zabbix_server.log
3. Проверка подключений:
sudo netstat -tlnp | grep :10050
sudo netstat -tlnp | grep :10051
Заключение
Система мониторинга успешно настроена! Теперь вы можете отслеживать состояние ваших серверов и получать уведомления о проблемах.
Для размещения ваших систем мониторинга на надежном хостинге рекомендуем воспользоваться услугами [ARK-HOSTER.RU](https://ark-hoster.ru):
- [Выделенные серверы](https://ark-hoster.ru/dedicated/) - для критически важных систем мониторинга
- [VPS/VDS серверы](https://ark-hoster.ru/vpsgame/) - для небольших и средних проектов
Наши специалисты помогут с настройкой мониторинга и оптимизацией производительности ваших систем!