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

Материал из ARK-HOSTER.RU | Документация хостинга
Перейти к: навигация, поиск
(Новая страница: «= Настройка мониторинга сервера (Nagios/Zabbix) = == 1. Подготовка системы == * Войдите в систему п…»)
 
 
Строка 6: Строка 6:
 
* Убедитесь, что у вас есть доступ к серверу через SSH или консоль.
 
* Убедитесь, что у вас есть доступ к серверу через SSH или консоль.
  
== 2. Установка Nagios ===
+
== 2. Установка Nagios ==
  
 
=== Обновление системы ===
 
=== Обновление системы ===
  
 
1. Обновите систему:
 
1. Обновите систему:
<code>sudo apt update</code>
+
<pre>sudo apt update</pre>
  
 
2. Установите необходимые пакеты:
 
2. Установите необходимые пакеты:
<code>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</code>
+
<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. Создайте пользователя и группу:
<code>sudo useradd nagios</code>
+
<pre>sudo useradd nagios</pre>
<code>sudo groupadd nagcmd</code>
+
<pre>sudo groupadd nagcmd</pre>
<code>sudo usermod -a -G nagcmd nagios</code>
+
<pre>sudo usermod -a -G nagcmd nagios</pre>
<code>sudo usermod -a -G nagcmd www-data</code>
+
<pre>sudo usermod -a -G nagcmd www-data</pre>
  
 
=== Установка Nagios Core ===
 
=== Установка Nagios Core ===
  
 
1. Скачайте исходный код Nagios:
 
1. Скачайте исходный код Nagios:
<code>cd /tmp</code>
+
<pre>cd /tmp</pre>
<code>wget https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.4.6.tar.gz</code>
+
<pre>wget https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.4.6.tar.gz</pre>
<code>tar xzf nagios-4.4.6.tar.gz</code>
+
<pre>tar xzf nagios-4.4.6.tar.gz</pre>
<code>cd nagios-4.4.6</code>
+
<pre>cd nagios-4.4.6</pre>
  
 
2. Скомпилируйте и установите:
 
2. Скомпилируйте и установите:
<code>sudo ./configure --with-command-group=nagcmd</code>
+
<pre>sudo ./configure --with-command-group=nagcmd</pre>
<code>sudo make all</code>
+
<pre>sudo make all</pre>
<code>sudo make install</code>
+
<pre>sudo make install</pre>
<code>sudo make install-commandmode</code>
+
<pre>sudo make install-commandmode</pre>
<code>sudo make install-config</code>
+
<pre>sudo make install-config</pre>
<code>sudo make install-webconf</code>
+
<pre>sudo make install-webconf</pre>
  
 
3. Создайте пользователя для веб-интерфейса:
 
3. Создайте пользователя для веб-интерфейса:
<code>sudo htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin</code>
+
<pre>sudo htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin</pre>
  
 
=== Установка Nagios Plugins ===
 
=== Установка Nagios Plugins ===
  
 
1. Скачайте и установите плагины:
 
1. Скачайте и установите плагины:
<code>cd /tmp</code>
+
<pre>cd /tmp</pre>
<code>wget https://nagios-plugins.org/download/nagios-plugins-2.3.3.tar.gz</code>
+
<pre>wget https://nagios-plugins.org/download/nagios-plugins-2.3.3.tar.gz</pre>
<code>tar xzf nagios-plugins-2.3.3.tar.gz</code>
+
<pre>tar xzf nagios-plugins-2.3.3.tar.gz</pre>
<code>cd nagios-plugins-2.3.3</code>
+
<pre>cd nagios-plugins-2.3.3</pre>
  
 
2. Скомпилируйте плагины:
 
2. Скомпилируйте плагины:
<code>sudo ./configure --with-nagios-user=nagios --with-nagios-group=nagios</code>
+
<pre>sudo ./configure --with-nagios-user=nagios --with-nagios-group=nagios</pre>
<code>sudo make</code>
+
<pre>sudo make</pre>
<code>sudo make install</code>
+
<pre>sudo make install</pre>
  
 
=== Запуск Nagios ===
 
=== Запуск Nagios ===
  
 
1. Запустите и включите автозапуск:
 
1. Запустите и включите автозапуск:
<code>sudo systemctl start nagios</code>
+
<pre>sudo systemctl start nagios</pre>
<code>sudo systemctl enable nagios</code>
+
<pre>sudo systemctl enable nagios</pre>
  
 
2. Перезапустите Apache:
 
2. Перезапустите Apache:
<code>sudo systemctl restart apache2</code>
+
<pre>sudo systemctl restart apache2</pre>
  
 
3. Проверьте статус:
 
3. Проверьте статус:
<code>sudo systemctl status nagios</code>
+
<pre>sudo systemctl status nagios</pre>
  
== 3. Установка Zabbix ===
+
== 3. Установка Zabbix ==
  
 
=== Установка Zabbix Server ===
 
=== Установка Zabbix Server ===
  
 
1. Установите репозиторий Zabbix:
 
1. Установите репозиторий Zabbix:
<code>wget https://repo.zabbix.com/zabbix/6.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.0-4+ubuntu20.04_all.deb</code>
+
<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>
<code>sudo dpkg -i zabbix-release_6.0-4+ubuntu20.04_all.deb</code>
+
<pre>sudo dpkg -i zabbix-release_6.0-4+ubuntu20.04_all.deb</pre>
<code>sudo apt update</code>
+
<pre>sudo apt update</pre>
  
 
2. Установите Zabbix Server, Frontend и Agent:
 
2. Установите Zabbix Server, Frontend и Agent:
<code>sudo apt install -y zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-sql-scripts zabbix-agent</code>
+
<pre>sudo apt install -y zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-sql-scripts zabbix-agent</pre>
  
 
=== Настройка базы данных ===
 
=== Настройка базы данных ===
  
 
1. Установите MySQL:
 
1. Установите MySQL:
<code>sudo apt install -y mysql-server</code>
+
<pre>sudo apt install -y mysql-server</pre>
  
 
2. Создайте базу данных и пользователя:
 
2. Создайте базу данных и пользователя:
<code>sudo mysql -u root -p</code>
+
<pre>sudo mysql -u root -p</pre>
  
 
3. В MySQL выполните:
 
3. В MySQL выполните:
<code>CREATE DATABASE zabbix CHARACTER SET utf8 COLLATE utf8_bin;</code>
+
<pre>CREATE DATABASE zabbix CHARACTER SET utf8 COLLATE utf8_bin;</pre>
<code>CREATE USER 'zabbix'@'localhost' IDENTIFIED BY 'password';</code>
+
<pre>CREATE USER 'zabbix'@'localhost' IDENTIFIED BY 'password';</pre>
<code>GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'localhost';</code>
+
<pre>GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'localhost';</pre>
<code>FLUSH PRIVILEGES;</code>
+
<pre>FLUSH PRIVILEGES;</pre>
<code>EXIT;</code>
+
<pre>EXIT;</pre>
  
 
4. Импортируйте схему базы данных:
 
4. Импортируйте схему базы данных:
<code>sudo zcat /usr/share/doc/zabbix-sql-scripts/mysql/create.sql.gz | mysql -uzabbix -p zabbix</code>
+
<pre>sudo zcat /usr/share/doc/zabbix-sql-scripts/mysql/create.sql.gz | mysql -uzabbix -p zabbix</pre>
  
 
=== Настройка Zabbix Server ===
 
=== Настройка Zabbix Server ===
  
 
1. Отредактируйте конфигурацию:
 
1. Отредактируйте конфигурацию:
<code>sudo nano /etc/zabbix/zabbix_server.conf</code>
+
<pre>sudo nano /etc/zabbix/zabbix_server.conf</pre>
  
 
2. Настройте основные параметры:
 
2. Настройте основные параметры:
<code>DBHost=localhost
+
<pre>DBHost=localhost
 
DBName=zabbix
 
DBName=zabbix
 
DBUser=zabbix
 
DBUser=zabbix
 
DBPassword=password
 
DBPassword=password
</code>
+
</pre>
  
 
3. Запустите и включите автозапуск:
 
3. Запустите и включите автозапуск:
<code>sudo systemctl start zabbix-server zabbix-agent apache2</code>
+
<pre>sudo systemctl start zabbix-server zabbix-agent apache2</pre>
<code>sudo systemctl enable zabbix-server zabbix-agent apache2</code>
+
<pre>sudo systemctl enable zabbix-server zabbix-agent apache2</pre>
  
 
4. Проверьте статус:
 
4. Проверьте статус:
<code>sudo systemctl status zabbix-server</code>
+
<pre>sudo systemctl status zabbix-server</pre>
  
== 4. Настройка веб-интерфейса ===
+
== 4. Настройка веб-интерфейса ==
  
 
=== Настройка Apache для Nagios ===
 
=== Настройка Apache для Nagios ===
  
 
1. Создайте виртуальный хост:
 
1. Создайте виртуальный хост:
<code>sudo nano /etc/apache2/sites-available/nagios.conf</code>
+
<pre>sudo nano /etc/apache2/sites-available/nagios.conf</pre>
  
 
2. Добавьте конфигурацию:
 
2. Добавьте конфигурацию:
<code><VirtualHost *:80>
+
<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>
</code>
+
</pre>
  
 
3. Включите сайт:
 
3. Включите сайт:
<code>sudo a2ensite nagios</code>
+
<pre>sudo a2ensite nagios</pre>
<code>sudo a2enmod cgi</code>
+
<pre>sudo a2enmod cgi</pre>
<code>sudo systemctl restart apache2</code>
+
<pre>sudo systemctl restart apache2</pre>
  
 
=== Настройка Apache для Zabbix ===
 
=== Настройка Apache для Zabbix ===
  
 
1. Настройте PHP для Zabbix:
 
1. Настройте PHP для Zabbix:
<code>sudo nano /etc/php/7.4/apache2/php.ini</code>
+
<pre>sudo nano /etc/php/7.4/apache2/php.ini</pre>
  
 
2. Измените параметры:
 
2. Измените параметры:
<code>max_execution_time = 300
+
<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
</code>
+
</pre>
  
 
3. Перезапустите Apache:
 
3. Перезапустите Apache:
<code>sudo systemctl restart apache2</code>
+
<pre>sudo systemctl restart apache2</pre>
  
 
4. Откройте веб-интерфейс:
 
4. Откройте веб-интерфейс:
<code>http://your-server-ip/zabbix</code>
+
<pre>http://your-server-ip/zabbix</pre>
  
== 5. Настройка мониторинга ===
+
== 5. Настройка мониторинга ==
  
 
=== Настройка Nagios ===
 
=== Настройка Nagios ===
  
 
1. Отредактируйте главный конфигурационный файл:
 
1. Отредактируйте главный конфигурационный файл:
<code>sudo nano /usr/local/nagios/etc/nagios.cfg</code>
+
<pre>sudo nano /usr/local/nagios/etc/nagios.cfg</pre>
  
 
2. Настройте основные параметры:
 
2. Настройте основные параметры:
<code>log_file=/usr/local/nagios/var/nagios.log
+
<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
</code>
+
</pre>
  
 
3. Создайте конфигурацию для хоста:
 
3. Создайте конфигурацию для хоста:
<code>sudo nano /usr/local/nagios/etc/objects/localhost.cfg</code>
+
<pre>sudo nano /usr/local/nagios/etc/objects/localhost.cfg</pre>
  
 
4. Добавьте конфигурацию хоста:
 
4. Добавьте конфигурацию хоста:
<code>define host{
+
<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%!/
 
}
 
}
</code>
+
</pre>
  
 
=== Настройка Zabbix ===
 
=== Настройка Zabbix ===
Строка 234: Строка 234:
 
* Создайте триггеры для уведомлений
 
* Создайте триггеры для уведомлений
  
== 6. Настройка уведомлений ===
+
== 6. Настройка уведомлений ==
  
 
=== Настройка email уведомлений в Nagios ===
 
=== Настройка email уведомлений в Nagios ===
  
 
1. Отредактируйте конфигурацию контактов:
 
1. Отредактируйте конфигурацию контактов:
<code>sudo nano /usr/local/nagios/etc/objects/contacts.cfg</code>
+
<pre>sudo nano /usr/local/nagios/etc/objects/contacts.cfg</pre>
  
 
2. Настройте контакт:
 
2. Настройте контакт:
<code>define contact{
+
<pre>define contact{
 
     contact_name                    nagiosadmin
 
     contact_name                    nagiosadmin
 
     use                            generic-contact
 
     use                            generic-contact
Строка 254: Строка 254:
 
     members                nagiosadmin
 
     members                nagiosadmin
 
}
 
}
</code>
+
</pre>
  
 
3. Настройте команду уведомления:
 
3. Настройте команду уведомления:
<code>sudo nano /usr/local/nagios/etc/objects/commands.cfg</code>
+
<pre>sudo nano /usr/local/nagios/etc/objects/commands.cfg</pre>
  
 
4. Добавьте команду:
 
4. Добавьте команду:
<code>define command{
+
<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$
 
}
 
}
</code>
+
</pre>
  
 
=== Настройка уведомлений в Zabbix ===
 
=== Настройка уведомлений в Zabbix ===
Строка 283: Строка 283:
 
* Настройте условия и операции
 
* Настройте условия и операции
  
== 7. Установка агентов ===
+
== 7. Установка агентов ==
  
 
=== Установка Nagios NRPE Agent ===
 
=== Установка Nagios NRPE Agent ===
  
 
1. Установите NRPE на удаленном хосте:
 
1. Установите NRPE на удаленном хосте:
<code>sudo apt install -y nagios-nrpe-server nagios-plugins</code>
+
<pre>sudo apt install -y nagios-nrpe-server nagios-plugins</pre>
  
 
2. Настройте NRPE:
 
2. Настройте NRPE:
<code>sudo nano /etc/nagios/nrpe.cfg</code>
+
<pre>sudo nano /etc/nagios/nrpe.cfg</pre>
  
 
3. Разрешите подключения от Nagios сервера:
 
3. Разрешите подключения от Nagios сервера:
<code>allowed_hosts=192.168.1.100</code>
+
<pre>allowed_hosts=192.168.1.100</pre>
  
 
4. Запустите NRPE:
 
4. Запустите NRPE:
<code>sudo systemctl start nagios-nrpe-server</code>
+
<pre>sudo systemctl start nagios-nrpe-server</pre>
<code>sudo systemctl enable nagios-nrpe-server</code>
+
<pre>sudo systemctl enable nagios-nrpe-server</pre>
  
 
=== Установка Zabbix Agent ===
 
=== Установка Zabbix Agent ===
  
 
1. Установите Zabbix Agent:
 
1. Установите Zabbix Agent:
<code>sudo apt install -y zabbix-agent</code>
+
<pre>sudo apt install -y zabbix-agent</pre>
  
 
2. Настройте агент:
 
2. Настройте агент:
<code>sudo nano /etc/zabbix/zabbix_agentd.conf</code>
+
<pre>sudo nano /etc/zabbix/zabbix_agentd.conf</pre>
  
 
3. Настройте подключение к серверу:
 
3. Настройте подключение к серверу:
<code>Server=192.168.1.100
+
<pre>Server=192.168.1.100
 
ServerActive=192.168.1.100
 
ServerActive=192.168.1.100
 
Hostname=client-hostname
 
Hostname=client-hostname
</code>
+
</pre>
  
 
4. Запустите агент:
 
4. Запустите агент:
<code>sudo systemctl start zabbix-agent</code>
+
<pre>sudo systemctl start zabbix-agent</pre>
<code>sudo systemctl enable zabbix-agent</code>
+
<pre>sudo systemctl enable zabbix-agent</pre>
  
== 8. Мониторинг сервисов ===
+
== 8. Мониторинг сервисов ==
  
 
=== Мониторинг веб-сервера ===
 
=== Мониторинг веб-сервера ===
  
 
1. '''Nagios - проверка HTTP''':
 
1. '''Nagios - проверка HTTP''':
<code>define service{
+
<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
 
}
 
}
</code>
+
</pre>
  
 
2. '''Zabbix - HTTP мониторинг''':
 
2. '''Zabbix - HTTP мониторинг''':
Строка 339: Строка 339:
  
 
1. '''Nagios - проверка MySQL''':
 
1. '''Nagios - проверка MySQL''':
<code>define service{
+
<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
 
}
 
}
</code>
+
</pre>
  
 
2. '''Zabbix - MySQL мониторинг''':
 
2. '''Zabbix - MySQL мониторинг''':
Строка 355: Строка 355:
  
 
1. '''Nagios - проверка дисков''':
 
1. '''Nagios - проверка дисков''':
<code>define service{
+
<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%!/
 
}
 
}
</code>
+
</pre>
  
 
2. '''Zabbix - мониторинг дисков''':
 
2. '''Zabbix - мониторинг дисков''':
Строка 368: Строка 368:
 
* Создайте графики использования
 
* Создайте графики использования
  
== 9. Создание дашбордов ===
+
== 9. Создание дашбордов ==
  
 
=== Настройка дашборда в Zabbix ===
 
=== Настройка дашборда в Zabbix ===
Строка 385: Строка 385:
  
 
1. Установите NagVis:
 
1. Установите NagVis:
<code>sudo apt install -y nagvis</code>
+
<pre>sudo apt install -y nagvis</pre>
  
 
2. Настройте карты:
 
2. Настройте карты:
Строка 392: Строка 392:
 
* Настройте автоматическое обновление
 
* Настройте автоматическое обновление
  
== 10. Резервное копирование ===
+
== 10. Резервное копирование ==
  
 
=== Резервное копирование Nagios ===
 
=== Резервное копирование Nagios ===
  
 
1. Создайте скрипт резервного копирования:
 
1. Создайте скрипт резервного копирования:
<code>sudo nano /usr/local/bin/nagios-backup.sh</code>
+
<pre>sudo nano /usr/local/bin/nagios-backup.sh</pre>
  
 
2. Добавьте содержимое:
 
2. Добавьте содержимое:
<code>#!/bin/bash
+
<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"
</code>
+
</pre>
  
 
3. Сделайте скрипт исполняемым:
 
3. Сделайте скрипт исполняемым:
<code>sudo chmod +x /usr/local/bin/nagios-backup.sh</code>
+
<pre>sudo chmod +x /usr/local/bin/nagios-backup.sh</pre>
  
 
=== Резервное копирование Zabbix ===
 
=== Резервное копирование Zabbix ===
  
 
1. Создайте скрипт резервного копирования:
 
1. Создайте скрипт резервного копирования:
<code>sudo nano /usr/local/bin/zabbix-backup.sh</code>
+
<pre>sudo nano /usr/local/bin/zabbix-backup.sh</pre>
  
 
2. Добавьте содержимое:
 
2. Добавьте содержимое:
<code>#!/bin/bash
+
<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"
</code>
+
</pre>
  
== 11. Устранение неполадок ===
+
== 11. Устранение неполадок ==
  
 
=== Частые проблемы ===
 
=== Частые проблемы ===
  
 
1. '''Nagios не запускается''':
 
1. '''Nagios не запускается''':
* Проверьте синтаксис конфигурации: <code>sudo /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg</code>
+
* Проверьте синтаксис конфигурации: <pre>sudo /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg</pre>
 
* Проверьте права доступа к файлам
 
* Проверьте права доступа к файлам
* Проверьте логи: <code>sudo tail -f /usr/local/nagios/var/nagios.log</code>
+
* Проверьте логи: <pre>sudo tail -f /usr/local/nagios/var/nagios.log</pre>
  
 
2. '''Zabbix не подключается к базе данных''':
 
2. '''Zabbix не подключается к базе данных''':
Строка 457: Строка 457:
  
 
1. '''Проверка статуса сервисов''':
 
1. '''Проверка статуса сервисов''':
<code>sudo systemctl status nagios</code>
+
<pre>sudo systemctl status nagios</pre>
<code>sudo systemctl status zabbix-server</code>
+
<pre>sudo systemctl status zabbix-server</pre>
  
 
2. '''Проверка логов''':
 
2. '''Проверка логов''':
<code>sudo tail -f /var/log/nagios/nagios.log</code>
+
<pre>sudo tail -f /var/log/nagios/nagios.log</pre>
<code>sudo tail -f /var/log/zabbix/zabbix_server.log</code>
+
<pre>sudo tail -f /var/log/zabbix/zabbix_server.log</pre>
  
 
3. '''Проверка подключений''':
 
3. '''Проверка подключений''':
<code>sudo netstat -tlnp | grep :10050</code>
+
<pre>sudo netstat -tlnp | grep :10050</pre>
<code>sudo netstat -tlnp | grep :10051</code>
+
<pre>sudo netstat -tlnp | grep :10051</pre>
  
 
== Заключение ==
 
== Заключение ==

Текущая версия на 10:37, 15 октября 2025

Содержание

Настройка мониторинга сервера (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):

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