Настройка базы данных · 5 min read · Oct 20, 2025
Настройка Opsview с Amazon RDS
Настройка Opsview с Amazon RDS
Официальный сайт Amazon говорит, что RDS (Служба реляционных баз данных) — это “… веб-служба, которая упрощает настройку, эксплуатацию и масштабирование реляционной базы данных в облаке. Она предоставляет экономически эффективную и масштабируемую мощность, управляя трудоемкими задачами администрирования баз данных, освобождая вас для сосредоточения на ваших приложениях и бизнесе.”
Другими словами, вы можете развернуть базу данных “в облаке” через консоль веб-служб Amazon и указать множество различных переменных, таких как “класс экземпляра” (насколько мощным он должен быть?), автоматические резервные копии, развертывание в нескольких зонах и т. д. (много интересных вещей для тех, кто хочет обеспечить высокую доступность и устойчивость, что является основной заботой облачных пользователей).
Для развертывания новой базы данных RDS требуется очень мало. Сначала (предполагая, что у вас уже есть учетная запись AWS и т. д.) вам нужно перейти в раздел RDS и нажать “Запустить экземпляр базы данных”, что приведет к странице, как показано ниже:

В нашем примере мы используем MySQL (так как мы не поддерживаем Oracle или Microsoft SQL Server). После нажатия “Выбрать” нам нужно ввести наши “данные экземпляра базы данных”, как показано ниже в нашем примере:

Как мы видим выше, мы выбрали “MySQL 5.6.12” и класс экземпляра db.m1.medium (чисто произвольный выбор на данный момент). Мы также выбрали всего 10 ГБ хранилища, без выделенных IOPS и несколько параметров (идентификатор экземпляра, имя пользователя и пароль) как ниже:
- Идентификатор экземпляра базы данных: opsviewdbseperate
- Имя пользователя администратора: opsviewrw
- Пароль администратора: opsview123
Далее нам нужно выбрать некоторые дополнительные детали в “Дополнительной конфигурации”, такие как зона, порт базы данных, VPC (необходимо использовать VPC, если мы используем Opsview Pro/Enterprise**), и т. д.
После того как все это будет сделано, у нас будет полностью настроенная база данных MySQL 5.6 на 10 ГБ, работающая как показано ниже:

Прежде чем мы сможем начать использовать эту базу данных, нам нужно предоставить себе доступ к базе данных, поэтому давайте нажмем на “Группы безопасности: по умолчанию”, а затем нажмем на “лупу”, которая приведет нас на страницу с заголовком “Детали группы безопасности”. Здесь нам нужно убедиться в нашем диапазоне CIDR или просто выбрать группу безопасности, которую мы хотим применить для разрешения входящего доступа. И это должно быть конфигурацией на стороне RDS!
Настройка нашей базы данных RDS для Opsview
Далее мы должны подключиться по SSH к нашему серверу Opsview и перенести базу данных с него на базу данных RDS — следуя руководству по миграции здесь.
Сначала мы должны остановить Opsview, чтобы получить “консистентный снимок”:
/etc/init.d/opsview stop
/etc/init.d/opsview-web stopДалее нам нужно сделать резервное копирование и восстановление. В документе говорится, что мы должны использовать mysqldump, передать его на наш хост базы данных, а затем gunzip в MySQL — но это невозможно в RDS, так как у нас нет доступа к оболочке на сервере под ним — поэтому мы должны быть немного умнее в том, как мы это делаем.
Сначала давайте проверим, можем ли мы войти в базу данных RDS из Opsview:
root@opsview-master:/home/ubuntu# mysql -u opsviewrw -p -h opsviewdbseperate.ctw1cn2efche.eu-west-1.rds.amazonaws.com -P 3306Введите пароль:
Добро пожаловать в монитор MySQL. Команды заканчиваются ; или \g.
Ваш идентификатор соединения MySQL: 141
Версия сервера: 5.6.12 MySQL Community Server (GPL)
Авторские права (c) 2000, 2013, Oracle и/или ее дочерние компании. Все права защищены.
Oracle является зарегистрированной торговой маркой корпорации Oracle и/или ее дочерних компаний. Другие названия могут быть товарными знаками их соответствующих владельцев.
Введите 'help;' или '\h' для получения справки. Введите '\c', чтобы очистить текущее вводимое выражение.
mysql>Выглядит хорошо! Далее нам нужно создать базы данных на базе данных RDS — это очень просто:
create database opsview;
create database odw;
create database runtime;
create database dashboard;Это создает наши 4 необходимые базы данных. Теперь мы можем выйти из оболочки доступа к базе данных RDS и запустить mysqldump на сервере Opsview, чтобы сбросить базы данных и перенаправить вывод в удаленную базу данных RDS, как показано ниже:
mysqldump -u root -p opsview | mysql -u opsviewrw -popsview123 --host=opsviewdbseperate.ctw1cn2efche.eu-west-1.rds.amazonaws.com -P 3306 -C opsview
mysqldump -u root -p runtime | mysql -u opsviewrw -popsview123 --host=opsviewdbseperate.ctw1cn2efche.eu-west-1.rds.amazonaws.com -P 3306 -C runtime
mysqldump -u root -p odw | mysql -u opsviewrw -popsview123 --host=opsviewdbseperate.ctw1cn2efche.eu-west-1.rds.amazonaws.com -P 3306 -C odw
mysqldump -u root -p dashboard | mysql -u opsviewrw -popsview123 --host=opsviewdbseperate.ctw1cn2efche.eu-west-1.rds.amazonaws.com -P 3306 -C dashboardmysqldump -u root -p opsview | mysql -u opsviewrw -popsview123 --host=opsviewdbseperate.ctw1cn2efche.eu-west-1.rds.amazonaws.com -P 3306 -C opsview
mysqldump -u root -p runtime | mysql -u opsviewrw -popsview123 --host=opsviewdbseperate.ctw1cn2efche.eu-west-1.rds.amazonaws.com -P 3306 -C runtime
mysqldump -u root -p odw | mysql -u opsviewrw -popsview123 --host=opsviewdbseperate.ctw1cn2efche.eu-west-1.rds.amazonaws.com -P 3306 -C odw
mysqldump -u root -p dashboard | mysql -u opsviewrw -popsview123 --host=opsviewdbseperate.ctw1cn2efche.eu-west-1.rds.amazonaws.com -P 3306 -C dashboardДалее нам нужно отредактировать /usr/local/nagios/etc/opsview.conf на нашем сервере Opsview, чтобы указать на новую базу данных RDS:
root@opsview-master:/home/ubuntu# cat /usr/local/nagios/etc/opsview.conf#
# Этот файл переопределяет переменные из opsview.defaults
# Этот файл не будет перезаписан при обновлениях
#
$dbhost = "opsviewdbseperate.ctw1cn2efche.eu-west-1.rds.amazonaws.com";
$odw_dbhost = "opsviewdbseperate.ctw1cn2efche.eu-west-1.rds.amazonaws.com";
$runtime_dbhost = "opsviewdbseperate.ctw1cn2efche.eu-west-1.rds.amazonaws.com";
$reports_dbhost = "opsviewdbseperate.ctw1cn2efche.eu-west-1.rds.amazonaws.com";
$dashboard_dbhost = "opsviewdbseperate.ctw1cn2efche.eu-west-1.rds.amazonaws.com";Почти готово! Далее нам нужно настроить разрешения доступа к базе данных RDS. Опять же, мы не можем экспортировать это в файл, передать файл и импортировать его — поэтому нам нужно быть умными с перенаправлением:
/usr/local/nagios/bin/db_mysql -t | mysql -u opsviewrw -popsview123 -h opsviewdbseperate.ctw1cn2efche.eu-west-1.rds.amazonaws.com -P 3306Это получит наши учетные данные и импортирует их в базу данных RDS (снимок того, как выглядят эти учетные данные, приведен ниже):
GRANT ALL ON opsview.* TO opsview@localhost IDENTIFIED BY '508E67C6-DA75-11E2-882D-94E35B00F56E' WITH GRANT OPTION; GRANT ALL ON opsview.* TO opsview@'%' IDENTIFIED BY '508E67C6-DA75-11E2-882D-94E35B00F56E' WITH GRANT OPTION; GRANT SELECT ON opsview.* TO odw@'%' IDENTIFIED BY '508E67C6-DA75-11E2-882D-94E35B00F56E';Наконец, нам нужно заново сгенерировать конфигурацию Opsview и снова запустить веб-службу, используя команды:
/usr/local/nagios/bin/rc.opsview gen_config /etc/init.d/opsview-web startИ это конфигурация завершена. Мы можем остановить локально работающий сервер MySQL (service mysql stop и т. д. в зависимости от вашей ОС), а затем войти в Opsview, чтобы увидеть его работающим во всей своей красе, теперь на хранилище RDS:

Я использовал пример, как выше, чтобы показать, что исторические данные мигрированы (доказательство этого) и что нет сбоев в данных (нет больших потерь и т. д.).
Заключительные мысли
Итак, это быстрый и простой способ миграции вашей базы данных Opsview на Amazon RDS — чтобы обеспечить вам лучшую масштабируемость, надежность и удобство использования для вашего бэкенда базы данных, если вы работаете в облаке. В следующий раз я рассмотрю запуск Opsview в VPC и как мы это настраиваем.
Get new posts in your inbox
No spam. Unsubscribe anytime.