# Das &ksysguard; Handbuch

Chris
Schlaeger

    cs@kde.org

Chris
Schlaeger

    cs@kde.org

Entwickler
Tobias
Koenig

    tokoe82@yahoo.de

Entwickler
Lauri
Watts

    vampyr@atconnex.net

Korrektur
2000
Chris Schlaeger
&FDLNotice;
2000-12-14
1.00.00

&ksysguard; ist ein netzwerkfähiger Task Manager und System Monitor, mit der zusätzlichen Funktionalität von top.

KDE
KSysGuard
Prozess Monitor
top
ps

## Einführung

&ksysguard; ist der KDE Task Manager und Performance Monitor. Es bietet eine Client-Server Architektur an, die es erlaubt, sowohl lokale als auch entfernte Rechner zu überwachen. Das graphische FrontEnd benutzt sogenannte Sensoren um an die Informationen zu kommen, die es darstellt. Ein Sensor kann einen einfachen Wert oder komplexere Informationen wie z.B. eine Tabelle zurückliefern. Für jede Art von Informationen existieren ein oder mehrere Monitore. Monitore werden in Arbeitsblättern organisiert, die unabhängig von einander gespeichert und geladen werden künnen. &ksysguard; ist also nicht nur ein einfacher Task Manager, sondern auch ein sehr mächtiges Werkzeug zur Kontrolle von großen Serverfarmen.

## &ksysguard; benutzen

### Einführung

&ksysguard; kann vom Startmenü unter dem Eintrag KDE System Manager im Untermenü System oder alternativ durch Eingabe von `ksysguard` in einem Terminal gestartet werden.

Das Hauptfenster von &ksysguard; besteht aus einer Menübar, wahlweise einer Toolbar und einer Statusbar, dem Sensor-Browser und der Arbeitsfläche. Wenn &ksysguard; das erste Mal gestartet wird, sieht man den lokalen Rechner als localhost im Sensor-Browser gelistet und 2 Arbeitsblätter auf der Arbeitsfläche. Das ist die vorgegebene Einstellung.

Diese vorgegebene Einstellung ist zureichend, damit ein unerfahrener Benutzer damit arbeiten kann. Ein erfahrener Benutzer oder auch ein Systemadministrator eines großen Computerkabinetts hat andere Bedürfnisse. Um einen weiten Bereich von Benutzern anzusprechen ist &ksysguard; sehr flexibel aufgebaut.

### Der Sensor-Browser

Der Sensor-Browser zeigt die registrierten Rechner und deren Sensoren in Baumform an. Um einen Ast zu öffnen oder zu schliessen muss man auf den Knoten klicken. Jeder Sensor überwacht einen bestimmten Systemwert.

#### Mit anderen Rechnern verbinden

Um sich mit einem anderen Rechner zu verbinden, benutzt man den Eintrag Mit Rechner verbinden... aus dem Datei. Ein Dialog erscheint, in dem man den Namen des Rechners eingeben kann. Unter dem Namen kann man die Art der Verbindung auswählen. Die Vorgabe ist ssh, die Secure Shell. Alternativ kann auch rsh, die Remote Shell, oder der Daemon-Modus verwendet werden. Die Verbindung wird durch einen Klick auf Ok hergestellt. Kurz darauf erscheint der neue Rechner im Sensor-Browser und man kann sich die Liste seiner Sensoren anschauen.

Um eine Verbindung herzustellen, muss ein Programm namens ksysguardd auf dem neuen Rechner installiert sein, das in den folgenden zwei Modis gestartet werden kann.

Daemon-Modus

  ksysguardd kann beim Booten im Daemon-Modus gestartet werden, indem man `-d` als Argument angibt. In diesem Fall muss der Daemon-Modus auch im Verbindungsdialog von ksysguard ausgewählt werden. Ein Nachteil dieser Verbindungsart ist die fehlende Verschlüsselung des Datenaustausches und die nicht vorhandene Möglichkeit, Programm über den Prozesskontroller zu beenden oder deren Priorität zu ändern.

Shell-Modus

  In diesem Modus wird ksysguardd durch ksysguard gestartet. Um dies zu ermöglichen muss der Ort des Programms in der `PATH` Variable enthalten sein. Die ssh nutzt leider nicht die `.profile`, also stehen auch die regulären `PATH` Einstellungen nicht zur Verfügung, stattdessen verwendet sie die vorgegebene `PATH` Variable wie z.B. `/bin:/usr/bin`.

  Da KDE höchstwahrscheinlich nicht in diesen Verzeichnissen installiert ist, ist es notwendig, eine Datei im Heimatverzeichnis zu erstellen bzw. zu verändern. Diese Datei heist `environment` und muss sich im verstecktem Verzeichnis `.ssh` befinden und sollte eine Zeile wie die Folgende enthalten:

      PATH=/bin:/usr/bin:/opt/kde/bin

  vorausgesetzt, dass ksysguardd unter `/opt/kde/bin/ksysguardd` liegt. Mehr Informationen über ssh sind in der Manual Page zu finden.

  Bei Benutzung der ssh sollte man darauf achten, den lokalen identity.pub auf dem entfernten Rechner installiert zu haben und den Schlüssel des entfernten Rechners auf dem lokalen Rechner registriert zu haben. Der einfachste Weg dies zu prüfen ist `ssh `<entfernter Rechner> ksysguardd`` in einer Konsole einzutippen. Wenn man daraufhin von ksysguardd begrüsst wird, kann man `quit` eingeben und alles ist in Ordnung.

Für Experten: ksysguardd ist ein kleines Programm, das nur gegen die libc gelinkt werden muss. So kann es auch auf Rechnern genutzt werden, die kein komplettes KDE installiert haben, wie z.B. Server. Wenn man Benutzerdefinierter Befehl im Verbindungsdialog ausgewählt hat, muss man den vollständigen Pfad zum Starten von ksysguardd angeben.

#### Verbindungen zu anderen Rechnern trennen

Um eine Verbindung zu trennen, muss der Rechner im Sensor-Browser selektiert und Verbindung zu Rechner abbauen... aus dem Datei Menü ausgewählt werden. Wenn noch Sensoren des Rechners benutzt werden, färbt sich der entsprechende Monitor grau und wird nicht mehr aktualisiert.

### Der Arbeitsplatz

Der Arbeitsplatz ist in Form von Arbeitsblättern organisiert. Um ein neues Arbeitsblatt zu erzeugen wählt man Neu aus dem Datei Menü aus. Es erscheint ein Dialog, wo man den Namen, die Größe und das Aktualisierungs-Intervall eingeben kann. Um das Arbeitsblatt wieder zu entfernen, wählt man Schließen aus dem Datei Menü aus. Alle Änderungen des Arbeitsblattes werden daraufhin gespeichert. Falls das Blatt vorher noch nie gespeichert wurde, wird nach einem Dateinamen dafür gefragt. Arbeitsblätter bestehen aus Zellen, in Form einer Tabelle

Jede Zelle kann mit einem Monitor und einem oder mehreren Sensoren belegt werden. Dies geschieht durch das Ziehen eines Sensors vom Sensor-Browser und dem anschließenden Fallenlassen über einer Zelle. Falls es mehrere Monitore für diesen Sensortyp gibt, erscheint ein Auswahlmenü wo man den bevorzugten Monitor wählen kann. Einige Monitore können mehr als nur einen Sensor anzeigen. Um einen weiteren Sensor hinzuzufügen muss einfach mit der Maus ein Sensor vom Sensor-Browser auf den Monitor gezogen werden.

Arbeitsblätter können durch klicken von Arbeitsblatt konfigurieren im Bearbeiten Menü konfiguriert werden. Im erscheinenden Dialog kann die Größe und das Aktualisierungs-Intervall festgelegt werden. Dieses Intervall wird von allen Monitoren genutzt, die Aktualisierungs-Intervall des Arbeitsblattes verwenden aktiviert haben.

Der Eintrag Stil festlegen... im Einstellungen Menü bietet die Möglichkeit, die allgemeinen Stileigenschaften zu konfigurieren und auf das aktuelle Arbeitsblatt anzuwenden.

Monitore können durch ein Klick mit der rechten Maustaste darauf konfiguriert werden. Im erscheinenden Menü kann man entweder die Eigenschaften des Monitors ändern, ihn vom Arbeitsblatt entfernen, sein Aktualisierungs-Intervall verändern und die Aktualisierung vorübergehend anhalten und starten.

#### Signal-Plotter

Der Signal-Plotter stellt die Werte von einem oder mehreren Sensoren über einen Zeitraum hinweg dar. Falls mehre re Sensoren angezeigt werden, sind deren Werte in unterschiedlichen Farben übereinandergezeichnet. Wenn der Monitor groß genug ist, wird zusätzlich ein Gitter gemalt, an dem man den Wertebereich der Sensoren ablesen kann. Standartmäßig ist die automatische Wertbereichserkennung aktiviert, damit der minimale und maximale Darstellungswert für den Monitor automatisch ermittelt und gesetzt wird. Manchmal möchte man jedoch festgelegte minimal und maximal Werte verwenden. In diesem Fall kann man die automatische Wertbereichserkennung im Eigenschaftendialog des Monitors deakivieren und die Werte manuell setzen.

#### Multimeter

Das Multimeter stellt die Werte seiner Sensoren in Form einer digitalen Anzeige dar. Im Eigenschaftendialog kann man eine obere und untere Grenze festlegen, werden diese überschritten, färbt sich der Monitor der Alarmfarbe.

#### Prozesskontroller

Der Prozesskontroller liefert eine Liste von Prozessen eines lokalen oder entfernten Rechners. Diese Liste kann durch einen Klick mit der linken Maustaste auf einen Spaltenkopf sortiert werden.

Sie enthält die folgenden Informationen zu jedem vorhandenen Prozess. Es ist jedoch zu beachten, das nicht jede Information unter allen Betriebssystemen zur verfügung steht.

Name

  Der Name der ausführbaren Datei, die den Prozess gestartet hat.

PID

  Die Prozess ID. Eine einmalige Nummer, die einen Prozess identifiziert.

PPID

  Die Prozess ID des Vaterprozesses.

UID

  Die ID des Benutzers, der den Prozess gestartet hat.

GID

  Die ID der Gruppe zu der der Prozess gehört.

Status

  Der Status des Prozesses.

User%

  Die Prozessorlast des Prozesses im User-Space (in Prozent).

System%

  Die Prozessorlast des Prozesses im System-Space (in Prozent).

Priorität

  Die Priorität des Prozesses bei der Zuteilung von Zeitscheiben durch den Kernel.

Vm-Größe

  Die gesamte Menge an virtuellem Speicher, den der Prozess nutzt (in kBytes).

VmRss

  Die gesamte Menge an physikalischem Speicher, den der Prozess nutzt (in kBytes).

Benutzer

  Der Loginname des Benutzers, der den Prozess gestartet hat.

Befehl

  Der vollständige Startbefehl des Prozesses.

Unterhalb der Tabelle findet man vier Knöpfe, die nun von links nach rechts beschrieben werden.

##### Die Baumansicht

Die Baumansicht wurde entworfen, um die Beziehung zwischen den laufenden Prozessen zu veranschaulichen. Ein Prozess, der von einem anderen gestartet wurde, wird als Kind dieses Prozesses bezeichnet. Ein Baum ist der eleganteste Weg diese Eltern-Kind Beziehung darzustellen dabei ist der init Prozess der Vorfahre aller Prozesse.

Wenn man an den Kindern eines Prozesses nicht interessiert ist, kann man auf das kleine Kästchen links neben den Elternprozess klicken und seine Kindprozesse werden nicht mehr angezeigt. Ein weiterer Klick auf dieses Kästchen bringt sie wieder zum Vorschein.

##### Der Prozessfilter

Der Prozessfilter kann dazu verwendet werden, die Anzahl der anzuzeigenden Prozesse zu verringern, indem man die Prozesse herausfiltert, an denen man nicht interessiert ist. Im Moment können alle Prozesse angezeigt werden, nur die Systemprozesse, nur die Benutzerprozesse oder nur die eigenen Prozesse.

##### Der Neu aufbauen Knopf

Dieser Knopf kann verwendet werden, um eine sofortige Aktualisierung der Prozessliste zu erzwingen.

##### Der Beenden (kill) Knopf

Wenn man einen oder mehrere Prozesse ausgewählt hat, kann man diesen Knopf drücken, um sie zu beenden. Ein sogenanntes SIGKIL wird dem Prozess zugestellt, das ihn zur sofortigen Beendigung zwingt. Wenn der Prozess noch ungesicherte Daten enthielt, gehen diese verloren, also sollte man vorsichtig mit diesem Knopf umgehen.

#### Balkengraphik

Der Balkengraphik-Monitor zeigt die Werte der Sensoren in Form von tanzenden Balken an. Im Eigenschaftendialog kann man den minimalen und maximalen Wert des Anzeigebereiches und einen unteren und oberen Grenzwert angeben. Falls die Grenzwerte überschritten werden wird der Monitor in der Alarmfarbe eingefärbt.

#### Sensor-Log

Der Sensor-Log Monitor zeigt keine Werte an, sondern schreibt sie, zusammen mit Datums- und Zeitinformationen, in eine Datei. Für jeden Sensor kann einen unteren und oberen Grenzwert angeben. Falls die Grenzwerte überschritten werden, wird der entsprechende Eintrag in der Sensortabelle mit der Alarmfarbe eingefärbt und es wird ein knotify Event gesendet.

#### Log-Datei

Der Log-Datei Monitor zeigt den Inhalt einer Datei z.B. /var/log/messages an. Im Eigenschaftendialog kann man eine Liste von regulären Ausdrücken angeben, die mit dem Inhalt der Datei verglichen werden. Wenn ein Ausdruck passt, wird ein knotify Event gesendet.

#### Listenansicht

Der Listenansicht-Monitor stellt die Daten einiger Sensoren in Form einer Tabelle dar.

## Mitwirkende und Lizenz

&ksysguard; wird im Moment von Chris Schläger cs@kde.org und Tobias Koenig tokoe82@yahoo.de entwickelt und gewartet. &ksysguard; ist eine Weiterentwicklung von KTop, dem KDE 1.x Task Manager. An KTop arbeiteten folgende Personen mit:

- A. Sanda alex@darkstar.ping.at

- Ralf Mueller ralf@bj-ig.de

- Bernd Johannes Wuebben wuebben@math.cornell.edu

- Nicolas Leclercq nicknet@planete.net

Die Portierung zu anderen Plattformen als Linux wurden von folgenden Personen durchgeführt:

- FreeBSD: Hans Petter Bieker <zerium@traad.lavvu.no>

&underFDL; &underGPL;

## Installation

### Wie bekommt man &ksysguard;

&ksysguard; ist Teil des KDE Projekts http://www.kde.org. &ksysguard; kann man auf ftp://ftp.kde.org/pub/kde/ erhalten, der FTP-Seite des KDE Projekts.

### Voraussetzungen

Um &ksysguard; erfolgreich kompilieren zu können, braucht man mindestens KDE 2.0 und Qt 2.2.X. Alle benötigten Bibliotheken als auch &ksysguard; kann man auf ftp://ftp.kde.org/pub/kde/ finden.

Das grafische FrontEnd ist auf allen Plattformen verfügbar, auf denen KDE läuft. Das BackEnd ist auf den folgenden UNIX Derivaten verfügbar:

Linux 2.x

  Um ksysguardd zum Laufen zu bringen, muss der Linux-Kernel mit Unterstützung des `/proc` Dateisystems kompiliert werden. Das ist die Standarteinstellung und bei den meisten Linux-Distributionen der Fall.

FreeBSD

  Das Programm ksysguardd muss zur Gruppe kmem gehören und das setgid bit gesetzt haben.

Solaris

Unterstützung für andere Plattformen ist in Vorbereitung. Ihre Hilfe dabei ist sehr willkommen.

### Kompilieren und Installieren

Um &ksysguard; auf Ihrem System zu kompilieren und installieren, geben Sie das Folgende im Basisverzeichnis der KDE-Distribution ein:

    % ./configure
    % make
    % make install

Sollten Sie Probleme mit dem Programm haben, berichten Sie diese bitte auf der KDE Mailingliste.