Da ich es nicht schön fand, die Container nach den Json-Logs zu durchstöbern und weil ich die Logs per logrotate archivieren möchte, habe ich eine Lösung entwickelt, welche die Logs aus den Containern per rsyslog an meinen Host schickt.
Diese Anleitung erhebt keinen Anspruch auf Vollständigkeit, aber vielleicht will der ein oder andere es nachvollziehen und vielleicht geht einiges davon – konfigurierbar – in die offizielle Version/Doku ein. Es könnte bessere Lösungen geben, aber mit meinem kleinen Know How hat es geklappt. Beispiel mit meiner lokalen IP 192.168.10.1
Aktivieren des Empfangs von Syslogs auf dem lokalen Host in der Datei /etc/rsyslog.conf (Einträge aktivieren bzw. ändern). module(load="imudp") # needs to be done just once input(type="imudp" port="514" address="192.168.10.1")
Umstellen Docker auf den log-Driver syslog, statt json in der Datei /etc/docker/daemon.json:
{
„log-driver“: „syslog“,
„log-opts“: {
„syslog-address“: „udp://192.168.10.1:514“
}
}
Restart rsyslog.service, docker und Neustart von OTOBO per compser.
BINGO. Die Datei /var/log/messages ist nun voll von den Logs aus den Containern.
Ich will weitergehen, und hier kommt nun der OTOBO-spezifische Teil. Ich wollte für jeden OTOBO-Container eine eigene Log-Datei. Erweiterungen der Dateien /opt/otobo-docker/docker-compose/otobo-base.yml und /opt/otobo-docker/docker-compose/otobo-nginx-custom-config.yml. Hier habe ich bei jedem Service einen Logging-Tag eingefügt.
Zwei Beispiele:
Unter dem Service db den Eintrag logging: options: tag: "otobo_db_1"
und unter dem Servie web den Eintrag logging: options: tag: "otobo_web_1"
Neustart von OTOBO:
BINGO. In /var/log/messages kommen nun die Tags an.
Diese Tags leiten wir nun um, damit für jeden Container ein eigenes Logfile in /var/log/otobo erzeugt wird.
Datei /etc/rsyslog.conf: :syslogtag, startswith, "otobo_db_1" /var/log/otobo/otobo_db_1 :syslogtag, startswith, "otobo_web_1" /var/log/otobo/otobo_web_1 :syslogtag, startswith, "otobo_daemon_1" /var/log/otobo/otobo_daemon_1 :syslogtag, startswith, "otobo_elastic_1" /var/log/otobo/otobo_elastic_1 :syslogtag, startswith, "otobo_redis_1" /var/log/otobo/otobo_redis_1 :syslogtag, startswith, "otobo_nginx_1" /var/log/otobo/otobo_nginx_1
Restart von rsyslog.service und siehe da: ls -alt /var/log/otobo -rw-------. 1 root root 14809 Feb 28 01:38 otobo_daemon_1 -rw-------. 1 root root 3976 Feb 28 01:36 otobo_redis_1
Die Anleitung wie man die Docker Logs nach rsyslog umleitet sollte irgendwo als Howto in das Installations-Handbuch. Ich vermute aber, dass das ein bisschen dauern wird.
Auf Seiten von OTOBO gibt es auch noch ein paar Hausaufgaben. Aktuell landet das reguläre OTOBO Log in der Datei /opt/otobo/var/log/otobo.log. Sinnvoller fände ich die Ausgabe aus STDOUT so dass das reguläre Docker-Logging greifen kann. Was da das Beste Vorgehen ist kann ich aber nicht beurteilen. Meine Docker-Kenntnisse sind alle erst kürzlich angelesen.
Wir verwenden Cookies, um diese Website optimal gestalten und laufend verbessern zu können. Für Analyse und Statistik nutzen wir Google Analytics (anonymisiert).
Unsere Website verwendet Cookies. Cookies sind kleine Textdateien, die beim Aufruf von Websites im Internetbrowser bzw. vom Internetbrowser auf Ihrem Endgerät gespeichert werden. Diese Cookies enthalten eine charakteristische Zeichenfolge, die eine eindeutige Identifizierung des Browsers beim erneuten Aufrufen der Website ermöglichen.
Sie können das Setzen von Cookies jederzeit über eine entsprechende Einstellung in Ihrem Internetbrowser verhindern. Bereits gesetzte Cookies können jederzeit manuell oder automatisiert gelöscht werden. Dies ist in allen gängigen Internetbrowsern möglich. Wird das Setzen von Cookies im Browser deaktiviert, sind unter Umständen nicht alle Funktionen der Website vollumfänglich nutzbar.
Wir gehen grundsätzlich sehr sparsam mit Cookies um.
Detaillierte Informationen finden Sie in Abschnitt 4 unserer Hinweise zum Datenschutz.
Technisch erforderliche Cookies
Diese Cookies sind erforderlich, um die Darstellung dieser Website und einiger ihrer Features zu gewährleisten.
Deshalb bieten wir hier auch keine Möglichkeit an, diese Cookies zu deaktivieren.
Dessen ungeachtet können Sie jederzeit durch entsprechende Einstellungen in Ihrem Browser alle Cookies deaktivieren. Unter Umständen stehen Ihnen dann nicht mehr alle Funktionalitäten dieser Website zur Verfügung.
Weitere Informationen zu den gesetzten Cookies und zur Speicherdauer finden Sie in Abschnitt 4 unserer Hinweise zum Datenschutz.
Cookies von Google Analytics
Beim Besuch der Website werden Cookies von Google Analytics gesetzt, die eine Analyse der Benutzung unserer Website durch Sie ermöglichen. Ihre IP-Adresse wird dabei durch technische Vorkehrungen pseudonymisiert (IP-Anonymisierung und Deaktivierung der User-ID). Eine Zuordnung der Daten zum aufrufenden Nutzer ist daher nicht mehr möglich. Die Daten werden nicht gemeinsam mit anderen personenbezogenen Daten der Nutzer gespeichert.
Wenn Sie nicht möchten, dass wir Ihren Besuch auf unserer Website verfolgen, können Sie das Tracking in Ihrem Browser hier deaktivieren:
Hinweise zum Datenschutz
Detaillierte Informationen zum Einsatz von Cookies sowie unsere Datenschutzerklärung finden Sie hier: