OS/2 beschikt over een eenvoudige syslog daemon. Dit is een server die via een Remote Procedure Call (RPC) berichten van andere computers en/of andere computersystemen optekent. Zoals de naam al aangeeft is de syslog daemon vooral bedoeld om systeemberichten te registreren.
Niet alleen programma's maar ook apparaten als routers kunnen naar de syslog deamon schrijven. Als u in plaats van een IP adres (192.168.1.5) een broadcast adres invult (192.168.1.255) dan kunnen de logbestanden op meer plaatsen opgevangen worden.
Op veel Linux systemen kunt u onder virtual terminal 10 (Crtr-Alt-F10) de actuele kernel berichten zien. Dat kan handig zijn als iets niet loopt zoals u verwacht. Maar om na te gaan of het probleem zich eerder voordeed, moet u naar /var/spool/messages gaan. Het opvangen en opslaan (optekenen, registreren, logging) van dergelijke berichten is een taak van de syslog daemon.
Een ander voorbeeld: Mijn firewall-router heeft geen vaste schijf. Hij boot vanaf Read Only Memory (ROM). Hij is daarmee goed beschermd tegen virussen en hackers, maar het ontbreken van een schijf heeft het nadeel dat het apparaat zijn foutmeldingen niet kan opslaan. De router beschikt echter over een syslogd client, die via een RPC een UDP verbinding creëert naar de syslog daemon van OS/2.
Het configuratiebestand %ETC%/syslog.cnf heet vreemd genoeg "TCP/IP system log daemon configuration file" hoewel de server op UDP poort 514 draait.
numLogFiles 10 logFileSize 1000 logFileName syslog # destHost zolder.thuis
In dit geval maakt hij een actueel syslog.msg van 1000 kb in %ETC% aan en 10 backup logbestanden (syslog.001 t/m syslog010) aan. Wat niet in die 10+1 MB past wordt overschreven. Logbestanden die zo groeien dat de schijf vol raakt zullen immers leiden tot een Denial of Service van het beturingssysteem. Wilt u meer vastleggen dan moet u uw logbestanden regulier zippen met warpcron of ze via een batch naar een andere lokatie verplaatsen.
Een meer professionele optie is hier geremd: de logbestanden kunnen namelijk ook naar een andere syslog daemon doorgestuurd worden. Hier bijvoorbeeld naar de Linux server zolder.thuis.
Het actuele logbestand syslog.msg is niet zomaar in te zien. Het is immers een geopend bestand. Maar met de follow optie (-f) het UNIX core-utilty tail ("staart") te vinden in coreutils-6.9-os2.zip kunt u ook onder OS/2 de laatste regels van het logbestand "live" volgen. Hier toont de tail de laatste 50 (-n 50) berichten van mijn router tijdens een onder OS/2 gegeven fetchmail opdracht onder Linux. Ik laat niet alles zien.
RC:3 [eCS]F:\->tail -f -n 50 %ETC%/syslog.msg [router.thuis] Apr 25 00:57:03 Vigor: Local User: 192.168.1.2 DNS -> 192.168.1.1 inquire pop.hccnet.nl [router.thuis] Apr 25 00:57:03 Vigor: Local User: 192.168.1.2 DNS -> 192.168.1.1 inquire pop.hccnet.nl [router.thuis] Apr 25 00:57:03 Vigor: Local User: 192.168.1.2 DNS -> 192.168.1.1 inquire pop.hccnet.nl [router.thuis] Apr 25 00:57:03 Vigor: Local User: 192.168.1.2 DNS -> 192.168.1.1 inquire pop.hccnet.nl [router.thuis] Apr 25 00:57:03 Vigor: Local User: 192.168.1.2 DNS -> 192.168.1.1 inquire pop.compuserve.com [router.thuis] Apr 25 00:57:03 Vigor: Local User: 192.168.1.2 DNS -> 192.168.1.1 inquire pop.hccnet.nl [router.thuis] Apr 25 00:57:03 Vigor: Local User: 192.168.1.2:1036 -> 62.251.0.12:110 (TCP)POP3 [router.thuis] Apr 25 00:57:07 Vigor: Local User: 192.168.1.2:1036 -> 62.251.0.12:110 (TCP) close connection [router.thuis] Apr 25 00:57:07 Vigor: Local User: 192.168.1.2 DNS -> 192.168.1.1 inquire pop3.demon.nl [router.thuis] Apr 25 00:57:07 Vigor: Local User: 192.168.1.2:1037 -> 194.159.73.22:110 (TCP)POP3 [router.thuis] Apr 25 00:57:10 Vigor: Local User: 192.168.1.2 DNS -> 192.168.1.1 inquire pop.hccnet.nl [router.thuis] Apr 25 00:57:10 Vigor: Local User: 192.168.1.2:1038 -> 62.251.0.12:110 (TCP)POP3 [router.thuis] Apr 25 00:57:10 Vigor: Local User: 192.168.1.2:1037 -> 194.159.73.22:110 (TCP) close connection
U kunt hier het best een passend routerlog.cmd voor maken.
REM LANG EN SMAL VOOR KORTE LOGREGELS rem mode co50,43 rem mode co50,50 REM BREDER, VOOR MIDDELLANGE LOGREGELS rem mode co80,43 rem mode co80,50 REM GROOT SCHERM mode co132,50 rem call mode co132,50 d:\unixos2\bin\tail -f -n 50 %ETC%/syslog.msg
De call opdracht verzorgt de regelopmaak in de huidige cmd sessie van tail. In dit geval is 132 kolommen over de 50 regels geactiveerd. Niet iedere mode co combinatie werkt onder OS/2. Ik heb enige gangbare alternatieven geremd.
Er bestaan enige Presentation Manager utilities voor de grafische weergave van geopende logbestanden.
Om te beginnen is er het Freeware utility LogView van DirDiff auteur Wolfram Schmid (http://www.ws-it.de). Logview is een soort PM tail die zowel de kop als de staart van een geopend logbestand in beeld kan brengen. Het "update interval" (Logfile poll time) is tot op de ms nauwkeurig in te stellen. Het programma produceert een zacht piepje als er wat gebeurt.
Een mooie applicatie is Logviewer/2 v1.02 beta for OS/2 WARP van Septima Legio (LOGV102.EXE). Dit in Visual Rexx geschreven programma heeft VROBJ.DLL nodig. Het programma ondersteunt Drag & Drop van al dan niet geopende logbestanden en kent enige eenvoudige export en selectie methoden.
Een wat oud aandoende PM applicatie is het pagineringsprogramma HConsole van Heiko Hellweg (hconsole.zip). HConsole heeft echter bijzonder nuttige opties: asynchronous PM-pager to a) monitor logfiles (like tail -f), b) display it's stdin (like more or less) and c) display child process' stdout/stderr for debugging and tracing in PM-App-development.
Met de filteroptie -exec kunt u uw logbestand meteen door hconsole laten opmaken:
rem hconsolefwlog.cmd toont de laatste 50 opgemaakte regels van het fw logbestand call setmmdd.cmd start d:\bin\view\hconsole\hconsole.exe -font 8.Helv -exec fwlslog.exe file=%ETC%\fw%MMDD% strrec=0 numrec=50 exit
Voorbeelden van lettertypen vindt u in "Font Palet" in Setup. Fonts met een spatie erin moet u tussen aanhalingstekens plaatsen: -font "3.System VIO". Met Options / Restart child of CTL-R(epeat) leest hij het actuele logbestand weer in. Ik mis alleen de wordwrap en de editing mogelijkheden van e in de eerder genoemde cmd's.
Het Java programma CallNotify (callno015.zip) bestaat uit een server die logbestanden op toevoegingen onderzoekt en ze aan een Java client doorgeeft. Met deze Java (1.1.8 en hoger) programma suite kunt u uw logbestanden op ieder netwerk volgen.
Analog (analog-5.22.zip) en WebAlizer (webalizer-2.01-10-os2-bin.zip) zijn klassieke hulpmiddelen die vooral op webservers dienst doen.
U vindt deze en veel anderen met een simpele zoekopdracht op Hobbes .