Fehler in der Datei rsyslog.conf, wie man mehr als ein Gerät protokolliert?

0

Ich versuche meinen dd-wrt Router und mein nas4free Gerät zu loggen. Alle Protokolle werden an einen Ersatz-Raspberrypi gesendet, an den eine USB-Festplatte angeschlossen ist, um die Protokolldateien zu speichern. Es gibt jedoch ein Problem mit meiner Datei rsyslog.conf. Der folgende Code wurde hinzugefügt, um die Protokolle von den Geräten an den an den raspberrypi angeschlossenen USB-Stick zu senden:

# logs for the wifi router are saved here:
$template ddwrtlogs,"/mnt/syslog/192.168.1.1.log"
*.* ?ddwrtlogs
#
# logs for the nas4free are saved here:
$template nas4freelogs,"/mnt/syslog/192.168.1.200.log"
*.* ?nas4freelogs

Dies funktioniert für das Gerät 192.168.1.1, aber in der Protokolldatei 192.168.1.200.log finde ich dieselben Protokolle wie in der Datei 192.168.1.1.log. Kopieren Sie sie einfach an beide Speicherorte. Keine Logs von meinem nas4free.

Ich habe beide protokollierten Geräte aktualisiert, um alle Protokolle an 192.168.1.220 (= raspberrypi) zu senden.

In der Tat weiß ich nicht, wie es funktioniert, zwei Geräte zu protokollieren. Der Code ist falsch. Ich kann es für ein Gerät zum Laufen bringen, aber wenn ich in der Datei /etc/rsyslog.conf ein zweites hinzufüge, funktioniert es einfach nicht.

Vielen Dank im Voraus für die Lösung.

Maxime
quelle

Antworten:

0

So habe ich es gemacht:

Zuerst die /etc/rsyslog.confDatei ändern . Es ist eine ziemlich lange Konfigurationsdatei, aber die einzigen Zeilen, die Sie ändern müssen, sind folgende:

# provides UDP syslog reception $ModLoad imudp $UDPServerRun 514

# provides TCP syslog reception $ModLoad imtcp $InputTCPServerRun 514

Gehen Sie zu /etc/rsyslog.d/und erstellen Sie Dateien mit dem Namen der Geräte, von denen Sie Eingaben erwarten. Dies sind meine Beispiele:

touch 10-ddwrt.conf
touch 20-nas4free.conf

Und hier ist die Konfiguration jeder Datei:

$template ddwrt, "/path/to/your/logfile/ddwrt.log" :fromhost-ip, isequal, "192.168.1.1" -?ddwrt & stop

$template nas4free, "/path/to/your/logfile/nas4free.log" :fromhost-ip, isequal, "192.168.1.200" -?nas4free & stop

Und das Beste daran ist, dass mit dieser Konfiguration Ihr lokales Syslog weiterhin funktioniert und in /var/log/

Bonus verbleibt : Ich habe auch die logrotateKonfiguration geändert . Die Protokollrotation bietet eine Möglichkeit, die Gesamtgröße der gespeicherten Protokolle zu begrenzen und gleichzeitig die Analyse der letzten Ereignisse zu ermöglichen.

Gehen Sie zu /etc/logrotate.d/und fügen Sie die Geräte hinzu, von denen Sie Protokolle erhalten. So:

touch ddwrt
touch nas4free

Dies ist die Konfiguration beider Dateien:

/media/pi/USB/Logs/ddwrt.log { weekly rotate 7 size 50M notifempty create compress postrotate invoke-rc.d rsyslog rotate > /dev/null endscript }

/media/pi/USB/Logs/nas4free.log { weekly rotate 7 size 50M notifempty create compress postrotate invoke-rc.d rsyslog rotate > /dev/null endscript }

Maxime
quelle