Die Überwachung von Datenbanken ist wichtig, um die sichere Funktion und optimale Performance von Applikationen zu gewährleisten. Oracle Database (oder kurz Oracle) ist einer der führenden Anbieter von Datenbankmanagementsystemen (DBMS) für relationale Datenbanken weltweit. Die Überwachung von Oracle-SQL gehört daher zu den Kernaufgaben von vielen IT-Teams.

In diesem Tutorial zeige ich Ihnen, wie Sie Oracle-Datenbanken mit Checkmk in wenigen Minuten überwachen. Ich gehe mit Ihnen dabei alle nötigen Schritte anhand einer Beispielumgebung durch. Sie brauchen keine Vorkenntnisse mit der Überwachung von Oracle, da Checkmk die Erfassung der wichtigsten Monitoring-Services übernimmt und zudem Schwellwerte für Warnungen und kritische Zustände vorgibt.

Wenn Sie stattdessen allgemeine Informationen ohne Bezug zu Checkmk über die Überwachung von Datenbanken suchen, empfehle ich Ihnen diesen Artikel über das SQL-Server-Monitoring. Außerdem finden Sie hier einen Übersichtsartikel über das Server-Monitoring.

Voraussetzungen für das Oracle-Monitoring mit Checkmk

Viele Nutzer:innen überwachen Oracle und andere Datenbanken mit Checkmk, da es Skalierbarkeit und Flexibilität mit einer einfachen Konfiguration vereint. Checkmk bringt für Oracle 27 Monitoring-Checks mit und ist damit in der Lage, eine breite Palette an Überwachungsdaten automatisch zu erfassen. Zudem können fortgeschrittene Nutzer:innen eigene SQL-Abfragen (Custom SQLs) erstellen und einbinden. Eine Übersicht und weitere Details über die Oracle-Plugins finden Sie im Katalog der Checkplugins.

Checkmk unterstützt zudem die Überwachung aller gängigen Betriebssysteme (Linux, AIX, Solaris, HP-UX und Windows). Die Checkmk Agenten erfassen automatisch sämtliche wichtigen Services, um eine optimale Performance des Server-Betriebssystems zu gewährleisten.

Neben der Überwachung der Oracle-Application-Performance unterstützt Checkmk die Überwachung von Hardware-Servern und gängigen Cloud-Anbietern wie AWS oder Microsoft Azure. Genauso können Sie Virtualisierungs-Plattformen wie VMware oder Proxmox überwachen. Zusätzlich unterstützt Checkmk die Überwachung von Datenbanken in der Oracle Cloud Infrastructure (OCI). Dieser holistische Ansatz ist wichtig, denn Probleme von Hardware- und Cloud-Servern, sowie Virtualisierungsplattformen können zu Problemen mit Ihrer Datenbank führen und gehören deshalb ebenfalls in das Monitoring.

In diesem Tutorial gehe ich deshalb nicht nur auf die Überwachung der Oracle-Datenbank ein, sondern zeige Ihnen auch, wie Sie das Betriebssystem und die Server-Hardware überwachen. Durch sinnvolle Vorgaben für Schwellwerte und zahlreiche Automatisierungs-Features dauert die Einrichtung in Checkmk nur ein paar Minuten.

Allgemeine Anforderungen an Oracle-Monitoring-Tools

Sie benötigen eine laufende Checkmk Instanz, mit der Sie die Monitoring-Daten von Ihren Oracle-Instanzen abrufen. Wenn Sie noch keine Checkmk Umgebung aufgesetzt haben, können Sie mit dem Checkmk Trial sofort loslegen. Folgen Sie diesem Video-Tutorial und Ihre Checkmk Instanz ist innerhalb von wenigen Minuten startklar.

Natürlich brauchen Sie zudem eine Oracle-Datenbank, die Sie überwachen möchten. Für diese Datenbank brauchen Sie die Freigabe, um neue Datenbank-Nutzer-Accounts anzulegen. In meinem Fall läuft meine Oracle-Datenbank Version 19.0 auf einem Hardware-Server, als Betriebssystem nutze ich Rocky Linux Version 8.0.

Außerdem überwache ich eine weitere Oracle-Instanz, bei der ich keinen Zugriff auf die Hardware und das Betriebssystem habe. Dies ist zum Beispiel der Fall, wenn Sie Angebote wie Oracle Database Service for Azure nutzen. In diesem Oracle-Monitoring-Tutorial nutzen Sie die Agentenbäckerei von Checkmk, um das Oracle-Monitoring-Plugin zu konfigurieren. Das beugt Syntaxfehlern vor und spart Zeit. Die Agentenbäckerei ist ein Feature der Checkmk Enterprise Edition und somit in dem Checkmk Trial enthalten. Nutzen Sie dagegen die Checkmk Raw Edition, müssen Sie stattdessen das Plugin über der Kommandozeile konfigurieren. Folgen Sie dazu der Anleitung im Handbuch-Artikel zur Überwachung von Oracle-Datenbanken.

Schritt 1: Zugangskonten für das Oracle-Monitoring konfigurieren

Damit Checkmk Daten von Oracle abrufen kann, müssen Sie für jede zu überwachende Datenbank ein Benutzerkonto mit Leserechten anlegen. Nutzen Sie einen Real Application Cluster (RAC), reicht es, das Benutzerkonto nur einmal anzulegen. Allerdings müssen Sie später den Checkmk Agenten samt Agenten-Plugin auf jedem Knoten des Oracle-Clusters installieren und konfigurieren.

Die Vorgehensweise unterscheidet sich je nachdem, welche Oracle-Umgebung Sie nutzen. Details können Sie jedoch in der Oracle-Dokumentation nachlesen. Für meine Oracle-Instanz auf meinem lokalen Server melde ich mich zum Beispiel über die Kommandozeile mit SQL Plus an, natürlich können Sie auch ein anderes Tool nutzen.

In meinem Beispiel wechsele ich dafür auf den Oracle-Benutzer und logge mich als sysdba ein. Eine solch hohe Freigabe ist kein Muss, Sie brauchen aber einen Zugang mit ausreichenden Rechten, um ein neues Benutzerkonto zu erstellen.

su - oracle
sqlplus / as sysdba

Hier erstellen Sie jetzt das Benutzerkonto für Checkmk. In meinem Fall habe ich es “monitoring” genannt.

create user monitoring identified by myPassword

Nach der Erstellung des Benutzerkontos weisen Sie dem Nutzerkonto Zugangsrechte und Rechte zum Starten einer Session zu.

grant select_catalog_role to monitoring
grant create session to monitoring

Sie können die Verbindung jetzt prüfen mit connect:

connect monitoring/myPassword

In meinem Fall ist der Zugriff erfolgreich. “myPassword” ist nur ein Platzhalter. Sie sollten in jedem Fall ein starkes Passwort mit ausreichender Länge und einer Mischung aus Groß- und Kleinbuchstaben, Zahlen und Sonderzeichen nutzen.

Kommandozeile, welche die Erstellung eines neuen Benutzers und einen Verbindungstest zeigt

Das Monitoring benötigt für jede Oracle-Datenbank einen Zugang, daher erstellen Sie für jede Datenbank-Instanz ein Benutzerkonto. In meinem Fall wiederhole ich den Vorgang für meine andere Oracle-Instanz. Ich empfehle für jede Datenbank immer die gleichen Login-Daten zu nutzen. Dies erleichtert Ihnen später in Checkmk die Konfiguration der Oracle-Monitoring-Regel.

Schritt 2: Oracle-Monitoring-Regel in Checkmk konfigurieren

Wechseln Sie jetzt zu Ihrer Checkmk Instanz, um das Oracle-Agentenplugin vorzubereiten, welches Sie später auf Ihrem Oracle-Server installieren. Dazu nutzen Sie die Agentenregel “Oracle databases”.

  • Suchen Sie unter Setup nach “oracle database”. Klicken Sie auf “ORACLE databases (Linux, Solaris, AIX, Windows)”.
  • Klicken Sie auf Add rule.

Sie sehen nun viele Einstellungsmöglichkeiten. Da Checkmk bereits gute Default-Vorgaben hat, müssen Sie nur wenige Optionen aktivieren.

  • Rule Properties können Sie überspringen, Sie müssen hier keine Änderungen vornehmen. Diese Optionen dienen vor allem dem Hinzufügen von zusätzlichen Informationen für diese spezifische Regel.
  • Die Konfiguration nehmen Sie unter ORACLE databases (Linux, Solaris, AIX, Windows) vor:
    • Bei Activation aktivieren Sie die Checkbox und belassen die Voreinstellung “Deploy ORACLE database plugin”.
    • Checkmk geht bei Linux-Systemen standardmäßig davon aus, dass Ihr Oracle-Server xinetd als Super-Server-Daemon nutzt. Die Option Host uses xinetd or systemd (Linux/AIX/Solaris only) müssen Sie anpassen, wenn Ihr Datenbank-Host-Server, wie in meinem Fall, auf systemd setzt. Interval können Sie bei einer Minute belassen.
    • Aktivieren Sie Login Defaults. Sie sehen dann eine Reihe von Login-Möglichkeiten.
      • Aktivieren Sie Authentication method, um sich über ein normales Benutzerkonto einzuloggen. Belassen Sie dazu die Voreinstellung “Login with the following credentials”.
      • Fügen Sie bei User das Benutzerkonto ein, in meinem Fall “monitoring”, gefolgt vom zugehörigen Kennwort bei Password.

In den meisten Fällen sind für den Zugang keine weiteren Konfigurationen nötig. In meinem Fall sieht die Regel wie folgt aus.

Bearbeiten der Oracle-Regel in Checkmk zur Überwachung eines lokalen SQL-Servers

Unter Conditions brauchen Sie keine weiteren Einstellungen anpassen, da Agentenregeln die Konfiguration des Agenten-Paketes und nicht der Monitoring-Hosts betreffen.

  • Speichern Sie die Regel mit Save.

Damit ist die Agentenregel bereits fertig konfiguriert. Checkmk kommt mit sinnvollen Standardeinstellungen. Im nächsten Schritt backen und installieren Sie den Agenten. Trotzdem möchte ich Ihnen im folgenden Teil die weiteren Funktionen der Oracle-Monitoring-Regel erläutern. Mit diesen können Sie bei Bedarf Ihr Oracle-Monitoring anpassen, in diesem Tutorial benötigen Sie diese Optionen jedoch nicht. Wenn Sie keine Anpassung wünschen, können Sie direkt zur Paketierung der Agenten fortschreiten.

Konfigurationsoptionen für den Zugang zu Oracle-Datenbank

Die ersten sieben Konfigurationspunkte unter ORACLE databases (Linux, Solaris, AIX, Windows) betreffen den Zugang von Checkmk zu Ihrer Datenbank.

Der wichtigste Punkt ist Login Defaults, da Sie hier entscheiden, wie Checkmk sich auf der zu überwachenden Oracle-Datenbank anmeldet. Unter Authentication method können Sie als Alternative zu einem Benutzerkonto eine Oracle Wallet zur Anmeldung nutzen. Weitere Details zum Arbeiten mit einer Oracle Wallet finden Sie in der Oracle-Dokumentation oder im Checkmk Handbuch.

Standardmäßig nutzt Checkmk ein normales Benutzerkonto, um die Daten von der Oracle-Datenbank abzurufen. Mit login as role können Sie dies anpassen und Checkmk stattdessen sysdba, sysdg oder sysoper als Rolle definieren.

Die Option Hostname or IPv4 address for listener definiert die Adresse der Oracle-Instanz. Standardmäßig lauscht der Agent am localhost, bei Bedarf können Sie dies hier anpassen. Haben Sie den Standard-Oracle-Port verändert, müssen Sie dies unter TCP-Port for Listener ebenfalls ändern.

Wenn Sie einen Transparent Network Substrate (TNS)-Alias für den Zugang für Oracle nutzen möchten, müssen diesen bei TNS Alias (Linux/AIX/Solaris only) in Checkmk hinterlegen.

Möchten Sie für eine bestimmte SID die Anmeldedaten anpassen, können Sie die Option Login for selected databases nutzen. Dann können Sie hier die einzelnen SIDs hinzufügen. Wenn Sie das Automatic Storage Management (ASM) von Oracle überwachen möchten, müssen Sie dazu ein eigenes Benutzerkonto für Checkmk erstellen. Dies sollten Sie dann bei Login for ASM Instances to monitor hinterlegen. Ansonsten kann Checkmk keine Monitoring-Daten vom ASM erfassen.

Möchten Sie bestimmte SIDs aus dem Monitoring ausschließen, finden Sie eine Reihe von Möglichkeiten dazu unter Instances to monitor. Zum Beispiel kann dies sinnvoll für Testsysteme von Entwickler:innen sein.

Konfigurationsoptionen der Oracle-Überwachung

Die weiteren Optionen unter ORACLE databases (Linux, Solaris, AIX, Windows) drehen sich um die Inhalte des Monitorings. Mit Sections - data to collect entscheiden Sie, was Checkmk für Sie überwachen soll. Sie können hier einzelne Bereiche entfernen oder anpassen, das ist aber in der Regel nicht nötig. Checkmk überwacht standardmäßig alle Metriken, nur TS Quotas (not used) ist standardmäßig deaktiviert.

Das Checkmk Entwickler-Team hat zudem das Caching für das Plugin optimiert und die Voreinstellung so angepasst, dass es für die meisten Einsatzzwecke die besten Ergebnisse liefert. In den Bereichen, wo ein asynchroner Betrieb sinnvoll ist, ist dies voreingestellt. Mit den Optionen Exclude some sections on certain instances, Cache age for background checks und Sqlnet Send timeout können Sie das Caching noch weiter konfigurieren. Details zum neuen Oracle-Plugin finden Sie in diesem Werk. Natürlich können Sie die Konfigurationen des Plugins über die Monitoring-Regel nach Ihren Anforderungen anpassen.

Die Option Remote instances (Linux/AIX/Solaris only) ist wichtig, um entfernte Datenbanken zu überwachen, zum Beispiel in der Oracle Cloud Infrastructure.

Die Option ORACLE_HOME to use for remote access (Linux/AIX/Solaris only) benötigen Sie, um die Umgebungsvariable für “ORACLE_HOME” für den Zugang zur entfernen Datenbank anzupassen.

Checkmk geht davon aus, dass Sie die Konfigurationsdateien “sqlnet.ora” und “tnsnames.ora” unter /etc/check_mk speichern. Mit TNS_ADMIN to use for sqlnet.ora and tnsnames.ora (Linux/AIX/Solaris only) können Sie den Dateipfad für den TNS-ADMIN anpassen.

Schritt 3: Agenten-Pakete für Oracle-Server backen

Haben Sie die Agentenregel konfiguriert, ist das Erstellen des Agentenpakets einfach. Wechseln Sie zur Agentenbäckerei und backen Sie den Agenten.

  • Gehen Sie zu Setup -> Windows, Linux, Solaris, AIX.
  • Der Knopf mit dem Flammensymbol und der Aufschrift “Bake agents” sollte orange gefärbt und damit bereit zum Backen sein. Klicken Sie darauf.
Die Agentenbäckerei in Checkmk ist bereit einen Agenten zu backen

Warten Sie kurz, bis der gebackene Agent erscheint. Dann klicken Sie auf den Agenten, der zum Betriebssystem Ihres Datenbank-Servers passt. Bei mir wäre dies das RPM-Paket.

Die Agentenbäckerei in Checkmk mit einem neuen Agenten für Oracle DB

Nutzen Sie Oracle-Datenbanken auf mehreren Servern mit unterschiedlichen Zugangsdaten, müssen Sie die Oracle-Datenbank-Regel mehrfach konfigurieren und mehrere Agenten backen. Wechseln Sie auf Ihrem Oracle-Server von Server-Betriebssystem mit xinetd zu einem mit systemd, müssen Sie die entsprechende Option in der Regel anpassen und ebenfalls einen neuen Agenten backen.

Ansonsten reicht es, beim Einsatz von unterschiedlichen Betriebssystemen für mehrere Datenbanken einen Agenten zu erstellen – wenn Sie die gleichen Zugangsdaten und dieselben Überwachungsparameter für alle Oracle-Datenbanken nutzen.

Installation des Agenten auf dem Datenbank-Server

Installieren Sie die Checkmk Agenten jetzt auf Ihren Datenbank-Servern. Die genauen Schritte dafür hängen von Ihrer Datenbank-Umgebung ab. In meinem Fall habe ich das Paket auf meinen Oracle-Server heruntergeladen und über das Terminal mit dnf installiert:

sudo dnf install check-mk-agent-2.1.0p14-0b8ad87002c9f414.noarch.rpm

Red Hat empfiehlt den Einsatz von dnf, je nachdem welche RHEL-Version Sie einsetzen, können Sie auch yum nutzen, um den Checkmk Agenten zu installieren. Nach der Installation empfehle ich, die TLS-Verschlüsselung zu aktivieren. Dazu müssen Sie die Registrierung des Agenten durchführen. Die Schritte finden Sie im Kapitel zum Linux-Agenten bzw. zum Windows-Agenten im Checkmk Handbuch.

Schritt 4: Oracle-Server mit Checkmk überwachen

Läuft der Agent samt Oracle-Plugin auf dem Oracle-Server, können Sie diesen in das Monitoring aufnehmen. Ich empfehle eine Ordnerstruktur in Checkmk zu nutzen, da dies die Verwaltung der Hosts im Monitoring vereinfacht. Daher sollten Sie zunächst einen Ordner für Ihre Oracle-Datenbanken erstellen.

  • Gehen Sie auf Setup -> All hosts, klicken Sie auf Add folder und geben unter Title einen Namen Ihrer Wahl ein. Ich habe den Ordner “oracle” genannt.
  • Klicken Sie auf Save.
  • Dann öffnen Sie diesen Ordner, indem Sie auf ihn klicken.
  • Klicken Sie auf Add Host, um einen Host in diesem Ordner zu erstellen.
  • Unter Hostname geben Sie den Namen Ihres Oracle-Servers ein. In meinem Fall heißt mein Oracle-Server “oracle-sr1-01.lan.domain.net”.
  • Falls Ihr Host-Name nicht nach DNS auflösbar ist, müssen Sie die Option IPv4 address aktivieren und die IP-Adresse des Servers eintragen. Bei mir ist das nicht der Fall.
  • Klicken Sie auf Save & go to service configuration.
Erstellen eines Hosts für einen Oracle-Server in Checkmk

Ich empfehle den Einsatz von vollqualifizierten DNS-Namen (FQDN) als Host-Namen in Ihrer kompletten Infrastruktur. Diese Anleitung für ein durchgängiges Namenskonzept hilft Ihnen bei der Umsetzung.

  • Warten Sie auf die automatische Service-Erkennung und übernehmen Sie sämtliche erkannten Monitoring-Services mit Accept all.
  • Damit Sie Ihren Datenbank-Server als Host sehen können, aktivieren Sie die Änderungen in Checkmk. Klicken Sie auf das gelbe Symbol mit dem Ausrufezeichen oben in der rechten Ecke. Sie sollten dort die Zahl der “changes” sehen.
  • Klicken Sie auf Activate on selected sites.
  • Damit ist die erste Oracle-Datenbank im Monitoring. Sie finden den Host unter Monitor -> All Hosts.

In meinem Fall hat Checkmk zahlreiche Services erkannt. Dank der vorgegebenen Schwellwerte warnt Checkmk mich zudem, dass mein Arbeitsspeicher überbelegt werden könnte (136% committed) und diese Datenbank mit 44,76 Prozent einen hohen Anteil des geteilten Arbeitsspeichers nutzt. Dies ist aber in Ordnung, da ich für mein Testsystem nur einen recht kleinen Arbeitsspeicher benutze.

Host-Ansicht einer Oracle-Datenbank in Checkmk

Schritt 5: Hardware-Monitoring über IPMI

Sie haben jetzt die Oracle-Application-Performance und das Betriebssystem in der Überwachung. Nutzen Sie einen Hardware-Server mit einem Management-Board, sollten Sie diesen als separaten Host ebenfalls in das Monitoring aufnehmen. Sie könnten theoretisch auch die Hardware-Services zu dem bereits existierenden Host hinzufügen, dies wirkt sich aber langfristig negativ auf die Performance aus, daher rate ich davon ab.

Die Aufnahme ist einfach, da Checkmk die Services wieder automatisch erkennt. In meinem Fall nutze ich IPMI zur Übertragung der Monitoring-Daten.

  • Gehen Sie auf Setup -> All hosts, und öffnen Sie wieder Ihren Oracle-Ordner.
  • Klicken Sie auf Add host.
  • Unter Hostname geben Sie einen Namen für Ihr Management-Board ein. In meinem Fall nenne ich es “oracle-iLO-sr1-01.lan.domain.net”.
  • Klicken Sie auf “Save & go to folder”.

Wenn der Host-Name Ihres Server-Management-Boards nicht nach DNS auflösbar sein sollte, müssten Sie bei IPv4 address noch eine IP-Adresse hinterlegen.

Hinzufügen einer Managagment-Boards als Host in Checkmk
  • Suchen Sie jetzt unter Setup nach IPMI und wählen Sie “IPMI Sensors via Freeipmi or IPMItool”.
  • Klicken Sie auf “Add rule”.
  • Unter IPMI Sensors via Freeipmi or IPMItool wählen Sie das IPMI-Tool Ihrer Wahl. Ich nutze “Use IPMItool”.
  • Fügen Sie die IPMI-Zugangsdaten bei Username und Password ein. In meinem Fall “monitoring” und mein Kennwort.
  • Bei Privilege Level wählen Sie “USER”.
  • Haben Sie die Konfiguration angepasst, klicken Sie auf Save & go to service configuration.
Konfiguration der IPMI-Regel in Checkmk
  • Unter Conditions aktivieren Sie die Option Explicit hosts und wenden diese Regel auf Ihren Management-Board-Host an. In meinem Fall “oracle-iLO-sr1-01.lan.domain.net”.
Anwenden der IPMI-Regel auf den passenden Host
  • Gehen Sie zu Setup -> Hosts. Sie sollten nun die Hosts Ihrer Datenbank und den Hardware-Server sehen.
  • Klicken Sie bei Ihrem Management-Board-Host auf das gelbe Symbol zur automatischen Server-Erkennung, das dritte Symbol rechts.
Starten der automatischen Service-Erkennung für einen Host in Checkmk
  • Wenn Sie wieder die "changes" mit Activate on selected sites annehmen, haben Sie das Management Board zum Monitoring hinzugefügt.

Hier ist zum Beispiel die Host-Ansicht meines Hosts für die Server-Hardware:

Eine Management-Board eines Servers in der Host-Ansich von Checkmk

Remote-Oracle-Datenbanken überwachen

Gerade bei Oracle-Datenbanken in der Cloud kommt die Installation von Monitoring-Agenten nicht infrage. Checkmk kann sich aus der Entfernung in solche Datenbanken einloggen und so die Monitoring-Daten abrufen. Diese Informationen überträgt Checkmk dann über einen Piggyback-Host in das Monitoring.

Der Standort der entfernten Oracle-Instanz spielt keine Rolle, sie muss aber über IP für den Piggyback-Host erreichbar sein. Auf dem Piggyback-Host müssen Sie den Checkmk Agenten inklusive der Oracle-Konfigurationsdateien installieren können, zudem muss der Oracle-Client installiert sein.

Natürlich muss der Piggyback-Host wiederum für Ihre Checkmk Instanz erreichbar sein. In meinem Fall nutze ich meinen lokalen Oracle-Server “oracle-sr1-01.lan.domain.net” als Piggyback-Host, um meine entfernte Oracle-Datenbank “DemoDB” zu überwachen. Dies ist ein typisches Szenario in hybriden Datenbank-Umgebungen, zudem bringt ein Oracle-Server in der Regel alle Voraussetzungen für einen Piggyback-Host mit.

Sie können die Oracle-Konfigurationsdatei mit den Zugangsdaten für Ihre entfernte Oracle-Datenbank aber auf jedem beliebigen lokalen Server hinterlegen, solange er die Anforderungen für das Monitoring von entfernten Oracle-Datenbanken erfüllt.

Monitoring-Hosts für entfernte Oracle-Datenbanken erstellen

Zuerst müssen Sie den Host für Ihre entfernte Datenbank im Monitoring erstellen. Ich mache das in diesem Tutorial manuell, da ich nur einen Host habe. Wenn Sie eine größere Menge an Remote-Datenbanken haben, empfehle ich aber mit der Dynamische Host-Konfiguration die Hosts auf Basis der Piggyback-Daten automatisch erstellen zu lassen.

  • Gehen Sie auf Setup -> All hosts, und öffnen Sie wieder Ihren Oracle-Ordner.
  • Klicken Sie auf Add host.
  • Als Hostname müssen Sie die SID der entfernten Datenbank anwenden, bei mir ist das “DemoDB”. Mit einem falschen Namen kann Checkmk die Daten sonst nicht zuordnen.
  • Unter Network address aktivieren Sie die Option IP address family und wählen “No IP”.
  • Unter Monitoring agents klicken Sie auf “show more” und passen zwei Optionen an:
    • Aktivieren Sie die Option Checkmk agent / API integrations und wählen “No API integration, no agent”.
    • Unter Piggyback wählen Sie die Option "Always use and expect piggyback data".
    • Klicken Sie auf “Save & go to folder”.
Hinzufügen eines Hosts namens DemoDB in Checkmk

Ein Agentenpaket für die Überwachung von entfernten Oracle-Datenbanken konfigurieren

Dann erstellen Sie ein neues Agentenpaket und nutzen dafür wieder die Oracle-Agentenregel:

  • Suchen Sie unter Setup wieder nach “oracle database” und öffnen “ORACLE databases (Linux, Solaris, AIX, Windows)”
  • Klicken Sie auf Add rule, um eine neue Regel zu erstellen. Bearbeiten Sie nicht die existierende Regel für Ihren lokalen Oracle-Server.
  • Die Konfiguration unterscheidet sich im Vergleich zu zuvor:
    • Aktivieren Sie Activation und Login Defaults.
    • Bei Login Defaults geben Sie die Informationen Ihrer Remote-Datenbank ein:
      • In meinem Fall ist die Authentication method wieder ein normales Benutzerkonto. Belassen Sie die dazu die Voreinstellung “Login with the following credentials”.
      • Fügen Sie bei User das Benutzerkonto Ihrer entfernen Datenbank ein, in meinem Fall habe ich das Zugangskonto ebenfalls “monitoring” genannt, gefolgt vom zugehörigen Kennwort bei Password.
Hinzufügen einer neuen Oracle-Regel in Checkmk zur Überwachung entfernter Datenbanken
  • Scrollen Sie runter und aktivieren Sie die Option Remote instances (Linux/AIX/Solaris only).
    • Klicken Sie auf “Add remote instance”.
    • Mit der Unique ID stellen Sie sicher, dass die Konfiguration der Verbindung zu dieser externen Datenbank eindeutig ist und es keine Doppelungen gibt. In meinem Fall wähle ich “Use the remote SID”.
    • Unter Monitoring host this database should be mapped to wählen Sie den Host, welchem Checkmk die Piggyback-Daten zuordnen soll. Das ist bei mir “DemoDB”.
    • Bei ORACLE SID of the remote database geben Sie die SID der zu überwachenden Datenbank ein. Bei mir heißt diese ebenfalls “DemoDB”.
    • Bei DNS Hostname or IP-address of database server müssen Sie die IP-Adresse oder den DNS-Namen des Datenbank-Servers eingeben, über den Ihre entfernte Oracle-Instanz erreichbar ist. In meinem Fall “10.200.6.6”.
    • Unter ORACLE release of the remote database wählen Sie Ihre Oracle-Version. Für Version 12.1 und neuer wählen Sie “12.1”. In meinem Fall mache ich genau das, da ich Version 19.0 nutze.
  • Speichern Sie die Regel mit Save.
Bearbeiten der Oracle-Regel für die Fernüberwachung

Oracle-Agenten erstellen und installieren

  • Backen Sie den Agenten wie zuvor mit der Agentenbäckerei. Klicken Sie dazu unter Setup -> Agents -> Windows, Linux, Solaris, AIX wieder auf “Bake agents”.
  • Laden Sie das Agentenpaket herunter und installieren Sie es auf dem Piggyback-Host, den Sie zuvor in der Oracle-Regel definiert haben. Bei mir ist dies der Oracle-Server “oracle-sr1-01.lan.domain.net”.

Services mit der automatischen Service-Erkennung aufnehmen

  • Gehen Sie zu Setup -> Hosts.
  • Klicken Sie auf das gelbe Symbol zur automatischen Server-Erkennung für den Host Ihrer entfernten Datenbank, bei mir heißt er “DemoDB”.
  • Warten Sie wieder auf die automatische Service-Erkennung. Checkmk erkennt jetzt die verfügbaren Piggyback-Daten, erwartet aber keine Informationen über APIs oder vom Checkmk Agenten.
  • Übernehmen Sie sämtliche erkannten Monitoring-Services mit Accept all.
  • Nehmen Sie die "changes" mit Activate on selected sites an.

Sie haben jetzt die erste Remote-Datenbank in Ihr Monitoring aufgenommen. Damit sind Sie am Ende dieses Tutorials angelangt und kennen jetzt die Grundlagen für die Überwachung von Oracle-Datenbanken mit Checkmk.

Fazit

Die Überwachung von Datenbanken allgemein ist eine wichtige Herausforderung und es gibt viele Punkte, die Sie beachten müssen. Checkmk vereinfacht das Monitoring auf die notwendigsten Schritte, gleichzeitig können Sie Anpassungen leicht vornehmen. Zudem schränkt Checkmk die Performance der Oracle-Applikationen nicht ein.

Auf Basis dieses Tutorials können Sie ein umfangreiches Oracle-Monitoring aufbauen. Checkmk ist extrem skalierbar und bietet zudem durch sein Forecasting eine Möglichkeit, Ihre Ressourcen präzise zu planen. Ein praktisches Beispiel für die Fähigkeiten ist das Datenbank-Monitoring der Swisscom AG. Sie überwacht riesige Datenbanken mit bis zu 30.000 Services pro Host und erstellt Prognosen für Hardware-Ressourcen für führende Finanzunternehmen.