muxmon(1M) muxmon(1M)
NAME
muxmon - DPTG2-Monitor
SYNTAX
/usr/lib/saf/muxmon [-d level] [-f file] [-t sec] [-r retry]
/usr/lib/saf/muxmon -?
BESCHREIBUNG
muxmon ist ein auf TTY-STREAMS basierender Portmonitor, wie er im
System V Release 4 durch SAF (Service Access Facility) vorgesehen ist.
Die Aufgabe von muxmon ist es, Verbindungen zu den Arbeitsplätzen zu
überwachen, die über das DPTG2-Protokoll betrieben werden. Der muxmon
ist so konzipiert, daß er normalerweise nur unter der Kontrolle des
SAC (Service Access Controller) [siehe sac(1M)] abläuft. Er kann mit
den Kommandos sacadm(1M) und pmadm(1M) gesteuert werden. DPTG2-spezi-
fische Kommandos und Formate können über das Kommando muxadm(1M)
gesteuert werden.
Die grundlegenden Funktionen von muxmon sind:
1) Allgemeine Monitor-Prozeß-Steuerung
In diesen Aufgabenbereich fällt die Ansteuerung des Monitors
selbst. Der Monitor im Sinne von SAF besitzt 2 interne Zustände:
ENABLED und DISABLED. Vom SAC wird der Monitor in einem der bei-
den Zustände gestartet. Welcher der Zustände beim Start des Moni-
tors eingenommen wird, bestimmt der sactab-Eintrag. Im Zustand
DISABLED überwacht der Monitor keinen der Ports. Im Zustand
ENABLED werden alle Terminals wie in der Datei pmtab beschrieben
überwacht. Der Monitor wird durch ein SIGTERM(15)-Signal beendet.
2) Anschluß-Überwachung
In der zum Monitor gehörenden Datei pmtab wird mit jedem Eintrag
ein Verbindungsaufbau zu einem DPTG2-Terminal beschrieben. Gemäß
diesem Eintrag eröffnet der Monitor die Verbindung zu dem Termi-
nal und überwacht dessen Zustand. Ist das Terminal eingeschaltet,
wird der Multiplexer aktiviert (ILINK) [siehe termio(7)]. Beim
Ausschalten des Terminals wird der Multiplexer abgehängt
(IUNLINK) [siehe termio(7)]. Wenn der Monitor im Zustand
DISABLED ist oder der pmtab-Eintrag ist x=disable, so ist der
Administrator-Kanal des Multiplexers geschlossen.
3) Durchführung von Diensten
Im pmtab-Eintrag eines Terminals kann ein Ladeservice spezifi-
ziert werden. Wenn er gewünscht ist (z. B. bei der Ansteuerung
eines 9766-Terminals), kann mit dem Namen eines Platzprogramms
(z. B. xb4D) das Programm, das geladen werden soll, angegeben
werden. Mit N wird der Ladeservice ausgeschaltet, und mit Y wird
es dem Arbeitsplatz überlassen, mit welchem Programm er geladen
werden möchte. Das Laden geschieht jeweils vor dem Einschalten
des Multiplexers (ILINK). Bis zum fertigen Laden wird ein open-
Systemaufruf auf den Benutzer-Kanälen blockiert.
Seite 1 Reliant UNIX 5.44 Gedruckt 11/98
muxmon(1M) muxmon(1M)
OPTIONEN
Wird muxmon ohne Option aufgerufen, gelten die im Folgenden angegebe-
nen Standardwerte.
-d level
Mit dieser Option wird die Trace-Stufe auf den Wert level
gesetzt. Ist der Wert größer als 2, wird er auf 2 begrenzt. Stan-
dartwert ist 0.
-f file
Mit dieser Option wird die Trace-Datei file anstelle der
Standard-Datei /var/saf/pmtag/trace benutzt.
-t sec
Mit dieser Option wird die Timeout-Zeit für Wiederholungen auf
den Wert sec gesetzt. Falls sec kleiner als 60 Sekunden ist, wird
der Wert auf 60 heraufgesetzt. Der Standardwert ist 90 Sekunden.
-r retry
In jeder Fehlersituation wird der Verbindungsaufbau der zugehöri-
gen Anschlüsse (Service-Kennung) für eine Timeout-Zeit [siehe
Option -t] zurückgestellt. Nach dieser Zeit wird wieder versucht,
die Verbindung aufzubauen. Tritt erneut ein Fehler auf, wird der
ganze Ablauf wiederholt. Diese Wiederholung wird MAXRETRY mal
durchgeführt. Schlagen alle Versuche fehl, wird die Service-
Kennung in den Zustand DISABLED gesetzt. Die Größe von MAXRETRY
ist standardmäßig auf 12 eingestellt. Mit dieser Option kann sie
beim Monitorstart verändert werden.
Der Wert vom Argument retry kann jeden Integer-Wert annehmen.
Dabei werden Werte kleiner als 5 auf 5 begrenzt. Bei der Angabe
von negativen Werten wird der absolute Zahlenwert genommen und
wenn der Wert -1 gewählt wird, so wird das Einrichten der Verbin-
dung immer wieder versucht. Allerdings wird in der Logging-
Schnittstelle /var/saf/pmtag/log nur der erste und der letzte
Versuch protokolliert. Im Falle von -1 also nur der erste.
-? Es wird die Kommandosyntax auf stderr angezeigt.
DIAGNOSE/WARTUNG
Zu Diagnosezwecken führt der Monitor noch eine private Logging-Datei
in dem Verzeichnis /var/saf/pmtag mit dem Namen log. Diese Datei ist
nur für den Monitor beschreibbar. In dieser Log-Datei werden SAC-
Kommandos, Statusänderungen und Fehlersituationen protokolliert.
Als Reliant UNIX System-Komponente schreibt der DPTG2-Monitor alle
diese Log-Meldungen auch in das Reliant UNIX Logbuch. Sie sind unter
der Komponentennummer 36 und der Fehlernummer 6 abgelegt. Da muxmon
alle seine Meldungen unter dieser Fehlernummern ablegt, sollte im
Logging-System der Wiederholungszähler für den Komponentenkreis 36
grundsätzlich ausgeschaltet sein.
Seite 2 Reliant UNIX 5.44 Gedruckt 11/98
muxmon(1M) muxmon(1M)
Um die Fehlersuche zu erleichtern, ist es möglich, den Monitor in
einem Trace-(Debug-)Modus zu betreiben. Dazu kann mit der Option -f
eine Datei angegeben werden, in die die Trace-Information geschrieben
wird. Ist die Option -f nicht benutzt worden, schreibt der Monitor
diese Trace-Informationen nach trace im Verzeichnis /var/saf/pmtag.
Der Trace-Modus wird mit der Option -d beim Monitor-Start oder nach-
träglich durch Signale dynamisch zur Laufzeit eingeschaltet. Dabei
gibt es für den Trace-Modus 3 Stufen:
0 Es werden keine Trace-Ausgaben gemacht.
1 Es werden nur Ausgaben gemacht, wenn Fehlersituationen auftreten.
2 Es werden volle Trace-Ausgaben gemacht, bei denen der Programm-
ablauf des Monitors verfolgt werden kann.
Diese Ausgaben sind nur für Entwickler zur Fehlersuche gedacht. Der
Trace-Modus sollte nur bei Bedarf eingeschaltet werden.
Mit dem Signal SIGUSR1(16) wird die Trace-Stufe um 1 erhöht, mit
SIGUSR2(17) wird die Trace-Stufe auf 0 gestellt. Außerdem kann die
Trace-Stufe gleich beim Monitorstart über die Option -d eingestellt
werden. Es wird keine Administration der Trace-Datei vorgenommen. Das
bedeutet, daß im Normalfall der Trace-Modus ausgeschaltet sein sollte
(Stufe 0), damit die Trace-Datei nicht überläuft.
Mit dem Signal SIGHUP(1) wird der Zustand der zu überwachenden
Anschlüsse in eine Status-Datei state im Verzeichnis /var/saf/pmtag
geschrieben. Alte Status-Einträge in der Datei werden überschrieben.
Die state-Datei hat das folgende Format:
DPTG-monitor 'pmtag' (pid=number) state: pmstate
Darin ist pmtag der Name der Monitor-Ausprägung. Die PID-number ist
die gegenwärtige Prozeß-ID, pmstate kann die Werte PMDISABLED und
PMENABLED annehmen.
Für jede zu überwachende Verbindung belegt ein Eintrag eine Zeile.
Dabei gibt es für die Einträge je nach Typ unterschiedliche Formate.
Ein Remote-Anschluß sieht wie folgt aus:
no. svrtag: admin path, [state] host 'name' port portno => status
und ein Direktanschluß:
no. svrtag: admin path, local device 'name' => status
Seite 3 Reliant UNIX 5.44 Gedruckt 11/98
muxmon(1M) muxmon(1M)
Die Felder des Formats im einzelnen:
no Die laufende Nummer eines Eintrags.
svrtag Das ist der symbolische Tag-Name der Verbindung (Service-
Kennung).
path Pfadname des Administrator-Kanals zum Multiplexer.
state Im Falle eines Remote-Anschlusses wird die Erreichbarkeit des
Hosts von Zeit zu Zeit überprüft. Hier wird das Ergebnis der
letzten Überprüfung angezeigt.
name Hier wird beim Direktanschluß der Pfadname des seriellen
Terminal-Anschlusses angegeben. Bei Remote-Anschlüssen steht
hier der Hostname, wie er in der Datei pmtab eingetragen
ist.
portno Bei Remote-Anschlüssen steht hier die Port-Nummer für den
Remote-Host.
status In diesem Feld wird der Zustand der Terminal-Verbindung ange-
zeigt, wie der Monitor sie sieht. Dabei gibt es die folgenden
Möglichkeiten:
SUSPENDED Beim Aufbau der Verbindung ist eine Fehlersitua-
tion eingetreten. Der Grund für die Suspendierung
wird immer hinter dem Schlüsselwort reason: ange-
geben.
DISABLED Dieser Zustand wird dann erreicht, wenn ein Ver-
bindungsaufbau MAXRETRY mal gescheitert ist. Dabei
wird der Grund des letzten Scheiterns hinter dem
Schlüsselwort reason: angegeben.
ACTIVATED Dies bedeutet, daß mit einer Verbindungsaufbau-
Sequenz begonnen wurde. Der Administrator-Kanal
ist bereits eröffnet, und der Monitor wartet dar-
auf, daß ein "Open" bestätigt oder ein "Connect"
akzeptiert wird.
CONNECTED In diesem Zustand ist eine Verbindung zum Terminal
hergestellt.
LOADING Der Kontakt zum Terminal ist hergestellt worden,
und es wird gerade geladen.
LINKED Das Terminal ist erreichbar und geladen. Damit ist
es betriebsbereit für den DPTG2-Betrieb.
Seite 4 Reliant UNIX 5.44 Gedruckt 11/98
muxmon(1M) muxmon(1M)
WARNUNG
Der Trace-Modus sollte nur kurzzeitig eingeschaltet werden, damit die
Trace-Datei nicht zu groß wird.
DIAGNOSE
Falls kein Fehler auftritt, beendet sich muxmon mit dem Rückgabewert
0. Im Falle von Fehlern haben die Rückgabewerte die folgende Bedeu-
tung:
1 = Es wurde eine illegale Option benutzt (EILLOPT)
2 = Die Datei pid konnte nicht geöffnet werden (EPID)
3 = Die Datei log konnte nicht geöffnet werden (ELOG)
4 = Kein exklusiver Zugriff auf die Datei pid (EPLOCK)
5 = Kein exklusiver Zugriff auf die Datei log (ELLOCK)
6 = Eine interne Pipe konnte nicht geöffnet werden (EPIPE)
7 = Illegaler Anfangszustand des Monitors (EISTATE)
8 = Datei pmpipe nicht verfügbar (EPIPE)
9 = Datei sacpipe nicht verfügbar (ESACPIPE)
10 = Fehler beim Lesen der Datei pmpipe (EERROR)
11 = Fehler beim Lesen der Datei sacpipe (ESACMSG)
12 = Falsche Format-Version in der Datei pmtab (EVERSION)
DATEIEN
/etc/saf/sactab
/etc/saf/sacpipe
/etc/saf/pmtag/pmtab
/etc/saf/pmtag/pmpipe
/var/saf/pmtag/state
/var/saf/pmtag/log
/var/saf/pmtag/trace
SIEHE AUCH
muxadm(1M), sac(1M), sacadm(1M), dptg2(7), termio(7).
Seite 5 Reliant UNIX 5.44 Gedruckt 11/98