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

Материал из ARK-HOSTER.RU | Документация хостинга
Перейти к: навигация, поиск
(Новая страница: «= Установка и настройка Zabbix для мониторинга = == 1. Подготовка системы == * Войдите в систем…»)
 
 
Строка 6: Строка 6:
 
* Убедитесь, что у вас есть доступ к серверу через SSH или консоль.
 
* Убедитесь, что у вас есть доступ к серверу через SSH или консоль.
  
== 2. Установка зависимостей ===
+
== 2. Установка зависимостей ==
  
 
=== Обновление системы ===
 
=== Обновление системы ===
  
 
1. Обновите систему:
 
1. Обновите систему:
<code>sudo apt update</code>
+
<pre>sudo apt update</pre>
  
 
2. Установите необходимые пакеты:
 
2. Установите необходимые пакеты:
<code>sudo apt install -y wget curl gnupg2 software-properties-common</code>
+
<pre>sudo apt install -y wget curl gnupg2 software-properties-common</pre>
  
 
=== Установка Apache ===
 
=== Установка Apache ===
  
 
1. Установите Apache:
 
1. Установите Apache:
<code>sudo apt install -y apache2</code>
+
<pre>sudo apt install -y apache2</pre>
  
 
2. Запустите и включите автозапуск:
 
2. Запустите и включите автозапуск:
<code>sudo systemctl start apache2</code>
+
<pre>sudo systemctl start apache2</pre>
<code>sudo systemctl enable apache2</code>
+
<pre>sudo systemctl enable apache2</pre>
  
 
3. Включите необходимые модули:
 
3. Включите необходимые модули:
<code>sudo a2enmod rewrite</code>
+
<pre>sudo a2enmod rewrite</pre>
<code>sudo a2enmod ssl</code>
+
<pre>sudo a2enmod ssl</pre>
  
 
=== Установка MySQL ===
 
=== Установка MySQL ===
  
 
1. Установите MySQL:
 
1. Установите MySQL:
<code>sudo apt install -y mysql-server</code>
+
<pre>sudo apt install -y mysql-server</pre>
  
 
2. Запустите и включите автозапуск:
 
2. Запустите и включите автозапуск:
<code>sudo systemctl start mysql</code>
+
<pre>sudo systemctl start mysql</pre>
<code>sudo systemctl enable mysql</code>
+
<pre>sudo systemctl enable mysql</pre>
  
 
3. Настройте безопасность MySQL:
 
3. Настройте безопасность MySQL:
<code>sudo mysql_secure_installation</code>
+
<pre>sudo mysql_secure_installation</pre>
  
 
=== Установка PHP ===
 
=== Установка PHP ===
  
 
1. Установите PHP и необходимые модули:
 
1. Установите PHP и необходимые модули:
<code>sudo apt install -y php php-mysql php-curl php-gd php-mbstring php-xml php-zip php-intl php-bcmath php-ldap</code>
+
<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:
<code>sudo nano /etc/php/8.1/apache2/php.ini</code>
+
<pre>sudo nano /etc/php/8.1/apache2/php.ini</pre>
  
 
3. Измените параметры:
 
3. Измените параметры:
<code>max_execution_time = 300
+
<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
</code>
+
</pre>
  
 
4. Перезапустите Apache:
 
4. Перезапустите Apache:
<code>sudo systemctl restart apache2</code>
+
<pre>sudo systemctl restart apache2</pre>
  
== 3. Установка Zabbix ===
+
== 3. Установка Zabbix ==
  
 
=== Добавление репозитория Zabbix ===
 
=== Добавление репозитория Zabbix ===
  
 
1. Скачайте и установите ключ репозитория:
 
1. Скачайте и установите ключ репозитория:
<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>
  
 
2. Обновите список пакетов:
 
2. Обновите список пакетов:
<code>sudo apt update</code>
+
<pre>sudo apt update</pre>
  
 
=== Установка Zabbix Server ===
 
=== Установка Zabbix Server ===
  
 
1. Установите Zabbix Server, Frontend и Agent:
 
1. Установите 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>
  
 
2. Проверьте установленные пакеты:
 
2. Проверьте установленные пакеты:
<code>dpkg -l | grep zabbix</code>
+
<pre>dpkg -l | grep zabbix</pre>
  
== 4. Настройка базы данных ===
+
== 4. Настройка базы данных ==
  
 
=== Создание базы данных ===
 
=== Создание базы данных ===
  
 
1. Подключитесь к MySQL:
 
1. Подключитесь к MySQL:
<code>sudo mysql -u root -p</code>
+
<pre>sudo mysql -u root -p</pre>
  
 
2. Создайте базу данных и пользователя:
 
2. Создайте базу данных и пользователя:
<code>CREATE DATABASE zabbix CHARACTER SET utf8 COLLATE utf8_bin;
+
<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;</code>
+
EXIT;</pre>
  
 
=== Импорт схемы базы данных ===
 
=== Импорт схемы базы данных ===
  
 
1. Импортируйте схему базы данных:
 
1. Импортируйте схему базы данных:
<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>
  
 
2. Проверьте импорт:
 
2. Проверьте импорт:
<code>mysql -u zabbix -p -e "USE zabbix; SHOW TABLES;"</code>
+
<pre>mysql -u zabbix -p -e "USE zabbix; SHOW TABLES;"</pre>
  
== 5. Настройка Zabbix Server ===
+
== 5. Настройка Zabbix Server ==
  
 
=== Конфигурация сервера ===
 
=== Конфигурация сервера ===
  
 
1. Отредактируйте конфигурацию Zabbix Server:
 
1. Отредактируйте конфигурацию Zabbix Server:
<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
Строка 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
</code>
+
</pre>
  
 
=== Запуск Zabbix Server ===
 
=== Запуск Zabbix Server ===
  
 
1. Запустите и включите автозапуск:
 
1. Запустите и включите автозапуск:
<code>sudo systemctl start zabbix-server</code>
+
<pre>sudo systemctl start zabbix-server</pre>
<code>sudo systemctl enable zabbix-server</code>
+
<pre>sudo systemctl enable zabbix-server</pre>
  
 
2. Проверьте статус:
 
2. Проверьте статус:
<code>sudo systemctl status zabbix-server</code>
+
<pre>sudo systemctl status zabbix-server</pre>
  
 
3. Проверьте логи:
 
3. Проверьте логи:
<code>sudo tail -f /var/log/zabbix/zabbix_server.log</code>
+
<pre>sudo tail -f /var/log/zabbix/zabbix_server.log</pre>
  
== 6. Настройка веб-интерфейса ===
+
== 6. Настройка веб-интерфейса ==
  
 
=== Настройка Apache ===
 
=== Настройка Apache ===
  
 
1. Создайте конфигурацию для Zabbix:
 
1. Создайте конфигурацию для Zabbix:
<code>sudo nano /etc/apache2/sites-available/zabbix.conf</code>
+
<pre>sudo nano /etc/apache2/sites-available/zabbix.conf</pre>
  
 
2. Добавьте конфигурацию:
 
2. Добавьте конфигурацию:
<code><VirtualHost *:80>
+
<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>
</code>
+
</pre>
  
 
3. Включите сайт:
 
3. Включите сайт:
<code>sudo a2ensite zabbix</code>
+
<pre>sudo a2ensite zabbix</pre>
<code>sudo a2dissite 000-default</code>
+
<pre>sudo a2dissite 000-default</pre>
  
 
4. Перезапустите Apache:
 
4. Перезапустите Apache:
<code>sudo systemctl restart apache2</code>
+
<pre>sudo systemctl restart apache2</pre>
  
 
=== Настройка PHP для Zabbix ===
 
=== Настройка PHP для Zabbix ===
  
 
1. Создайте конфигурацию PHP для Zabbix:
 
1. Создайте конфигурацию PHP для Zabbix:
<code>sudo nano /etc/php/8.1/apache2/conf.d/zabbix.ini</code>
+
<pre>sudo nano /etc/php/8.1/apache2/conf.d/zabbix.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
Строка 198: Строка 198:
 
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>
  
== 7. Первоначальная настройка ===
+
== 7. Первоначальная настройка ==
  
 
=== Веб-установка ===
 
=== Веб-установка ===
  
 
1. Откройте браузер и перейдите по адресу:
 
1. Откройте браузер и перейдите по адресу:
<code>http://your-server-ip/zabbix</code>
+
<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:
<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>
  
 
=== Настройка файрвола ===
 
=== Настройка файрвола ===
  
 
1. Разрешите порт Zabbix Agent:
 
1. Разрешите порт Zabbix Agent:
<code>sudo ufw allow 10050/tcp</code>
+
<pre>sudo ufw allow 10050/tcp</pre>
  
 
2. Проверьте статус:
 
2. Проверьте статус:
<code>sudo ufw status</code>
+
<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. Создайте скрипт резервного копирования:
<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)
  
# Создание директории для бэкапа
+
\# Создание директории для бэкапа
 
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"
</code>
+
</pre>
  
 
3. Сделайте скрипт исполняемым:
 
3. Сделайте скрипт исполняемым:
<code>sudo chmod +x /usr/local/bin/zabbix-backup.sh</code>
+
<pre>sudo chmod +x /usr/local/bin/zabbix-backup.sh</pre>
  
 
4. Добавьте в crontab:
 
4. Добавьте в crontab:
<code>sudo crontab -e</code>
+
<pre>sudo crontab -e</pre>
  
 
5. Добавьте задачу:
 
5. Добавьте задачу:
<code>0 3 * * * /usr/local/bin/zabbix-backup.sh</code>
+
<pre>0 3 * * * /usr/local/bin/zabbix-backup.sh</pre>
  
== 13. Мониторинг и обслуживание ===
+
== 13. Мониторинг и обслуживание ==
  
 
=== Настройка логирования ===
 
=== Настройка логирования ===
  
 
1. Настройте ротацию логов:
 
1. Настройте ротацию логов:
<code>sudo nano /etc/logrotate.d/zabbix</code>
+
<pre>sudo nano /etc/logrotate.d/zabbix</pre>
  
 
2. Добавьте конфигурацию:
 
2. Добавьте конфигурацию:
<code>/var/log/zabbix/*.log {
+
<pre>/var/log/zabbix/*.log {
 
     daily
 
     daily
 
     missingok
 
     missingok
Строка 446: Строка 446:
 
     endscript
 
     endscript
 
}
 
}
</code>
+
</pre>
  
 
=== Создание скрипта мониторинга ===
 
=== Создание скрипта мониторинга ===
  
 
1. Создайте скрипт мониторинга:
 
1. Создайте скрипт мониторинга:
<code>sudo nano /usr/local/bin/zabbix-monitor.sh</code>
+
<pre>sudo nano /usr/local/bin/zabbix-monitor.sh</pre>
  
 
2. Добавьте содержимое:
 
2. Добавьте содержимое:
<code>#!/bin/bash
+
<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
</code>
+
</pre>
  
 
3. Сделайте скрипт исполняемым:
 
3. Сделайте скрипт исполняемым:
<code>sudo chmod +x /usr/local/bin/zabbix-monitor.sh</code>
+
<pre>sudo chmod +x /usr/local/bin/zabbix-monitor.sh</pre>
  
 
4. Добавьте в crontab:
 
4. Добавьте в crontab:
<code>sudo crontab -e</code>
+
<pre>sudo crontab -e</pre>
  
 
5. Добавьте задачу:
 
5. Добавьте задачу:
<code>*/5 * * * * /usr/local/bin/zabbix-monitor.sh</code>
+
<pre>*/5 * * * * /usr/local/bin/zabbix-monitor.sh</pre>
  
== 14. Устранение неполадок ===
+
== 14. Устранение неполадок ==
  
 
=== Частые проблемы ===
 
=== Частые проблемы ===
  
 
1. '''Zabbix Server не запускается''':
 
1. '''Zabbix Server не запускается''':
* Проверьте конфигурацию: <code>sudo zabbix_server -t</code>
+
* Проверьте конфигурацию: <pre>sudo zabbix_server -t</pre>
* Проверьте логи: <code>sudo tail -f /var/log/zabbix/zabbix_server.log</code>
+
* Проверьте логи: <pre>sudo tail -f /var/log/zabbix/zabbix_server.log</pre>
 
* Проверьте подключение к базе данных
 
* Проверьте подключение к базе данных
  
 
2. '''Веб-интерфейс не загружается''':
 
2. '''Веб-интерфейс не загружается''':
* Проверьте статус Apache: <code>sudo systemctl status apache2</code>
+
* Проверьте статус Apache: <pre>sudo systemctl status apache2</pre>
 
* Проверьте права доступа к файлам
 
* Проверьте права доступа к файлам
 
* Проверьте конфигурацию PHP
 
* Проверьте конфигурацию PHP
Строка 509: Строка 509:
  
 
1. '''Проверка статуса сервисов''':
 
1. '''Проверка статуса сервисов''':
<code>sudo systemctl status zabbix-server</code>
+
<pre>sudo systemctl status zabbix-server</pre>
<code>sudo systemctl status zabbix-agent</code>
+
<pre>sudo systemctl status zabbix-agent</pre>
<code>sudo systemctl status apache2</code>
+
<pre>sudo systemctl status apache2</pre>
  
 
2. '''Проверка логов''':
 
2. '''Проверка логов''':
<code>sudo tail -f /var/log/zabbix/zabbix_server.log</code>
+
<pre>sudo tail -f /var/log/zabbix/zabbix_server.log</pre>
<code>sudo tail -f /var/log/apache2/error.log</code>
+
<pre>sudo tail -f /var/log/apache2/error.log</pre>
  
 
3. '''Проверка подключения к базе данных''':
 
3. '''Проверка подключения к базе данных''':
<code>mysql -u zabbix -p -e "SELECT 1;"</code>
+
<pre>mysql -u zabbix -p -e "SELECT 1;"</pre>
  
 
4. '''Проверка портов''':
 
4. '''Проверка портов''':
<code>sudo netstat -tlnp | grep :10051</code>
+
<pre>sudo netstat -tlnp | grep :10051</pre>
<code>sudo netstat -tlnp | grep :10050</code>
+
<pre>sudo netstat -tlnp | grep :10050</pre>
  
 
== Заключение ==
 
== Заключение ==

Текущая версия на 10:45, 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

\# Настройки производительности
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):

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