Die Überwachung von WebSphere Product Center kann über die Scripts rootadmin und rmi_status oder über die GUI erfolgen. Es gibt kein eigenständiges Überwachungstool in WebSphere Product Center.
Das Erstellen eines Überwachungstools würde den Rahmen dieses Dokuments sprengen, es sollen jedoch einige leicht nachzuvollziehende Vorschläge gemacht werden:
- Erstellen Sie einen virtuellen Host auf einem Anwendungsserver oder eventuell auf einem separaten Überwachungsserver. Da die Scripts 'rmi_status' und 'rootadmin.sh' zu einer Systembelastung führen, ist ein separater Überwachungsserver für viele Umgebungen möglicherweise besser geeignet.
- Verwenden Sie eine Scripting-Sprache wie beispielsweise Perl, um einen CGI-Wrapper für 'rootadmin.sh' zu erstellen, der den jeweiligen Status von Services steuert und anzeigt.
- Erstellen Sie einen Aliasnamen auf dem Web-Server, der auf $TOP/logs zeigt, um Protokolldateien ohne großen Aufwand zu durchsuchen.
- Erstellen Sie ein Dienstprogramm, das die Protokolle in $TOP/logs auf Ausnahmebedingungen und andere Fehler hin analysiert und optional den Servicestatus überprüft. Dieses Dienstprogramm könnte eine E-Mail oder eine anderweitige Benachrichtigung an den Administrator schicken, falls Fehler auftreten sollten. Führen Sie dieses Dienstprogramm über 'cron' aus.
Um den Kurzstatus eines Services abzurufen, übergeben Sie die folgenden Parameter:
-cmd=check -svc=<servicename>
Der Kurzstatus kann einen der folgenden Werte annehmen:
running (aktiv) Der Service ist aktiv und antwortet auf eine "Überwachungssignalfunktion". not found (nicht gefunden) Der Service wurde nicht gefunden. Möglicherweise wurde der Service nicht gestartet, oder er ist abgestürzt. found but not responding (gefunden, aber ohne Antwort) Der Service wurde gefunden und ist im RMI-Register registriert, er antwortet jedoch nicht auf die "Überwachungssignalfunktion". Der Service muss unter Umständen erneut gestartet werden.
Geben Sie die folgenden Parameter an rootadmin.sh weiter, wenn Sie den ausführlichen Status eines Services erfahren möchten:
-cmd=status -svc=<servicename>
Dadurch wird eine HTML-Datei erstellt, die mit jedem Browser angezeigt werden kann. Verwenden Sie auf einem Terminal den HTTP-Browser Lynx (oder ein ähnliches Tool), um die Ausgabe zu formatieren.
Der Status gibt einen Überblick über die unterschiedlichen Threads, die in einem Service ausgeführt werden, sowie über den Status der Datenbankverbindungen, die der Service derzeit aufrecht erhält.
Beispiel:
Status der Planungsfunktion abrufen:
rootadmin.sh -cmd=status -svc=scheduler > /tmp/sch_status.html; lynx /tmp/sch_status.html
oder
rootadmin.sh -cmd=status -svc=scheduler > /tmp/sch_status.html; lynx -dump /tmp/sch_status.html
Hinweis:: Mit den im vorstehenden Beispiel verwendeten Zeichen ">" werden die Statusdetails an eine Dateiausgabeadresse übertragen.
Da die relationale Datenbank als Hauptspeicher für die meisten Produktinformationsinhalte dient, sind Verwaltungsmaßnahmen wichtig, die eine Verschlechterung oder den Verlust von Leistung verhindern.
Das Einrichten von Alerts in WebSphere Product Center dient der Benachrichtigung über eventuell auftretende Probleme, die dann gelöst werden können, bevor sie ausufern. Ein Überwachungssystem sollte ebenfalls implementiert werden, um die Datenbank von WebSphere Product Center fortlaufend zu überwachen.
Die folgenden Aufgaben sollten regelmäßig ausgeführt werden:
- Mehr Speicherplatz zuordnen, wann immer dies notwendig ist
- Fixpacks/Programmkorrekturen nach Bedarf anwenden
- Datenbankmanager, Datenbank und andere Services nach Bedarf starten und beenden
- Datenbankschema analysieren und Statistiken erfassen, wann immer dies für eine bessere Leistung erforderlich ist
- Tabellen und Indizes in regelmäßigen Zeitabständen reorganisieren, um eine bessere Leistung zu erzielen
- Status von terminierten Backup-Jobs für Sicherungen überprüfen
- Datenbank gegebenenfalls wiederherstellen und zurückschreiben
- Datenbankleistung optimieren
1. Mehr Speicherplatz zuordnen, wann immer dies notwendig ist
Das Speichermanagement ist eine fortlaufende Aufgabe für die meisten Anwender des Produktes. Wenn Sie nicht gerade eine völlig statische Datenbank haben, werden Tabellen und Indizes kontinuierlich wachsen oder sich verkleinern. Sie müssen sicherstellen, dass ausreichend Speicherplatz verfügbar ist, damit dies ohne Unterbrechung der fortlaufenden Verarbeitungen geschehen kann. Ebenfalls müssen Sie dafür sorgen, dass der Speicherplatz effizient genutzt wird. Sie können DB2 Control Center für das Zuordnen von Speicherplatz nach Bedarf einsetzen. Sie können dieselbe Task auch über eine Befehlszeilenschnittstelle ausführen.
2. Fixpacks/Programmkorrekturen anwenden
Fixpacks und Programmkorrekturen stellen eine Möglichkeit für die Anbieter von Datenbanksystemen dar, in regelmäßigen Abständen ausführlich getestete und integrierte Produkt-Fixes bereitzustellen. Sie enthalten lediglich Fehlerkorrekturen, keine neuen Leistungsmerkmale, und erfordern keine Zertifizierung auf den Zielsystemen. Es ist äußerst wichtig, die Fixpacks und Programmkorrekturen anzuwenden, sobald diese verfügbar sind, um bekannte Probleme des Datenbanksystems zu vermeiden. Wenden Sie sich an Ihren Datenbanksystemanbieter, wenn Sie weitere Informationen zu Fixes benötigen.
3. Datenbankmanager und Datenbank starten und beenden
Der Datenbankmanager und die Datenbank müssen beendet werden, wenn Korrekturen angewandt werden, Datenbanken von einem Server auf einen anderen verschoben werden etc. Sie müssen die Datenbank wann immer erforderlich starten und beenden.
4. Datenbankschema analysieren und Statistiken erfassen
Das Datenbankschema wird analysiert, um die neusten Statistiken zu Tabellen und Indizes in der Datenbank zu erfassen. Ein kostenoptimierender Ansatz ist die Verwendung von Statistiken, um eine Schätzung der Kosten für jeden Ausführungsplan zu erhalten. Das regelmäßige Zusammenstellen von Statistiken stellt dem Optimierungsprogramm die bestmöglichen Informationen über Schemaobjekte zur Verfügung. Wenn Sie z. B. eine große Anzahl von Zeilen in eine Tabelle geladen haben, sollten Sie neue Statistiken für diese Tabelle erfassen.
Führen sie die Shellprozedur analyze_schema.sh aus, die sich im Verzeichnis $TOP/src/db/schema/util befindet, um Datenbankschemata zu analysieren.
5. Tabellen und Indizes reorganisieren
Es wird empfohlen, Tabellen und Indizes in regelmäßigen Zeitabständen zu reorganisieren, um eine bessere Leistung zu erzielen
Da die heutigen Datenbanken schneller denn je wachsen, muss der typische Datenbankadministrator viel Zeit für das Speichermanagement und die Reorganisation aufwenden, um eine optimale Leistung zu erzielen.
Eine optimale Leistung bedeutet optimale Antwortzeiten. Diese kann sich jedoch aufgrund einer Anzahl von Problemen im Speichermanagement verschlechtern. Die meisten dieser Probleme treten in den folgenden drei Bereichen auf: Probleme im Zusammenhang mit Tabellen, stagnierende Indizes sowie E/A-Lastausgleich und Datenpartition
Fast jedem Datenbankadministrator sind Probleme im Zusammenhang mit Tabellen hinreichend bekannt. Zu diesen gehören u.a. nicht genutzter Platz in Tabellenblocks, verkettete Zeilen, mangelnde Datenproximität und fragmentierte (zu weit ausgedehnte) Tabellen.
Das zweite bedeutende Problem im Leistungsverhalten sind stagnierende Indizes, d. h. Indizes, die groß und nur vereinzelt ausgefüllt sind.
Dieser Zustand kann die Leistung der Indexbereichsprüfung stark verschlechtern. Auf diese Art wird auch nennenswerter Plattenspeicherplatz verschwendet.
Das dritte größere Thema im Leistungsverhalten ist der E/A-Lastausgleich und die Datenpartition. Wenn Objekte, auf die häufig zugegriffen wird, sich in derselben Datendatei befinden, können E/A-Engpässe auftreten. Tools wie "reorgchk" in DB2 versorgen Sie mit Informationen darüber, welche Objekte reorganisiert werden müssen. Es stehen viele Methoden und Tools für Reorganisation von Datenbankobjekten zur Verfügung. Lesen Sie die entsprechende Datenbanksystemdokumentation des jeweiligen Anbieters zur Reorganisation von Tabellen und Indizes.
6. Status von terminierten Backup-Jobs für Sicherungen überprüfen
Regelmäßige Sicherungen sind ein integraler Bestandteil des Wiederherstellungs- und Zurückschreibungsprozesses. Prüfen Sie den Status aller Backup-Jobs, um sicherzustellen, dass diese wie geplant ausgeführt werden.
Das Prüfen des Sicherungsstatus hängt davon ab, wie Sie die Sicherungsprozedur definieren, und welche Tools für die Sicherung verwendet werden. Nähere Informationen zum Thema Sicherung finden Sie in der Datenbanksystemdokumentation des jeweiligen Anbieters.
7. Datenbank wiederherstellen und zurückschreiben
Wenn ein Datenbankausfall auftritt, müssen Sie Art und Ausmaß des Ausfalls ermitteln. Eine solche Analyse gibt die Schritte vor, die anschließend zur Wiederherstellung des Systems erforderlich sind. Verwenden Sie den Wiederherstellungs- und Zurückschreibungsprozess wie von Ihrer IT-Benutzerunterstützung festgelegt.
Die Wiederherstellung einer physische Sicherung bedeutet, sie wiederherzustellen und für den Datenbankserver verfügbar zu machen. Die Zurückschreibung einer wiederhergestellten Datendatei bedeutet, sie mit wiederholenden Datensätzen zu aktualisieren, d.h. mit Datensätzen der Änderungen, die an der Datenbank nach dem Backup durchgeführt wurden.
8. Datenbankleistung optimieren
Zu den wichtigsten Aufgaben eines Datenbankadministrators gehört es, sicherzustellen, das die Datenbankleistung optimiert ist. Eine RDBMS ist in hohem Maße optimierbar, so dass die Datenbank überwacht und angepasst werden kann, um die Leistung zu optimieren.
Eine Leistungsoptimierung sollte aus den folgenden Gründen geschehen:
- Eine langsame Geschwindigkeit in der Datenverarbeitung verschwendet die wertvolle Zeit der Benutzer, die auf Antworten warten;
- Das System sollte an die hohen Geschwindigkeit der Geschäftsabläufe angepasst werden, und:
Die Nutzung der Hardware sollte optimiert werden, um Geld zu sparen - viele Unternehmen geben Unsummen für Hardware aus.
Weitere Informationen über die verschiedenen verfügbaren Methoden zur Optimierung der Datenbankleistung finden Sie in der Produktdokumentation des entsprechenden DB2-Produktes.