"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

syslog

lama007 05.01.2009 - 16:53 1025 7 Thread rating
Posts

lama007

OC Addicted
Avatar
Registered: Mar 2002
Location: Austria
Posts: 851
Hi,

ist das, was ein syslog-daemon mitschreibt, nur für mich, den Administrator, gedacht - oder greift das System auch auf geloggte Daten zu?

COLOSSUS

Administrator
GNUltra
Avatar
Registered: Dec 2000
Location: ~
Posts: 12067
Diese Frage ist pauschal und allgemeingueltig nicht beantwortbar.

Bei weitem nicht alle Daten, die an syslog uebergeben werden, sind so sensitiv, dass sie nur der Super-User sehen duerfte. Trotzdem entscheiden sich viele Admins hier zu bewusster Geheimniskraemerei.

Manche Hosts lassen bestimmte Logfiles von Zusatzsoftware auswerten; beliebt ist z. B. webalizer (oder aehnliche Software) fuer Webserver-Logs. Da gibt es hunderte verschiedene Programme fuer unzaehlige verschiedene Dienste.

Wenn deine Frage eigentlich darauf abzielt, ob du die Inhalte von /var/log/ einfach loeschen kannst, ohne Probleme zu kriegen, ist die Antwort ein klares "Jein" ;)
Wenn du naemlich eine Datei loescht/truncatest, auf die irgendein Prozess im System noch einen Filedeskriptor offen hat (bei Logfiles eigentlich immer der Fall, wenn der darin loggende Daemon laeuft), dann gibt das Dateisystem diesen Platz nicht gleich frei. Erst wenn der letzte Filedeskriptor auf das File geschlossen wird, werden die Aenderungen entsprechend committed.
Loeschen ist ueberhaupt problematisch, weil viele Daemons nicht unter EUID 0 laufen, und ein guter Teil (oft aufgrund mangelhafter Programmierung) die Filedeskriptoren auf ihre Logfiles auch nicht dann oeffnen, waehrend sie noch mit EUID 0 laufen. Das hat dann zur Folge, dass ihr normaler User vielleicht gar kein fopen() in /var/log/ ausfuehren darf (weil dort idR nur root schreiben darf), und dann gibt's entweder gar kein Log, oder einen sterben Daemon, der auch in keinem Logfile preisgeben kann, warum es ihn nicht freut. Catch-22 quasi.
Ein aehnlich unangenehmes Problem sind auch volle Dateisysteme fuer /var/log. Deswegen sollte man auf jedem Host das logrotate-Paket installiert haben, das sich - sofern korrekt konfiguriert (und das ist es bei den meisten Distributionen ab Werk) - automagisch um all diese Unschoenheiten kuemmert.

lama007

OC Addicted
Avatar
Registered: Mar 2002
Location: Austria
Posts: 851
Es ist für mein Eco-Script für den Akkubetrieb. Ich möchte unter Umständen mit "/etc/init.d/syslog stop" den Daemon stoppen, um die HD-Zugriffe einzuschränken.

that

Hoffnungsloser Optimist
Avatar
Registered: Mar 2000
Location: MeidLing
Posts: 11338
Wärs da nicht praktischer, in eine Ramdisk zu loggen?

Marcellus

OC Addicted
Avatar
Registered: Mar 2005
Location: ~
Posts: 1755
Abgesehen davon wird das syslog sowieso gecached in der Festplatte, das wird ja nicht bei jeder message sofort runtergespielt. Und alle Festplattenzugriffe wirst du sowieso nicht los.

lama007

OC Addicted
Avatar
Registered: Mar 2002
Location: Austria
Posts: 851
Alle nicht - so viel halt geht.
Auf die Idee gebracht hat mich das hier:
Zitat
Damit der Puffer der Platte (heutzutage meist 8 bis 16 Megabyte) nicht zu schnell voll wird, was in der Folge das Einschalten derselben zur Folge hätte, müssen natürlich möglichst alle I/O-intensiven Tätigkeiten (Cronjobs, Skripte etc.) vermieden resp. abgeschaltet werden. Besonders erwähnenswert ist hier der Syslog-Daemon. Dieser bietet die Möglichkeit des gepufferten Schreibens. Um dies zu aktivieren , muss im /etc/rsyslog.conf (das Ding heisst je nach Distribution etwas anders) vor jeden Eintrag ein “-” gesetzt werden.
http://www.linuxhome.ch/linux/update-noch-mehr-stromsparen-mit-dem-lenovo-thinkpad-x61s/
Mit den "laptop-mode-tools" würde das automatisch gehen, aber ich will mein Script selbst starten und stoppen. Und die Form "kern.* /var/log/kern.log" habe ich in syslog-ng.config nicht gefunden.
Ich vermute, in eine Ramdisk zu loggen, wäre noch einigermaßen machbar , aber einfacher ist den Dienst zu stoppen.

In meinem ersten Post - heißt es: "...für mich, den Administrator..." oder "für mich, dem Administrator..."?

COLOSSUS

Administrator
GNUltra
Avatar
Registered: Dec 2000
Location: ~
Posts: 12067
"mich" = Akkusativ - "den Administrator". :)

Ich wuerde auf das Syslog (und auch den Daemon) nicht verzichten, zu keinem Zeitpunkt - auch nicht im Akkubetrieb, um noch zwei Minuten mehr herauszuquetschen.
Du koenntest dir Gedanken machen, auf welche Log-Informationen du verzichten koenntest (jede Syslog-Meldung hat eine bestimmte Severity, die du an verschiedenen Stellen auswerten und entsprechend -filtern kannst), und dann die entsprechenden Dienste so zu konfigurieren, dass nur noch wirklich wichtige Dinge geschrieben werden.

lama007

OC Addicted
Avatar
Registered: Mar 2002
Location: Austria
Posts: 851
nach dem Motto "keep it simple" und "versuche nicht das Rad neu zu erfinden" werde ich doch auf die laptop-mode-tools zurückgreifen und es so herrichten, dass ich sie selbst starten und stoppen kann.
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz