
Abbildung 1: Mit Mtop überwacht der Admin die Aktivitäten der MySQL-Datenbank. Wenn nicht allzu viele Queries anliegen, bleibt die Anzeige schön übersichtlich.
Nicht jede MySQL-Datenbank erfreut sich rund um die Uhr bester Gesundheit. Ein Logfile kann zur Diagnose einer von Anfragen überschwemmten Datenbank nicht immer Sachdienliches beitragen, Mtop schon.
|
Inhalt |
|
|---|---|
|
60 |
Bacula |
|
66 |
Admin-Workshop Remote administrieren |
Vor einiger Zeit habe ich hier Apachetop vorgestellt[1]. Dieses Werkzeug verfolgt live, womit der Webserver gerade beschäftigt ist und wo Engpässe drohen. Heute hebe ich ein anderes Mitglied der Top-Familie auf den Schild: Mtop, den Echtzeit-Monitor für MySQL[2]. Mtop betritt als 48 KByte kleiner Tarball den Rechner. Es verlangt einige Perl-Module: Curses, DBI, DBD::mysql und Net::Domain – die meisten sind eh an Bord, der Rest bei CPAN schnell beschafft. Anschließend findet sich nach Eingabe von »perl Makefile.PL«, »make« und »make install« unter »/usr/local/bin/« der fertig gebackene »mtop«.
Jetzt muss ich Mtop Zugriff auf die MySQL-Prozessinformationen gewähren, denn anders als Apachetop bezieht Mtop seine Informationen direkt und nicht aus dem Server-Logfile. Ich lege in MySQL einen passwortlosen Benutzer mit sehr eingeschränkten Rechten an. Für MySQL ab Version 4.0.2 tippe ich auf dem SQL-Prompt:
grant super, reload, process on *.* to mysqltop; grant super, reload, process on *.* to mysqltop@localhost; flush privileges;
Existenzwichtig ist nur die »process«- Berechtigung. Die »super«-Rechte darf weglassen, wer nicht vorhat aus Mtop heraus Queries zu beenden.

Abbildung 1: Mit Mtop überwacht der Admin die Aktivitäten der MySQL-Datenbank. Wenn nicht allzu viele Queries anliegen, bleibt die Anzeige schön übersichtlich.
Altenpflege
MySQL 3.22.11 bis 4.0.1 vergibt das Recht, Abfragen zu beenden, per »process«-Berechtigung. Darum lautet der Dreizeiler hier:
grant reload, process on *.* to mysqltop; grant reload, process on *.* to mysqltop@localhost; flush privileges;
Freunde starker Restriktionen können zu Mtops Leidwesen die Rechte des Datenbank-Users noch um die »reload«-Rechte beschneiden. Fehlen sie, verliert Mtop die Möglichkeit, »flush«-Kommandos abzusetzen.
Top, die Wette gilt
Jetzt hat sich »mtop« seinen ersten Start verdient. Läuft die Datenbank anderswo, übergebe ich das Ziel per »-h Host«-Parameter. Wenn nicht viele Queries anliegen, sieht das so übersichtlich wie in Abbildung 1 aus. Diese optische Klarheit erkauft Mtop leider mit Kurzbezeichnungen, deren Sinn sich nicht intuitiv erschließt. Die drei wichtigsten:
- RRN: Die Anzahl der Anfragen, die auf die nächste
Tabellenzeile zugreifen wollen. Ein sehr hoher Wert ist Indiz
dafür, dass die Tabellen entweder nicht indiziert sind oder
die Abfrage den Index nicht nutzt. - TLW: Gibt an, wie oft eine Tabelle den exklusiven Zugriff
(Table Lock) ad hoc verweigert hat. Als Grund kommen eine zu
große Tabelle oder schlecht formulierte Queries in
Frage. - QPS: Die Anzahl der SQL-Kommandos seit Start des Servers oder
dem letzten Flush-Kommando.
Schnappt Shortcuts
Wie die anderen Familienmitglieder nimmt auch der laufende Mtop Kommandos durch Tastendrücke entgegen, welche, das verrät die Manpage. (jk)
|
Infos |
|---|
|
[1] Charly Kühnast, “Top, top, top”: Linux- Magazin 12/03, S. 53 [2] Mtop: [http://mtop.sourceforge.net] |





