Detaillierte Erklärung zur Verwendung von Zabbix zur Überwachung der Oracle-Datenbank

Detaillierte Erklärung zur Verwendung von Zabbix zur Überwachung der Oracle-Datenbank

1. Übersicht

Zabbix ist eine sehr leistungsstarke und weit verbreitete Open-Source-Überwachungssoftware. Dieser Artikel stellt vor, wie Sie mit Zabbix+Python die Oracle-Datenbank überwachen können.

2. Umgebung Einführung

Nachfolgend sehen Sie die Umgebung, die ich installiert habe. Die tatsächliche Bereitstellung muss nicht mit meiner identisch sein.

1. Überwachungsmaschine Redhat Linux 6.5 + Zabbix Server 3.4.10 + Python 2.6.6 (im Betriebssystem enthalten) + Oracle Client 11.2 (x86_64)

2. Überwachte Maschine Oracle 11.2.0.4

3. Überwachungsmethode wählen

Es gibt drei Haupttypen von Zabbix-Überwachungsmethoden:

Zabbix-Agent

Installieren Sie den Zabbix-Agenten auf der überwachten Maschine. Der Zabbix-Agent sendet die von der überwachten Maschine gesammelten Daten an den Zabbix-Server. Diese Methode wird am häufigsten verwendet und dient im Allgemeinen zum Sammeln von Informationen wie beispielsweise zur CPU und zum Speicher des Servers.

SNMP

Auf einigen Netzwerkgeräten, beispielsweise Switches, kann der Zabbix-Agent nicht installiert werden. Daher können Überwachungsdaten wie Portstatus und Datenverkehr nur über SNMP erfasst werden.

Externe Prüfung

Führen Sie das Abfrageskript auf dem Zabbix-Server aus, um die Daten auf der überwachten Maschine direkt abzufragen. Diese Methode erfordert keine Bereitstellung auf der überwachten Maschine. Alle Abfragen werden vom Zabbix-Server gesendet, daher sind die Leistungsanforderungen des Zabbix-Servers relativ hoch. Der Beamte empfiehlt nicht die großflächige Verwendung dieser Methode. Diese Methode kann für eine kleine Anzahl von Oracle-Datenbankservern verwendet werden.

Dieser Artikel stellt die Verwendung einer externen Prüfung zur Überwachung der Oracle-Datenbank vor.

4. Überwachungselemente planen

Der Zweck der Datenbanküberwachung besteht darin, den stabilen Betrieb der Datenbank sicherzustellen. Wenn ein Fehler auftritt, kann der DBA ihn umgehend erkennen und eingreifen, um ihn zu beheben. Die Überwachungselemente sind in die folgenden zwei Kategorien unterteilt:

1. Der Datenbankspeicherplatz reicht nicht aus oder die Datenbank ist ausgefallen. Der DBA muss sich sofort darum kümmern.

Zu den Überwachungselementen zählen Tabellenplatz, Benutzerstatus, Instanzstatus, Sperren, eine große Anzahl von Warteereignissen, Flashback-Bereichsnutzung usw. Für diese Art von Überwachungselement muss ein Auslöser festgelegt werden, damit bei Auftreten einer Anomalie rechtzeitig ein Alarm ausgelöst werden kann.

2. Einige statistische Informationen zum Betriebsstatus der Datenbank bieten dem DBA eine Referenz, um den Zeitpunkt und die Kategorie von Datenbankleistungsproblemen zu ermitteln.

Zu den Überwachungselementen gehören die Anzahl der allgemeinen Warteereignisse, die Trefferquote, das Hard-Parsing-Verhältnis usw.

In der folgenden Tabelle sind die Überwachungselemente der Vorlage im Anhang aufgeführt.

5. Installation

Nach den obigen Ausführungen geben wir nun den offiziellen Installationslink ein. Ich gehe davon aus, dass Sie den Zabbix-Server bereits installiert haben, daher werde ich die Installationsschritte des Zabbix-Servers hier überspringen.

Alle folgenden Vorgänge werden auf dem Zabbix-Server ausgeführt

Installieren des Oracle-Clients

Laden Sie die folgenden drei RPM-Pakete von der offiziellen Website herunter

oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm

oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm

oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.rpm

Installieren Sie den Oracle-Client mit Root

rpm -ivh oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm

rpm -ivh oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm

rpm -ivh oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.rpm

Konfigurieren von Umgebungsvariablen

vi + /etc/Profil

---------------------------------------------

export ORACLE_HOME=/usr/lib/oracle/11.2/client64

export LD_LIBRARY_PATH=$ORACLE_HOME/lib

export PATH=$PATH:$ORACLE_HOME/bin

Führen Sie den folgenden Befehl aus, damit die Konfiguration wirksam wird

Quelle /etc/Profil

Konfigurationsdatei für dynamische Bibliothek hinzufügen

vi + /etc/ld.so.conf.d/oracle.conf

------------------------------------------

/usr/lib/oracle/11.2/client64/lib

Führen Sie den Befehl ldconfig aus

Stellen Sie zum Testen eine Verbindung zu Oracle her

SQL> sqlplus scott/[email protected]:1521/orcltest

SQL*Plus: Release 11.2.0.4.0 Produktion am Mittwoch, 24. April 2019, 18:24:28 Uhr

Copyright (c) 1982, 2013, Oracle. Alle Rechte vorbehalten.

Verbunden mit:

Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 – 64-Bit-Produktion

Mit den Optionen Partitionierung, OLAP, Data Mining und Real Application Testing

SQL>

Die obige Eingabeaufforderung beweist, dass der Oracle-Client erfolgreich installiert wurde

Installieren Sie Python-bezogene Pakete

Installieren Sie cx_Oracle (Python-Paket zum Herstellen einer Verbindung mit Oracle)

wget http://downloads.sourceforge.net/project/cx-oracle/5.1.2/cx_Oracle-5.1.2-11g-py26-1.x86_64.rpm

rpm -ivh cx_Oracle-5.1.2-11g-py26-1.x86_64.rpm

Installieren Sie argparse

wget https://bootstrap.pypa.io/2.6/get-pip.py --no-check-certificate

python get-pip.py

pip installiere Argparse

Python-Skript hochladen

Legen Sie das angehängte pyora.py-Skript in das Verzeichnis /usr/lib/zabbix/externalscripts/

Erteilen Sie Berechtigungen, damit der Zabbix-Benutzer das Skript ausführen kann

chmod 755 /usr/lib/zabbix/externalscripts/pyora.py

[Hinweis: Legen Sie zunächst in der Oracle-Datenbank der überwachten Maschine einen Monitoring-Benutzer an . Benutzername und Passwort können beliebig angegeben werden.

Erstellen Sie den durch Zabbix identifizierten Benutzer Zabbix.

Verbindung gewähren, beliebiges Wörterbuch für Zabbix auswählen;]

Testskripte

python pyora.py --Benutzername zabbix --Passwort zabbix --Adresse 10.30.10.32 --Port 1521 --Datenbank Office show_tablespaces

Parameterbeschreibung des obigen Testskripts

Benutzername: Benutzername

Passwort: Passwort

Adresse: IP-Adresse der überwachten Maschine

Port: Portnummer

Datenbank: Oracle-Dienstname

Wenn ein Rückgabeergebnis vorliegt, bedeutet dies, dass das Skript normal ausgeführt werden kann.

Vorlagendatei hochladen

Importieren Sie die angehängte Vorlage Pyora_ExternalCheck_11G.xml in den Zabbix-Server.

Klicken Sie auf der Zabbix-Seite auf „Konfiguration – Vorlagen – Importieren – Datei auswählen – Importieren“, um den Import abzuschließen.

Anzeigen von Überwachungsdaten

Monitoring – Neueste Daten – Host (entsprechenden Host auswählen), dann können Sie die Monitoring Daten sehen

Referenz: https://github.com/bicofino/Pyora

Anhang:

pyora.py, Pyora_ExternalCheck_11G.xml Adresse ist auf github

https://github.com/YangBaohust/zabbix_templates

Dies ist das Ende dieses Artikels über die Verwendung von Zabbix zur Überwachung von Oracle-Datenbanken. Weitere Informationen zur Überwachung von Oracle-Datenbanken durch Zabbix finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • So überwachen Sie Oracle-Datenbanken mit Zabbix Agent2
  • Verwenden Sie den benutzerdefinierten Zabbix-Schlüssel des Python-Skripts, um den Oracle-Verbindungsstatus zu überwachen
  • Verwenden von Zabbix zum Überwachen des Betriebsvorgangs des Oracle-Tabellenbereichs

<<:  CSS-Implementierungscode für mehrstufige Menüs

>>:  Vue-Kapselungskomponente Bildkomponente hochladen

Artikel empfehlen

So fügen Sie Docker ein Zertifikat hinzu

1. Upgrade-Vorgang: sudo apt-get update Probleme ...

Allgemeine Überlegungen zum Erstellen eines Hadoop 3.2.0-Clusters

Ein Port ändert sich In Version 3.2.0 beträgt der...

Softwaretests – MySQL (VI: Datenbankfunktionen)

1.MySQL-Funktionen 1. Mathematische Funktionen PI...

So installieren Sie Composer unter Linux

1. Laden Sie das Installationsskript - composer-s...

Allgemeine Datumsvergleichs- und Berechnungsfunktionen in MySQL

Implementierung des Zeitvergleichs in MySql unix_...

So bereinigen Sie den von Docker belegten Speicherplatz

Docker nimmt viel Platz ein. Immer wenn wir Conta...

Unterschiede zwischen MySQL CHAR und VARCHAR beim Speichern und Lesen

Einführung Kennen Sie wirklich den Unterschied zw...

Detaillierte Erklärung der HTML-Download-Funktion

Das neue Projekt ist im Grunde abgeschlossen. Es ...

So vermeiden Sie die URL-Zeitzonenfalle in MySQL

Vorwort Wenn Sie MySQL 6.0.x oder höher (JAR) ver...

Die Verknüpfungsmethode zwischen Menü und Registerkarte von vue+iview

Vue+iview-Menü und Tab-Verknüpfung Ich entwickle ...