Mein Ziel ist es, die apt / dpkg- Aktivität mit syslog (rsyslog) zu protokollieren , damit Protokolleinträge an den zentralen Syslog-Server gesendet werden.
dpkg schreibt in /var/log/dpkg.log
, apt schreibt in ein /var/log/apt
Verzeichnis.
Ich habe einige Nachforschungen angestellt und es scheint, dass apt oder dpkg Syslog verwenden können. Die einzige Option ist die Verwendung der Funktion "Text File Input Module" von rsyslog ( http://www.rsyslog.com/doc/master/configuration/modules/imfile.html ), mit der die Protokolldatei regelmäßig auf neuen Inhalt überprüft wird.
/etc/dpkg/dpkg.cfg
Die Konfigurationsdatei verfügt über eine log
Option, es gibt jedoch keine Handbuchseite für die Optionen und Funktionen von dpkg.cfg.
Ist wirklich rsyslog imfile die einzige Option?
syslog
stattdessen oder zusätzlich zu den Orten anmeldet, an denen es sich anmeldet?Antworten:
Für dpkg kann dies durch Hinzufügen erfolgen
zu /etc/dpkg/dpkg.cfg . Da apt-get dpkg aufruft, werden auch apt-get / apt-Aktionen protokolliert. Siehe
man logger
für die Informationen Anpassung an den Syslog protokolliert.Ich verwende diese ansible Aufgabe, um die Konfigurationen zu aktualisieren:
Wenn Sie das systemd-Journal verwenden, können Sie die Protokolle bequem über überprüfen
quelle
become: yes
einen Fehler vermeiden muss:FAILED! => {"changed": false, "msg": "The destination directory (/etc/dpkg) is not writable by the current user. Error was: [Errno 13] Permission denied: '/etc/dpkg/.ansible_tmppkCGRodpkg.cfg'"}
Über die
--log
Option können Sie ändern, wo dpkg seine Ausgabe protokolliert . Dies erlaubt nur Dateinamen. DPKG wurde als einfaches und effizientes Tool zum Bearbeiten von Paketen entwickelt. Daher ist es von Vorteil, keinen Logger zu haben, der die Dinge kompliziert. Der einfachste Weg wäre, dass Sie in eine Datei schreiben und Syslog aus dieser Datei liest, wie Sie bereits wissen.Sie können verwenden
status-fd
, um den Status an einen Dateideskriptor wie zu senden,/dev/log
oderstatus-logger
um einen Mittelsmann zu haben, der die Einträge an das Syslog sendet.quelle