Datenbankeinrichtung · 5 min read · Oct 20, 2025

Einrichten von Opsview mit Amazon RDS

Einrichten von Opsview mit Amazon RDS

Die offizielle Website von Amazon sagt, dass RDS (Relational Database Service) “… ein Webdienst ist, der es einfach macht, eine relationale Datenbank in der Cloud einzurichten, zu betreiben und zu skalieren. Er bietet kosteneffiziente und anpassbare Kapazität, während er zeitaufwändige Aufgaben der Datenbankadministration verwaltet, sodass Sie sich auf Ihre Anwendungen und Ihr Geschäft konzentrieren können.”

Mit anderen Worten, Sie können eine Datenbank “in der Cloud” über die Amazon-Webdienste-Konsole bereitstellen und viele verschiedene Variablen wie “Instanzklasse” (wie leistungsstark soll sie sein?), automatische Backups, Multi-Zonen-Bereitstellung usw. angeben (viele coole Dinge für diejenigen, die eine hohe Verfügbarkeit und Resilienz sicherstellen möchten, eine Hauptsorge von Cloud-Nutzern).

Um eine neue RDS-Datenbank bereitzustellen, ist sehr wenig erforderlich. Zuerst (vorausgesetzt, Sie haben bereits ein AWS-Konto usw.) müssen Sie zum RDS-Bereich navigieren und auf “DB-Instanz starten” klicken, was eine Seite wie unten bereitstellt:

In unserem Beispiel verwenden wir MySQL (da wir Oracle oder Microsoft SQL Server nicht unterstützen). Nachdem wir auf “Auswählen” geklickt haben, müssen wir unsere “DB-Instanzdetails” wie unten in unserem Beispiel eingeben:

Wie oben zu sehen ist, haben wir “MySQL 5.6.12” und eine Instanzklasse von db.m1.medium gewählt (rein willkürliche Wahl in diesem Moment). Wir haben auch nur 10 GB Speicher, keine bereitgestellten IOPS und einige Parameter (Instanz-ID, Benutzername und Passwort) wie folgt gewählt:

  • DB-Instanzbezeichner: opsviewdbseperate
  • Master-Benutzername: opsviewrw
  • Master-Passwort: opsview123

Als Nächstes müssen wir einige weitere Details zur “Zusätzlichen Konfiguration” hinzufügen, wie Zone, Datenbankport, VPC (muss VPC verwenden, wenn wir Opsview Pro/Enterprise verwenden**), usw.

Sobald dies alles erledigt ist, haben wir eine vollständig bereitgestellte, 10 GB MySQL 5.6-Datenbank, die wie unten läuft:

Bevor wir mit dieser DB arbeiten können, müssen wir uns den Zugriff auf die Datenbank erlauben. Klicken wir also auf “Sicherheitsgruppen: Standard” und dann auf die “Lupe”, die uns zu einer Seite mit dem Titel “Details zur Sicherheitsgruppe” bringt. Hier müssen wir sicherstellen, dass unser CIDR-Bereich korrekt ist oder einfach die Sicherheitsgruppe auswählen, die wir anwenden möchten, um den eingehenden Zugriff zu erlauben. Und das sollte die Konfiguration auf der RDS-Seite erledigt sein!

Konfigurieren unserer RDS DB für Opsview

Als Nächstes müssen wir uns per SSH auf unseren Opsview-Server einloggen und die Datenbank von diesem auf die RDS DB migrieren – folgen Sie dem Migrationshandbuch hier.

Zuerst müssen wir Opsview stoppen, um einen “konsistenten Snapshot” zu erhalten:

/etc/init.d/opsview stop  
/etc/init.d/opsview-web stop

Als Nächstes müssen wir ein Backup erstellen und wiederherstellen. In dem Dokument steht, dass wir mysqldump verwenden, zu unserem DB-Host übertragen und dann in MySQL gunzipen sollten – aber das ist in RDS nicht möglich, da wir keinen Shell-Zugriff auf den darunter liegenden Server haben – also müssen wir ein wenig cleverer sein, wie wir das tun.

Zuerst testen wir, ob wir uns von Opsview aus in die RDS DB einloggen können:

root@opsview-master:/home/ubuntu# mysql -u opsviewrw -p -h opsviewdbseperate.ctw1cn2efche.eu-west-1.rds.amazonaws.com -P 3306
Passwort eingeben:  
Willkommen beim MySQL-Monitor. Befehle enden mit ; oder \g.  
Ihre MySQL-Verbindungs-ID ist 141  
Serverversion: 5.6.12 MySQL Community Server (GPL)  
Copyright (c) 2000, 2013, Oracle und/oder deren Tochtergesellschaften. Alle Rechte vorbehalten.  
Oracle ist ein eingetragenes Warenzeichen von Oracle Corporation und/oder deren Tochtergesellschaften. Andere Namen können Warenzeichen ihrer jeweiligen Eigentümer sein.  
Geben Sie 'help;' oder '\h' für Hilfe ein. Geben Sie '\c' ein, um die aktuelle Eingabeanweisung zu löschen.  
mysql>

Sieht gut aus für mich! Als Nächstes müssen wir die Datenbanken in der RDS-Datenbank erstellen – sehr einfach zu tun:

create database opsview;   
create database odw;  
create database runtime;  
create database dashboard;

Dies erstellt unsere 4 benötigten Datenbanken. Wir können jetzt den Shell-Zugriff auf die RDS DB verlassen und mysqldump auf dem Opsview-Server ausführen, um die Datenbanken zu dumpen und die Ausgabe in die entfernte RDS-Datenbank zu pipen, wie folgt:

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 dashboard
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 dashboard

Als Nächstes müssen wir /usr/local/nagios/etc/opsview.conf auf unserem Opsview-Master bearbeiten, um auf die neue RDS DB zu verweisen:

root@opsview-master:/home/ubuntu# cat /usr/local/nagios/etc/opsview.conf
#
# Diese Datei überschreibt Variablen aus opsview.defaults
# Diese Datei wird bei Updates nicht überschrieben
#
$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";

Fast geschafft! Als Nächstes müssen wir die Zugriffsberechtigungen auf der RDS-Datenbank einrichten. Wieder können wir sie nicht in eine Datei exportieren, die Datei übertragen und importieren – also müssen wir clever mit dem Pipen sein:

/usr/local/nagios/bin/db_mysql -t | mysql -u opsviewrw -popsview123 -h opsviewdbseperate.ctw1cn2efche.eu-west-1.rds.amazonaws.com -P 3306

Dies wird unsere Anmeldeinformationen abrufen und in die RDS DB importieren (ein Snapshot davon, wie diese Anmeldeinformationen aussehen, ist unten):

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';

Schließlich müssen wir die Opsview-Konfiguration neu generieren und den Webdienst erneut starten, indem wir die Befehle verwenden:

/usr/local/nagios/bin/rc.opsview gen_config /etc/init.d/opsview-web start

Und das ist die Konfiguration abgeschlossen. Wir können den lokal laufenden MySQL-Server stoppen (service mysql stop, usw. je nach Ihrem Betriebssystem) und uns dann bei Opsview anmelden, um zu sehen, dass es in seiner ganzen Pracht läuft, jetzt auf RDS-Speicher:

Ich habe ein Beispiel wie oben verwendet, um zu zeigen, dass historische Daten migriert wurden (was es beweist) und dass es keinen Ausfall in den Daten gibt (keine massiven Verluste usw.).

Abschließende Gedanken

Das ist also eine schnelle und einfache Methode, um Ihre Opsview DB zu Amazon RDS zu migrieren – um Ihnen eine bessere Skalierbarkeit, Zuverlässigkeit und Benutzerfreundlichkeit für Ihr Datenbank-Backend zu ermöglichen, wenn Sie in der Cloud arbeiten. Als Nächstes werde ich mir ansehen, wie man Opsview in einer VPC ausführt und wie wir das einrichten.

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.