Как сделать, чтобы сайт работал стабильно и не "отлетал". Часть 1: настройка мониторинга ресурсов
Популярность VPS растет: более 30% компаний (в их числе Shopify, Dropbox и Reddit), держат всю инфраструктуру на них. Однако администраторы VPS сталкиваются с серьезными проблемами, связанными с производительностью, безопасностью и управляемостью. Часто эти проблемы возникают из-за неправильных настроек, что может привести к перегрузкам сервера и утечкам данных.
Финансовые потери от этих проблем могут быть значительными. Например, простой сервера из-за перегрузок влияет на доходы компании. Утечки данных могут повлечь за собой не только штрафы за нарушение законодательства о защите данных, но и потерю доверия клиентов. В итоге недостаточное внимание к настройкам VPS может стоить компании миллионов рублей, а также повлиять на репутацию.
В серии статей расскажем про то, как настроить и управлять VPS правильно: чтобы он работал стабильно и “летал”. Дадим полный набор инструментов для вебмастера.
Начнем с базы — мониторинга ресурсов. В первых двух статьях расскажем, как установить Zabbix, настроить и пользоваться им. В нем будем отслеживать все, что касается работы сервера. Zabbix подходит, потому что это бесплатное ПО, которое даст все, что нужно, чтобы следить за сервером в реальном времени.
Мониторинг ресурсов
Первое, что следует сделать, — настроить мониторинг ресурсов. Мониторинг CPU, памяти и места на диске выявит проблемы с производительностью. Zabbix покажет все что надо. Вы будете реагировать на проблемы, избегать простоя и поддерживать работоспособность сервера.
Так выглядит интерфейс Zabbix. Эта программа станет вашим набором бортовых датчиков.
Мониторинг VPS с Zabbix
Сейчас расскажем, как установить и работать с Zabbix на VPS.
По умолчанию все команды приводим для Ubuntu, как одной из популярнейших ОС для VPS. Перед установкой нужно включить SSH. Вот как это сделать на Ubuntu/Debian. Пропишите в терминале:
sudo apt install openssh-server
Запустите службу SSH:
sudo systemctl start ssh
Убедитесь, что SSH включён при загрузке:
sudo systemctl enable ssh
После включения вы сможете подключаться к VPS с помощью SSH-клиента, например:
ssh username@ip_address
Теперь можно перейти к установке Zabbix.
Устанавливаем Zabbix
Загрузим и установим Zabbix на VPS. Для этого пропишем следующие команды в терминале:
sudo wget https://repo.zabbix.com/zabbix/6.3/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.3-3%2Bubuntu22.04_all.deb
Эта команда загружает Zabbix для установки на сервер с правами суперпользователя
Далее продолжим вводить одну команду за другой:
sudo dpkg -i zabbix-release_6.3-3+ubuntu22.04_all.deb
sudo apt update
Команда sudo apt update обновляет информацию о доступных пакетах и их версиях в системе.
sudo apt install zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-sql-scripts zabbix-agent
Этой командой мы устанавливаем следующие компоненты:
- Zabbix Server с поддержкой MySQL для хранения данных.
- Zabbix Frontend на PHP для веб-интерфейса.
- Конфигурация для Apache веб-сервера.
- SQL-скрипты, необходимые для инициализации базы данных Zabbix.
- Zabbix Agent для мониторинга локальной системы.
Теперь установим SQL, если у вас его нет.
Установим MySQL
Введите в терминале:
sudo apt-get install mysql-server
Затем:
sudo systemctl start mysql
Откройте MySQL:
sudo mysql
Создадим базу данных Zabbix
Создадим базу данных с помощью последовательности команд:
create database zabbix character set utf8mb4 collate utf8mb4_bin;
Создайте пользователя Zabbix (не забудьте заменить 'password' на желаемый пароль):
create user zabbix@localhost identified by 'password';
Предоставьте привилегии пользователю Zabbix на базу данных:
grant all privileges on zabbix.* to zabbix@localhost;
Установите глобальную переменную (это необходимо для некоторых функций):
set global log_bin_trust_function_creators = 1;
Выйдите из MySQL:
quit;
Настроим базу данных
Далее распакуем файл server.sql.gz, который содержит SQL-скрипт для настройки базы данных Zabbix и выполняет его в MySQL. В результате создадим таблицы и начальные данные. Это нужно для правильной работы Zabbix. Не забудьте
sudo zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -p zabbix
Здесь введите пароль, который установили ранее.
После импорта схемы базы данных Zabbix отключим опцию log_bin_trust_function_creators.
sudo mysql
Далее:
set global log_bin_trust_function_creators = 0;
И:
quit;
Эта команда завершает сеанс работы с MySQL.
Отключение опции log_bin_trust_function_creators после импорта схемы базы данных позволяет ограничить возможности создания функций пользователями без соответствующих привилегий, что повышает безопасность базы данных и предотвращает потенциальные ошибки.
Отредактируем конфигурацию базы данных
Введем команду:
sudo vim /etc/zabbix/zabbix_server.conf
В файле найдем строку, которая отвечает за подключение к базе данных, и устанавливает пароль для пользователя базы данных Zabbix.
Вот эта эта строка: DBPassword=. После знака равенства нужно указать пароль, который установили для пользователя zabbix.
Далее командой systemctl restart zabbix-server zabbix-agent apache2 запустим Zabbix-сервер, Zabbix-агент и веб-сервер Apache.
Далее введем команду systemctl enable zabbix-server zabbix-agent apache2
Вас будут просить ввести пароль на каждом шаге. Просто скопируйте и вставляйте его.
После перезагрузки системы Zabbix-сервер, Zabbix-агент и Apache будут автоматически запущены.
Входим в Zabbix и начинаем работать
Пришло время войти в интерфейс программы. Он доступен через браузер по адресу IP вашего сервера.zabbix.setup.php
Далее вам нужно по шагам пройти настройку: выбрать пароль, часовой пояс, язык, имя сервера. В конце вы увидите долгожданное сообщение:
Ура! Мы установили Zabbix. Теперь можно заходить. Введите имя пользователя и пароль, которые установили ранее.
И наконец-то мы там, где нужно, — в рабочей панели Zabbix.
Что показывает Zabbix?
- Нагрузка на процессор (CPU). Это помогает увидеть, если сервер перегружен или какие-то приложения работают неэффективно.
- Использование памяти. Можно узнать, сколько оперативной памяти используется и сколько доступно. Это важно, чтобы сервер не завис из-за нехватки ресурсов.
- Дисковое пространство. Zabbix показывает, сколько места осталось на дисках.
- Сетевой трафик. Можно отслеживать, сколько данных поступает и уходит с сервера. Это помогает выявить несанкционированные подключения и понять, как используются сетевые ресурсы.
Если ищете надежный VPS, стоит обратить внимание на LikeVPS. Этот сервис предлагает аренду виртуальных серверов, которые идеально подойдут для ваших нужд. Вам не нужно беспокоиться о производительности — у них отличные ресурсы и стабильное соединение.
Кроме того, поддержка LikeVPS работает 24/7, это значит, что в любой момент вы можете получить помощь по любым вопросам. Зачем рисковать своим бизнесом с менее надежными провайдерами, когда вы можете выбрать сервис, который заботится о вашем успехе?
С LikeVPS вы сможете сосредоточиться на своем бизнесе, не отвлекаясь на проблемы с сервером. Попробуйте их услуги и убедитесь, что это правильный выбор для вашего проекта!
С установкой разобрались. А вот о том, как пользоваться Zabbix, расскажем в следующей статье: настройка и мониторинг сервера с помощью Zabix.