Skript mir logger

Hi

wer weiss, wie man mit logger die zeit umstellen kann z.b 28.02.2008 um 20.20.40 sekunde.

Hallo pablo_fernando,

wer weiss, wie man mit logger die zeit umstellen kann z.b
28.02.2008 um 20.20.40 sekunde.

Vielleicht weiss es ja jemand, ich jedenfalls nicht. Aber warum willst Du mit einem Befehl, der zum Schreiben von Log-Nachrichten gemacht ist, die Uhrzeit umstellen? Ich denke mal, es geht gar nicht, aber selbst wenn, kommt es mir so vor, als ob Du eine Bohrmaschine zum Nägel einschlagen benutzen willst. Zur Zeitumstellung existiert doch date, warum nimmst Du nicht das, oder verstehe ich dich völlig falsch?

Viele Grüße
Marvin

Vielleicht weiss es ja jemand, ich jedenfalls nicht. Aber
warum willst Du mit einem Befehl, der zum Schreiben von
Log-Nachrichten gemacht ist, die Uhrzeit umstellen?

Die Darstellung der Uhrzeit (nehm ich mal an). Aus Feb 28 20:20:40 , wie’s im syslog steht, soll 28.02.2008 um 20.20.40 sekunde werden. Was m. W. mit den gegebenen Mitteln nicht möglich ist, man müsste das syslog durch einen eigenen Parser jagen. Sollte sich in Perl mit zwei, drei Zeilen erledigen lassen. Ich hab allerdings heute keine Lust mehr, auch nur eine Zeile Code zu schreiben.

Gruß

Hallo Herrmann,

Die Darstellung der Uhrzeit (nehm ich mal an).

Danke, da bin ich nun gar nicht draufgekommen. Das gibt schon etwas mehr Sinn. Außer ein Skript zu bemühen kann pablo_fernando auch statt syslogd das neuere syslog-ng benutzen
http://www.balabit.com/network-security/syslog-ng/
das ist nicht nur beim Datumsformat wesentlich flexibler:
http://www.wikidorf.de/reintechnisch/Inhalt/SyslogNG…

Viele Grüße
Marvin

Hi marvin

danke von deim Mail. Aber ich muss mit syslog logger mein skript schreiben, denn ich mach grade mein Praxis-semester und dort wird von mir erwartet und ich überwache einige server, die bei ausfallen mir zeigen muss,wann das geschah und wann wieder neue gestart wurde und die habe ich mir shell geschrieben und dazu brauche ich auch logger oder hast du bessere vorschlag, wie ich das machen könnte?

lg
pablo

Hallo pablo_fernando,

ich muss mit syslog logger mein
skript schreiben,

Gut, das habe ich jetzt verstanden. Aber bitte, bleib ganz ruhig. Es gibt keinen Grund, deine Frage dreimal zu posten, und das außerdem noch in zwei verschieden Brettern. Wir machen das hier alles freiwillig und in unserer Freizeit und manchmal dauert es etwas, bis eben jemand Zeit und Lust hat, deine Frage zu beantworten.

ich überwache einige server,
die bei ausfallen mir zeigen muss,wann das geschah und wann
wieder neue gestart wurde und die habe ich mir shell
geschrieben und dazu brauche ich auch logger

Ganz langsam kommt etwas Licht in das Dunkel deiner Fragen, aber leider nur ganz langsam. Du hast zuerst was von Zeit umstellen geschrieben, das hat Herrmann dann als Veränderung des Zeitformats interpretiert, liegt er denn damit richtig?
Du schreibst jetzt, Du hättest schon ein Skript, wie sieht es denn aus, welche Aufgabe erfüllt es, könntest Du es hier posten?
Ich will dir erklären, warum ich Probleme habe, dich zu verstehen. Du möchtest Systemausfälle überwachen/protokollieren, so weit so gut. Aber das tut syslogd bzw. klogd (für den Kernel) schon selbst, wenn sie entsprechend konfiguriert wurden. Da gibt es für den syslogd die Konfigurationsdatei /etc/syslog.conf, kommst Du damit klar?
Bis dahin kommt logger überhaupt nicht vor, sondern erst, wenn Du eigene Skripte schreibst und möchtest, daß deren (Fehler-)Meldungen nicht einfach nur auf dem Bildschirm runterrauschen oder in eine eigene Datei geschrieben werden (für diese Zwecke ist logger immer noch entbehrlich). Möchtest Du aber, daß die Skript-Meldungen von syslogd entgegengenommen und verarbeitet werden, dann brauchst Du logger.
Aber was sollen wir dazu sagen und raten, wenn wir gar nicht wissen, wie dein Skript aussieht, wie die Meldungen aussehen, welche Du überhaupt möchtest usw.

Also etwas genauer (und verständlicher) wäre besser…

Viele Grüße
Marvin

Hi

stimmt. ich habe mein Skript geschrieben und soll auch die Skript-Meldungen von syslogd entgegengenommen und verarbeitet werden, d.h soll auch mir sagen,z.b wenn ich ein processor wie Spectroserver aufrufe, dann soll mr zeigen, ja server läuft noch, aber wenn nicht soll dann neu gestartet werden… Achtung bis dahin habe ich sauber geschrieben aber bloss die zeit, wann genau geschah die neu start (Fehl) Meldungen…

Hallo pablo_fernando,

stimmt. ich habe mein Skript geschrieben

bis dahin habe ich sauber geschrieben aber bloss die zeit,
wann genau geschah die neu start (Fehl) Meldungen…

Vielleich reden wir anneinander vorbei, aber Datum, Zeit und Rechner, auf dem irgendwas passiert ist, das steht alles schon in den Meldungen, die der Dämon syslogd schreibt. Als Beispiel ein kleiner Auszug, was mein Kernel so getrieben hat (einen Absturz kann ich leider nicht bieten :wink::

Feb 24 12:08:00 eternity kernel: RAMDISK driver initialized: 16 RAM disks of 65536K size 1024 blocksize
Feb 24 12:08:00 eternity kernel: pnp: the driver 'i8042 kbd' has been registered
Feb 24 12:08:00 eternity kernel: pnp: match found with the PnP device '00:0b' and the driver 'i8042 kbd'
Feb 24 12:08:00 eternity kernel: pnp: the driver 'i8042 aux' has been registered

Und dies steht alles in der Datei /var/log/kernel.log, weil in der Konfigurationsdatei /etc/syslog.conf u.a. so eine Zeile steht

kern.\* -/var/log/kern.log

die syslogd anweist, alle (*) Meldungen vom Kernel in die Datei /var/log/kern.log zu schreiben. Dort würde dann auch die Zeit des Neustarts stehen, sieht dann so aus:

Feb 24 10:31:46 eternity kernel: Kernel logging (proc) stopped.
Feb 24 10:31:46 eternity kernel: Kernel log daemon terminating.
Feb 24 12:08:00 eternity kernel: klogd 1.4.1#18, log source = /proc/kmsg started.

Alles da, also, woran fehlt es noch?

Viele Grüße
Marvin

HI

aber warum hat dann mein Betruer mir gesagt, dass ich auch ein skript schreiben soll, um zu zeigen, wann die Fehl-meldeungen kamen? Er hat sogar gesagt bitte mit logger syslog…

lg
fernando

Hallo pablo_fernando,

aber warum hat dann mein Betruer mir gesagt, dass ich auch
ein skript schreiben soll, um zu zeigen, wann die
Fehl-meldeungen kamen? Er hat sogar gesagt bitte mit logger

Das musst Du deinen Betreuer fragen, nicht mich…
Aber ich vermute mal, zur Übung.
Das Problem hier ist doch einfach, daß ich so ungefähr weiss, was Du machen sollst, aber eben nur ungefähr. Ich kann es nicht oft genug wiederholen, Du sagst,

ich habe mein Skript geschrieben

aber gesehen habe ich es noch nicht. Was soll ich dir da jetzt helfen?
Gut, ich bringe dir noch ein Beispiel, wie logger in einem Skript verwendet werden kann, vielleicht hilft es dir ja ein wenig:

#!/bin/bash
lebt()
{
 ping -c1 -W1 $1 \>/dev/null
}

if lebt localhost ; then
 logger -t server-abfrage.sh "Server lebt"
else
 logger -t server-abfrage.sh "Server ist tot"
fi

Dieses rudimentäre Skript fragt per ping einen Server ab, schickt den Status dann mit logger zu syslogd, der versieht das alles mit Datum und Uhrzeit und schreibt es in eine Datei, die in syslog.conf definiert wurde. So ist ganz kurz der Mechanismus.

Viele Grüße
Marvin