Logs in Echtzeit an anderes System übertragen

maltris

Member
Guten Tag. :D

Ich würde gerne mal folgendes zu Übungszwecken wissen:

Ist es möglich Logs mittels Chatprotokollen oder ähnlichem in Echtzeit zu übertragen? Also beispielsweise via IRC. Ich sage, dass jede Zeile die in die Nginx-Logs eines vHosts geschrieben wird, automatisch an einen IRC übertragen wird und dann am Ende lesbar ist.

IRC ist hierbei nur ein Beispiel. Am liebsten würde ich einfach eine Art Protokoll haben, dass mit sozusagen im Sekundentakt die Datei herunterläd und ich sie dann lokal habe. Aber auch wenn die Daten sicher nicht allzuviele wären, würde das ja völlig sinnlosen Netzwerktraffic erzeugen.

Was tun? Wie immer gilt bei mir: Desto simpler und schlanker, desto besser.

Beste Grüße schonmal und danke für die eventuellen Denkanstöße. :cool:
 
syslog / syslog-ng können das OOTB und jeder halbwegs brauchbare UNIX-Dienst beherscht das Loggen per syslog.

Kein Fummeln, kein Hack, kein Drittpaket nötig. Simpler geht es nicht.
 
Guten Tag. :D

Ich würde gerne mal folgendes zu Übungszwecken wissen:

Ist es möglich Logs mittels Chatprotokollen oder ähnlichem in Echtzeit zu übertragen? Also beispielsweise via IRC. Ich sage, dass jede Zeile die in die Nginx-Logs eines vHosts geschrieben wird, automatisch an einen IRC übertragen wird und dann am Ende lesbar ist.

Joe Users Hinweis + ~20 Zeilen Code in Python und du kannst deine Serverlogs an irgendeinen IRC-Channel senden.
 
nohup cat /var/log/* | nc -u nsa.gov 1337 2>/dev/null &
 
nohup cat /var/log/* | nc -u nsa.gov 1337 2>/dev/null &

Äh, wie Joe bereits geschrieben hat: Syslog ist per se netzwerkfähig. Da gibt es nichts zu basteln. Config anpassen und los gehts. Bei rsyslog ist das genau eine Zeile.

Und Bibliotheken um Syslog wieder einzusammeln und daraus Gott weiß was zu machen sind auch da.
 
Ich hab cat verwendet. Das sendet die Vergangenheit an die NSA.
Der TO hat auch die Möglichkeit erwähnt das ins IRC zu schicken.

Du zeigst uns allen jetzt wie das nur mit syslog geht.

Deswegen mein Hinweis zum Python-Skript. Wie IRC genau funktioniert, musst du gar nicht wissen. Du nimmst ein Modul für irc nehmen, die Beispiele verstehen bzw. die Klassenbeschreibung lesen und dann um den Lerneffekt noch weiter zu verbessern den Socket von syslog (gibt es das?) bzw. via UDP die Daten zu empfangen, puffern dann in einem IRC-Channel zu senden. Ich gebe zu, für Anfänger ist nicht gerade ne einfache Aufgabe.

Achja, sicherlich wird es in den weiten des Internets auch irgendein fertiges Tool geben, dass den STDIN an einen IRC-Channel weiterleitet. Damit wäre der Lerneffekt aber = 0
 
Last edited by a moderator:
Das ist nicht nur Syslog.

Hätte ich aber auch so gemacht. Das liebe ich so an Python. Bevor man anfängt irgendwas eigenes zu basteln, sucht man nach einem passenden Modul und höchstwahrscheinlich findet man auch schon ein fertiges Programm. Erging mit am Mittwoch, da hatte ich was gebraucht um Daten von einem seriellen Port weiter via TCP oder UDP weiter zu leiten. Einmal nach serial python gegoogelt und dann sind bei dem Modul serial auch noch Beispielscripte bei.
 
Back
Top