Logo Oracle Deutschland   DBA Community  -  Januar 2013
Oracle Enterprise Manager Cloud Control 12c: Monitoring mit eigenen Metriken
von Ralf Durben, Oracle Deutschland B.V. & Co. KG

Oracle Enterprise Manager Cloud Control 12c beinhaltet direkt nach der Installation viele Metriken zur Überwachung verschiedener Systeme. Dennoch besteht in einigen Fällen der Wunsch, eigene Metriken zu erstellen.

Bis Grid Control 11g stehen hierzu die "User-Defined Metrics" zur Verfügung, die aber auf wenige Zielsystemtypen (target types) beschränkt sind. Auch sonst gibt es einige Beschränkungen. So stehen als Datenermittlungsvefahren nur SQL- bzw. PL/SQL Kommandos oder Betriebssystemkommandos zur Verfügung. Auch darf eine Metrik aus maximal zwei Spalten bestehen (Schlüsselspalte und Wertspalte). Normale Metriken, die von Haus aus mit Grid Control ausgeliefert werden, haben diese Beschränkungen nicht. Grid Control macht also einen Unterschied zwischen "normalen" Metriken und benutzerdefinierten Metriken, was sich auch in der Implementierung auf Agentenseite bemerkbar macht: Für die benutzerdefinierten Metriken werden eigene XML-Dateien in einem separaten Verzeichnis verwendet.

In Cloud Control 12c wurde diese Sonderbehandlung von selbst definierten Metriken entfernt. Es stehen jetzt also alle Features, die auch für normale Metriken vorhanden sind, selbst definierten Metriken zur Verfügung. Auch bei der Implementierung auf der Seite der Agenten wird kein Unterschied mehr gemacht. Dafür gibt es jetzt einen neuen Namen für diese Metriken: "Metric Extensions".

Alte, durch ein Upgrade von Grid Control nach Cloud Control übernommene, "User-Defined Metrics" können in Cloud Control 12c weiterhin benutzt werden, eine Migration in die neue Form wird aber empfohlen. Es ist aber nicht mehr möglich, weitere "User Defined Metrics" zu erstellen. Eigene Metriken werden in Cloud Control 12c nur noch als "Metric Extensions" erstellt.

Inhalt

Dieser Tipp beinhaltet folgende Themen:

Anzeige der vorhandenen "User Defined Metrics"

"User-Defined Metrics" konnten in Grid Control nur für bestimmte Zieltypen (Datenbank und Host) erstellt werden. Daher wurde deren Nutzung in das Menü auf der entsprechenden Homepage untergebracht. Für eine "User Defined Metric" einer Datenbank öffnen Sie also die Homepage der betreffenden Datenbank und navigieren dann über das Menü des Zielsystems->"Monitoring"->"User-Defined Metrics"

Host Homepage Datenbank Homepage










Sie bekommen Ihre "User-Defined Metrics" angezeigt. Im unteren Screenshot ist die Liste leer, da im vorhandenen System keine derartigen Metriken vorhanden sind. Der Hinweis auf dieser Seite in Cloud Control zeigt auch, dass die "User-Defined Metrics" zu "Metric Extensions" migriert werden sollen. Des Weiteren sehen Sie zwei Links, die zu den nun aktuellen Funktionalitäten führen:

  • "Metric Extensions" zur Definition von Monitoring-Metriken
  • "Configuration Specification" zur Definition von Konfigurations-Metriken




Migration von "User-Defined Metrics" nach "Metric Extensions"

Die Migration von "User-Defined Metrics" nach "Metric Extensions" ist mit EMCLI (Enterprise Command Line Interface) möglich. Das Prozedere wird ausführlich im Handbuch beschrieben.

Handhabung von "Metric Extensions"

Auch die Handhabung von "Metric Extensions" wird ausführlich im Handbuch beschrieben. Im Folgenden sehen Sie die Handhabung an einem einfachen Beispiel.

Erstellen einer Metric Extension

In einem Beispiel soll hier eine Metric Extension erstellt werden, die Daten aus der View v$session entnimmt. Navigieren Sie zu "Enterprise"->"Monitoring"->"Metric Extensions".



Klicken Sie auf den Button "Create".



Wählen Sie den Typ des Systems aus, für das Sie die neue Metrik erstellen möchten. Beachten Sie die große Auswahl. Dieses war bei den "User-Defined Metrics" nicht möglich.



Vergeben Sie einen Namen. Es wird automatisch der Prefix "ME$" vorangestellt.



Vergeben Sie den Display-Namen, also den Namen der später in der Liste der Metriken steht. Der oben angegebene Name wird intern verwendet. Wählen Sie dann den Abfrage-Adapter aus. Für die Datenbank Instanz können Sie neben SQL (beinhaltet auch PL/SQL) auch OS Kommandos verwenden (eine oder mehrere Spalten). In diesem Beispiel wird SQL gewählt.



Sie können jetzt noch Einstellungen hinsichtlich des Schedulings machen, also das Abfrageintervall einstellen und feststellen, ob die Daten historisch gespeichert werden sollen. Klicken Sie dann auf "Next".



Im nächsten Schritt geben Sie je nach ausgewähltem Abfrage-Adapter die Methode zur Erfassung der Metrik ein, also hier das SELECT-Statement. Sie sehen in dem Screenshot, dass Ihnen dabei verschiedene Variablen (z.B. target_type) zur Verfügung stehen, was hauptsächlich in PL/SQL-Blöcken interessant ist. In diesem Beispiel wurde die Abfrage "select sid||','||serial# as sess,wait_time_micro,seconds_in_wait,wait_time from v$session;" benutzt. Klicken Sie auf "Next".



Jetzt definieren Sie die Spalten der Metrik. Klicken Sie auf "Add".



Sie weisen den Spalten aus der SELECT-Abfrage jetzt sprechende Namen zu. Im unteren Screenshot bekommt die zusammengesetzte SELECT-Spalte "sess" den Display-Namen "Sitzung". Diese Spalte soll die Schlüsselspalte sein, da sie ja die einzelne Sitzung definiert. Bestätigen Sie mit "OK".



Jetzt spezifizieren Sie die Datenspalten. Klicken Sie wieder auf "Add".



Für die weiteren Spalten wählen Sie den Typ "Data Column". Neben dem Display-Namen geben Sie auch die Schwellenwerte zur Generierung von Alerts an. Bestätigen Sie mit "OK".



Wenn alle Spalten definiert sind, erscheinen diese in der untenstehenden Liste. Wenn diese vollständig ist, klicken Sie auf "Next".



Legen Sie nun fest, mit welchen Credentials die Metrik abgefragt werden soll. Da hier eine SQL-Abfrage vorliegt, für die auch die Datenbankprivilegien reichen, die für andere DB-Metriken verwendet werden, können Sie hier "Use Default Monitoring Credentials" verwenden. Klicken Sie auf "Next".



Testen Sie nun die Metrik. Klicken Sie auf "Add", um ein Test-Target auszuwählen.



Wählen Sie das Test-Target und bestätigen Sie mit "Select".



Klicken Sie auf "Run Test".



Prüfen Sie das Ergebnis. Wenn der Test erfolgreich war, klicken Sie auf "Next".



Sie bekommen eine Übersicht angezeigt. Klicken Sie auf "Finish", um die neue Metrik anzulegen.



Es erfolgt eine Rückmeldung, dass die Metrik angelegt wurde. Sie ist aber noch keinem Target zugeordnet.



Die neue Metrik kann auch erst dann einem Target zugeordnet werden, wenn sie "Deployable" ist. Der Status "Editable" reicht nicht. Selektieren Sie die Zeile mit der neuen Metrik und wählen im Action-Menü den Punkt "Save As Deployable Draft".



Jetzt können Sie die neue Metrik im gleichen Action-Menü mit "Deploy To Targets" einem Target zuordnen.



Klicken Sie dabei auf "Add"...



...wählen das Target aus, bestätigen mit "Select"...



...und beschließen diese Aktion mit "Submit".



Sie bekommen eine entsprechende Rückmeldung, die besagt, dass der Vorgang noch läuft (pending).



Das ändert sich nach kurzer Zeit. Klicken Sie in den Breadcrumbs auf "Metric Extensions".



Die neue Metric ist jetzt einem Target zugeordnet.



Im Action-Menü können Sie die neue Metrik mit "Publish Metric Extension" jetzt zur Verwendung freigeben.



Exportieren und Importieren einer Metric Extension

Eine Metric Extension kann auch exportiert werden. Im Action-Menü gibt es dazu den Menüpunkt "Export".



Die Metric Extension wird dann als ZIP-Datei exportiert. In einem anderen Cloud Control System können Sie diese dann wieder importieren.



Metric Extensions können auch mit EMCLI exportiert, importiert, als Draft gespeichert und publiziert werden. Es stehen insgesamt folgende Kommandos zur Verfügung:

  • export_metric_extension
  • import_metric_extension
  • save_metric_extension_as_draft
  • publish_metric_extension
Damit ergeben sich folgende Möglichkeiten:

Exportieren von Metric Extensions mit EMCLI

Eine Metric Extension exportieren Sie mit dem Kommando "export_metric_extension". Das Ergebnis ist eine ZIP-Datei. Die allgemeine Syntax sieht dabei so aus:

emcli export_metric_extension
    -file_name=<Name der Exportdatei>
    -target_type=<Target Typ, für den diese Metric Extension definiert ist>
    -name=<Name der Metric Extension in Hochkomma eingeschlossen>
    -version=<Version der Metric Extension, wird in der GUI angezeigt>
Eine Liste der gültigen Targettypen ermitteln Sie mit
emcli get_targets
Für das obige Beispiel sieht das Kommando dann so aus:
$ emcli export_metric_extension 
      -file_name=me 
      -target_type=oracle_database 
      -name='ME$wdg_Metric' 
      -version=1
Metric extension [oracle_database, ME$wdg_Metric, 1] exported successfully to file /home/oracle/me.zip
Sie können die ZIP-Datei auf Betriebssystemebene auspacken und einen Einblick nehmen:
$ unzip me.zip
Archive:  me.zip
   creating: metadata/
  inflating: metadata/ME#24#wdg_Metric.xml
   creating: collection/
  inflating: collection/ME#24#wdg_Metric.xml
   creating: scripts/
  inflating: mea.xml

$ ll
total 20
drwxr-xr-x 2 oracle oinstall 4096 Jan 22 10:02 collection
-rw-r--r-- 1 oracle oinstall  382 Jan 22 10:02 mea.xml
drwxr-xr-x 2 oracle oinstall 4096 Jan 22 10:02 metadata
-rw-r--r-- 1 oracle oinstall 1986 Jan 22 10:09 me.zip
drwxr-xr-x 2 oracle oinstall 4096 Jan 22 10:02 scripts

$ more mea.xml
<MetricExtensionArchive name="MEAME$wdg_Metric">
<MetricExtension name="ME$wdg_Metric" 
 type="oracle_database" 
 version="1" 
 display_name="Wichtige Metrik" 
 description=" " 
 version_comment=" "
 metadata_digest="3a0e682474f6a35878c8242baf5c5e5c" 
 coll_digest="3ae963ed43bb6277beaec510bd21e93e" 
 attach_digest="d41d8cd98f00b204e9800998ecf8427e">
</MetricExtension>
</MetricExtensionArchive>
Ein Editieren dieser Dateien ist nicht erlaubt!

Importieren von Metric Extensions mit EMCLI

Sie können exportierte Metric Extensions in Cloud Control Umgebungen importieren mit dem Kommando "import_metric_extension". Kopieren Sie dazu die exportierte ZIP-Datei, wie oben beschrieben. Importieren Sie die Metric Extension mit

emcli import_metric_extension
        -file_name=<Name der Exportdatei>
        -rename_as=<Neuer Name der Metrik in Hochkomma eingeschlossen>
Also im obigen Beispiel:
$ emcli import_metric_extension 
      -file_name=me.zip 
      -rename_as='ME$wdg_Metric_neu'
Metric extension file me.zip imported successfully
In der GUI sieht das Ergebnis dann so aus:



Die importierte Metric Extension ist im Status "Editable". Zur weiteren Verwendung muss Sie als Draft gespeichert bzw. publiziert werden.

Speichern einer neuen Metric Extension als Draft mit EMCLI

Nach dem Import einer neuen Metric Extension folgt das Speichern als Draft mit

emcli save_metric_extension_draft
    -target_type=<Target Typ, für den diese Metric Extension definiert ist>
    -name=<Name der Metric Extension in Hochkomma eingeschlossen>
    -version=<Version der Metric Extension, wird in der GUI angezeigt>
Eine Liste der gültigen Targettypen ermitteln Sie mit
emcli get_targets
Für das in diesem Kapitel genutzte Beispiel sieht das Kommando also so aus:
$ emcli save_metric_extension_draft 
      -target_type=oracle_database 
      -name='ME$wdg_Metric_neu' 
      -version=1
Nach einem Import einer Metric Extension ist die Versionsnummer immer 1. Bei erfolgreicher Ausführung gibt es keine Rückmeldung. In der GUI kann das Ergebnis kontrolliert werden:



Publizieren einer Metric Extension mit EMCLI

Nachdem die importierte Metric Extension als Draft gespeichert ist, kann diese publiziert werden mit

emcli publish_metric_extension
    -target_type=<Target Typ, für den diese Metric Extension definiert ist>
    -name=<Name der Metric Extension in Hochkomma eingeschlossen>
    -version=<Version der Metric Extension, wird in der GUI angezeigt>
Eine Liste der gültigen Targettypen ermitteln Sie mit
emcli get_targets
Für das in diesem Kapitel genutzte Beispiel sieht das Kommando also so aus:
$ emcli publish_metric_extension 
      -target_type=oracle_database 
      -name='ME$wdg_Metric_neu' 
      -version=1
Bei erfolgreicher Ausführung gibt es keine Rückmeldung. In der GUI kann das Ergebnis kontrolliert werden:



Anzeigen einer Metric Extension

Sie finden Ihre neue Metric Extension jetzt wie alle anderen Metriken unter "Monitoring"->"All Metrics".



Wählen Sie Ihre neue Metric Extension...



...und Sie sehen alle Daten, die mittlerweile gesammelt wurden.



Mit einem Klick auf eine Zeile können Details eingesehen werden.



Lizenzhinweis

Die Nutzung von Metric Extensions ist je nach Zielsystem mit einem Management Pack separat zu lizenzieren. Für Datenbanken (wie im obigen Beispiel) wäre es das Diagnostics Pack für Datenbanken.

Weitere Informationen und hilfreiche Links

Weitere Informationen finden Sie unter:


Zurück zum Anfang des Artikels

Zurück zur Community-Seite