Benötige Hilfe mit Ramlog

Warum Debian und/oder eine seiner Spielarten? Was muss ich vorher wissen? Wo geht es nach der Installation weiter?
Antworten
Crogge
Beiträge: 58
Registriert: 19.07.2011 21:28:45

Benötige Hilfe mit Ramlog

Beitrag von Crogge » 14.09.2011 01:28:46

Ich bin seit mehreren Stunden damit beschäftigt Ramlog zum laufen zu bringen, so wie es aussieht mit Erfolg. Ich hatte ähnliche Probleme wie in diesem Thread: http://debianforum.de/forum/viewtopic.php?f=32&t=123886

Also habe ich in der /etc/rc2.d/S01ramlog folgendes hinzugefügt:

Code: Alles auswählen

 X-Start-Before: rsyslog nmbd smbd fail2ban lighttpd
Außerdem in den Dateien /etc/rc2.d/S18fail2ban /etc/rc2.d/S18lighttpd /etc/rc2.d/S17samba folgendes:

Code: Alles auswählen

Required-Start: ... ramlog
Seitdem funktioniert Ramlog und loggt (Hoffentlich?) alles in den RAM. Der Status Befehl gibt folgendes aus:

Code: Alles auswählen

root@xxxxxxxx:/etc/rc2.d# /etc/init.d/ramlog status
ramlog is running...
Die Ausgabe von "DF":

Code: Alles auswählen

Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/sda1              3844152    811704   2837172  23% /
tmpfs                   253464         0    253464   0% /lib/init/rw
udev                    249028       108    248920   1% /dev
tmpfs                   253464         0    253464   0% /dev/shm
tmpfs                   262144         0    262144   0% /tmp
ramlog-tmpfs            253464     18108    235356   8% /var/log
/dev/sdb1            151873632    208728 143950092   1% /media/usbhdd
Trotzdem sehen die ramlog logs nicht gut aus und beunruhigen mich etwas:

Code: Alles auswählen

Sep 14 01:08:45 ramlog is running...
Sep 14 01:10:53 Stopping ramlog: Error: /var/log is still in use...      [fail]
Sep 14 01:10:53 The list of open files: (You need to close below daemons if you want to start/stop ramlog manually)

COMMAND    PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
rsyslogd   898 root    1w   REG   0,18  1462713 3811 /var/log/syslog
rsyslogd   898 root    2w   REG   0,18  1279291 3813 /var/log/kern.log
rsyslogd   898 root    5w   REG   0,18  1076475 3825 /var/log/messages
rsyslogd   898 root    6w   REG   0,18   207846 3824 /var/log/debug
rsyslogd   898 root    7w   REG   0,18   147384 3812 /var/log/daemon.log
rsyslogd   898 root    8w   REG   0,18    65650 3810 /var/log/auth.log
rsyslogd   898 root    9w   REG   0,18     4448 3816 /var/log/user.log
smbd       940 root    2w   REG   0,18     4911 3840 /var/log/samba/log.smbd
smbd       940 root    9w   REG   0,18     4911 3840 /var/log/samba/log.smbd
smbd       966 root    2w   REG   0,18     4911 3840 /var/log/samba/log.smbd
smbd       966 root    9w   REG   0,18     4911 3840 /var/log/samba/log.smbd
fail2ban- 1308 root    5w   REG   0,18    65943 3829 /var/log/fail2ban.log
bash      1390 root  cwd    DIR   0,18      800 3779 /var/log
Sep 14 01:10:53 Test result: ramlog cannot be started or stopped at the moment.
Sep 14 01:12:01 Starting ramlog-tmpfs 2.0.0:                             [ OK ]
Sep 14 01:13:06 ramlog is running...
Sep 14 01:18:08 ramlog is running...
Der "Restart" Syntax scheint ohne Probleme zu funktionieren:

Code: Alles auswählen

Sep 14 01:37:35 ramlog is called with wrong argument(s): ''
Sep 14 01:37:41 ramlog is running...
Sep 14 01:37:52 Ramlog: Size of /var/log is: 18216 kbytes
Sep 14 01:38:06 Restarting ramlog = saving logs to hdd:                  [ OK ]
Sep 14 01:38:13 ramlog is running...
Läuft Ramlog nun Ordnungsgemäß oder werden die Logs weiterhin auf die CF Karte geschrieben? Wieso treten die Fehler beim herunterfahren auf?
Zuletzt geändert von Crogge am 14.09.2011 02:09:53, insgesamt 2-mal geändert.

Gunman1982
Beiträge: 923
Registriert: 09.07.2008 11:50:57
Lizenz eigener Beiträge: MIT Lizenz

Re: Benötige Hilfe mit Ramlog

Beitrag von Gunman1982 » 14.09.2011 02:02:04

Crogge hat geschrieben: Seitdem funktioniert Ramlog und loggt (Hoffentlich?) alles in den RAM. Der Status Befehl gibt folgendes aus:

Code: Alles auswählen

root@xxxxxxxx:/etc/rc2.d# /etc/init.d/ramlog status
ramlog is running...
Die Ausgabe von "DF":

Code: Alles auswählen

Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/sda1              3844152    811704   2837172  23% /
tmpfs                   253464         0    253464   0% /lib/init/rw
udev                    249028       108    248920   1% /dev
tmpfs                   253464         0    253464   0% /dev/shm
tmpfs                   262144         0    262144   0% /tmp
ramlog-tmpfs            253464     18108    235356   8% /var/log
/dev/sdb1            151873632    208728 143950092   1% /media/usbhdd
Trotzdem sehen die ramlog logs nicht gut aus und beunruhigen mich etwas:

Code: Alles auswählen

Sep 14 01:08:45 ramlog is running...
Sep 14 01:10:53 Stopping ramlog: Error: /var/log is still in use...      [fail]
Sep 14 01:10:53 The list of open files: (You need to close below daemons if you want to start/stop ramlog manually)

COMMAND    PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
rsyslogd   898 root    1w   REG   0,18  1462713 3811 /var/log/syslog
rsyslogd   898 root    2w   REG   0,18  1279291 3813 /var/log/kern.log
rsyslogd   898 root    5w   REG   0,18  1076475 3825 /var/log/messages
rsyslogd   898 root    6w   REG   0,18   207846 3824 /var/log/debug
rsyslogd   898 root    7w   REG   0,18   147384 3812 /var/log/daemon.log
rsyslogd   898 root    8w   REG   0,18    65650 3810 /var/log/auth.log
rsyslogd   898 root    9w   REG   0,18     4448 3816 /var/log/user.log
smbd       940 root    2w   REG   0,18     4911 3840 /var/log/samba/log.smbd
smbd       940 root    9w   REG   0,18     4911 3840 /var/log/samba/log.smbd
smbd       966 root    2w   REG   0,18     4911 3840 /var/log/samba/log.smbd
smbd       966 root    9w   REG   0,18     4911 3840 /var/log/samba/log.smbd
fail2ban- 1308 root    5w   REG   0,18    65943 3829 /var/log/fail2ban.log
bash      1390 root  cwd    DIR   0,18      800 3779 /var/log
Sep 14 01:10:53 Test result: ramlog cannot be started or stopped at the moment.
Sep 14 01:12:01 Starting ramlog-tmpfs 2.0.0:                             [ OK ]
Sep 14 01:13:06 ramlog is running...
Sep 14 01:18:08 ramlog is running...
Läuft Ramlog nun Ordnungsgemäß oder werden die Logs weiterhin auf die CF Karte geschrieben? Wieso treten die Fehler beim herunterfahren auf?
Ramlog läuft allerdings musst du bevor du Ramlog stopst auch die Processe stoppen die noch offene Zugriffe auf das durch Ramlog zur Verfügung gestellte Dateisystem haben. Sagt er dir ja auch das er nicht stoppen kann weil noch die daemons laufen.

Füge wie auch bei X-Start-Before die gleichen Prozesse bei X-Stop-After ein:

Code: Alles auswählen

 X-Stop-After: rsyslog nmbd smbd fail2ban lighttpd
Unter umständen auch noch bash dazu.

Crogge
Beiträge: 58
Registriert: 19.07.2011 21:28:45

Re: Benötige Hilfe mit Ramlog

Beitrag von Crogge » 14.09.2011 02:21:10

Gunman1982 hat geschrieben:
Crogge hat geschrieben: Seitdem funktioniert Ramlog und loggt (Hoffentlich?) alles in den RAM. Der Status Befehl gibt folgendes aus:

Code: Alles auswählen

root@xxxxxxxx:/etc/rc2.d# /etc/init.d/ramlog status
ramlog is running...
Die Ausgabe von "DF":

Code: Alles auswählen

Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/sda1              3844152    811704   2837172  23% /
tmpfs                   253464         0    253464   0% /lib/init/rw
udev                    249028       108    248920   1% /dev
tmpfs                   253464         0    253464   0% /dev/shm
tmpfs                   262144         0    262144   0% /tmp
ramlog-tmpfs            253464     18108    235356   8% /var/log
/dev/sdb1            151873632    208728 143950092   1% /media/usbhdd
Trotzdem sehen die ramlog logs nicht gut aus und beunruhigen mich etwas:

Code: Alles auswählen

Sep 14 01:08:45 ramlog is running...
Sep 14 01:10:53 Stopping ramlog: Error: /var/log is still in use...      [fail]
Sep 14 01:10:53 The list of open files: (You need to close below daemons if you want to start/stop ramlog manually)

COMMAND    PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
rsyslogd   898 root    1w   REG   0,18  1462713 3811 /var/log/syslog
rsyslogd   898 root    2w   REG   0,18  1279291 3813 /var/log/kern.log
rsyslogd   898 root    5w   REG   0,18  1076475 3825 /var/log/messages
rsyslogd   898 root    6w   REG   0,18   207846 3824 /var/log/debug
rsyslogd   898 root    7w   REG   0,18   147384 3812 /var/log/daemon.log
rsyslogd   898 root    8w   REG   0,18    65650 3810 /var/log/auth.log
rsyslogd   898 root    9w   REG   0,18     4448 3816 /var/log/user.log
smbd       940 root    2w   REG   0,18     4911 3840 /var/log/samba/log.smbd
smbd       940 root    9w   REG   0,18     4911 3840 /var/log/samba/log.smbd
smbd       966 root    2w   REG   0,18     4911 3840 /var/log/samba/log.smbd
smbd       966 root    9w   REG   0,18     4911 3840 /var/log/samba/log.smbd
fail2ban- 1308 root    5w   REG   0,18    65943 3829 /var/log/fail2ban.log
bash      1390 root  cwd    DIR   0,18      800 3779 /var/log
Sep 14 01:10:53 Test result: ramlog cannot be started or stopped at the moment.
Sep 14 01:12:01 Starting ramlog-tmpfs 2.0.0:                             [ OK ]
Sep 14 01:13:06 ramlog is running...
Sep 14 01:18:08 ramlog is running...
Läuft Ramlog nun Ordnungsgemäß oder werden die Logs weiterhin auf die CF Karte geschrieben? Wieso treten die Fehler beim herunterfahren auf?
Ramlog läuft allerdings musst du bevor du Ramlog stopst auch die Processe stoppen die noch offene Zugriffe auf das durch Ramlog zur Verfügung gestellte Dateisystem haben. Sagt er dir ja auch das er nicht stoppen kann weil noch die daemons laufen.

Füge wie auch bei X-Start-Before die gleichen Prozesse bei X-Stop-After ein:

Code: Alles auswählen

 X-Stop-After: rsyslog nmbd smbd fail2ban lighttpd
Unter umständen auch noch bash dazu.
Ich bedanke mich für die schnelle Antwort. Ich habe X-Stop-After ebenfalls eingetragen und sehe keine Fehler mehr in den Ramlog logs :)

Eine letzte Frage hätte ich jedoch noch, wäre es Möglich die gesicherten Logs auf einer USB Festplatte zu speichern? Ich hatte selbst bereits versucht das Script zu ändern mit folgendem Code:

Code: Alles auswählen

# Save logs to USB HDD
LOGHDD=/tmp/log.hdd
if [ -d /media/usbhdd/log.hdd ]; then LOGHDD=/media/usbhdd/log.hdd
fi
Das scheint auch soweit zu funktionieren, jedoch fehlt nach einem Neustart dann der Großteil der Logs und nur die Dateien aus /tmp/log.hdd tauchen wieder auf :( Liegt das Möglicherweise an dem verzögerten Mount der USB Festplatte?

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: Benötige Hilfe mit Ramlog

Beitrag von rendegast » 14.09.2011 16:42:04

X-Start-Before: rsyslog nmbd smbd fail2ban lighttpd
# X-Start-Before: rsyslog
Das 'X-Start-Before: ...' verschiebt die aufgeführten um eine Stufe.
Aber nicht "samba", was wohl durch "nmbd smbd" erreicht werden soll.

Eleganter scheint mir, auch weil ohne Änderung der anderen Skripte,
/etc/insserv/overrides/ramlock:

Code: Alles auswählen

### BEGIN INIT INFO
# Provides: ramlog
# Required-Start:
# Should-Start: $local_fs
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: moves /var/log into ramdisk
# Description: ramlog daemon moves /var/log to ramdisk on startup and copies it back to harddrive on shutdown or restart
#
# X-Stop-After: $syslog
# X-Interactive: true
### END INIT INFO
Dadurch gilt das Stoppen einerseits für alle Varianten $syslog und die per default darauf aufbauenden Skripte.
Und es bekommt eine eigene Startstufe, vor den anderen Skripten (wegen der geringsten Ansprüche),
also insbesondere $syslog UND samba und ff.




bash 1390 root cwd DIR 0,18 800 3779 /var/log
ist wohl die des in dem Fall zur Information abgesetzten 'lsof', siehe /etc/init.d/ramlog.
Oder auch einfach nur die Shell des gerade dort verweilenden root.
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

Crogge
Beiträge: 58
Registriert: 19.07.2011 21:28:45

Re: Benötige Hilfe mit Ramlog

Beitrag von Crogge » 14.09.2011 17:52:17

rendegast hat geschrieben:
X-Start-Before: rsyslog nmbd smbd fail2ban lighttpd
# X-Start-Before: rsyslog
Das 'X-Start-Before: ...' verschiebt die aufgeführten um eine Stufe.
Aber nicht "samba", was wohl durch "nmbd smbd" erreicht werden soll.

Eleganter scheint mir, auch weil ohne Änderung der anderen Skripte,
/etc/insserv/overrides/ramlock:

Code: Alles auswählen

### BEGIN INIT INFO
# Provides: ramlog
# Required-Start:
# Should-Start: $local_fs
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: moves /var/log into ramdisk
# Description: ramlog daemon moves /var/log to ramdisk on startup and copies it back to harddrive on shutdown or restart
#
# X-Stop-After: $syslog
# X-Interactive: true
### END INIT INFO
Dadurch gilt das Stoppen einerseits für alle Varianten $syslog und die per default darauf aufbauenden Skripte.
Und es bekommt eine eigene Startstufe, vor den anderen Skripten (wegen der geringsten Ansprüche),
also insbesondere $syslog UND samba und ff.
...
Diese Lösung funktioniert leider nicht:

Code: Alles auswählen

Sep 14 17:48:08 Starting ramlog-tmpfs 2.0.0: Error: /var/log is in use... [fail]
Sep 14 17:48:08 The list of open files: (You need to close below daemons if you want to start/stop ramlog manually)

COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF   NODE NAME
rsyslogd 835 root    1w   REG    8,1    45110 163706 /var/log/syslog
rsyslogd 835 root    2w   REG    8,1  1057428 163000 /var/log/kern.log
rsyslogd 835 root    5w   REG    8,1   890527 163558 /var/log/messages
rsyslogd 835 root    6w   REG    8,1   171742 162943 /var/log/debug
nmbd     847 root    2w   REG    8,1    22995 179774 /var/log/samba/log.nmbd
nmbd     847 root    3w   REG    8,1    22995 179774 /var/log/samba/log.nmbd
Sep 14 17:48:08 Test result: ramlog cannot be started or stopped at the moment.
Mit X-Start-Before / X-Start-After funktioniert Ramlog einwandfrei:

Code: Alles auswählen

# X-Start-Before: rsyslog samba fail2ban lighttpd atop
# X-Stop-After: rsyslog samba fail2ban lighttpd atop
Leider besteht weiterhin das Problem das früher oder später die Logs auf die CF Karte geschrieben werden und nicht wie geplant auf die USB Festplatte. Dies war auch der eigentliche Grund wieso ich überhaupt Ramlog installiert habe, denn die Logs sollten einmal täglich auf die USB Festplatte gesichert werden.

Das Problem dabei ist wohl folgendes, normalerweise funktioniert Ramlog wie folgt (Wenn ich es richtig verstanden habe):
Boot -> Ramlog starten -> Alte Logs nach tmpfs kopieren -> Programme mit Logging Funktionen starten ... Shutdown -> Programme mit Logging Funktionen stoppen -> Neue Logs auf Festplatte speichern -> Ramlog beenden

Die USB Festplatte wird aber erst relativ spät gemountet weshalb folgendes Problem entsteht:
Boot -> Ramlog starten -> Alte Logs von der Festplatte nach tmpfs kopieren (Nicht möglich da auf die alten Logs nicht zugegriffen werden kann da die USB Festplatte noch nicht initialisiert wurde!) -> Programme mit Logging Funktionen starten (Nur teilweise möglich da die entsprechenden Ordnerstrukturen für die Logs fehlen) ...

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: Benötige Hilfe mit Ramlog

Beitrag von rendegast » 15.09.2011 05:40:03

Diese Lösung funktioniert leider nicht:
Hast Du die Skripte dann auch mit 'insserv -v' reorganisieren lassen?

Die USB Festplatte wird aber erst relativ spät gemountet
In /etc/fstab eintragen, dann fällt sie unter $local_fs.
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

Crogge
Beiträge: 58
Registriert: 19.07.2011 21:28:45

Re: Benötige Hilfe mit Ramlog

Beitrag von Crogge » 15.09.2011 06:20:45

rendegast hat geschrieben:
Diese Lösung funktioniert leider nicht:
Hast Du die Skripte dann auch mit 'insserv -v' reorganisieren lassen?

Die USB Festplatte wird aber erst relativ spät gemountet
In /etc/fstab eintragen, dann fällt sie unter $local_fs.
Ja ich habe alle Scripts danach mit dem genannten Befehl neu sortiert, jedoch habe ich mich nicht weiter damit beschäftigt da die Momentane Lösung ohne Probleme läuft.

Die Festplatte ist bereits in /etc/fstab eingetragen, dort hatte ich auch den "auto" Syntax verwendet. Die USB Festplatte wird jedoch zu spät initialisiert und wird daher von /etc/fstab ignoriert weshalb ich ein init.d Script geschrieben habe welches die Festplatte vor dem Start von wichtigen Programmen selbst mountet.

Script zum starten -> http://pastebin.com/qTA7ZfuH
Script zum stoppen -> http://pastebin.com/fzNV6Qft
(Vielleicht hilft es jemanden weiter)

Im Prinzip bleibt nur noch folgendes Problem bestehen:
Ramlog speichert täglich bzw. bei jedem shutdown die Logs auf der CF Karte ab die eigentlich geschont werden soll. Daher habe ich folgende Fragen:

- Kann ich das tägliche sichern der Logs abschalten bzw. einen höheren Intervall verwenden?
- Wie kann ich das allgemeine Loglevel auf "Error only" setzen?
- Kann die CF Karte (Transcend CF200i) einen Dauerbetrieb zusammen mit dem angepassten Ramlog aushalten?

Ich bedanke mich im Voraus für eine Antwort :)

Crogge
Beiträge: 58
Registriert: 19.07.2011 21:28:45

Re: Benötige Hilfe mit Ramlog

Beitrag von Crogge » 19.09.2011 03:42:17

Crogge hat geschrieben:...
- Wie kann ich das allgemeine Loglevel auf "Error only" setzen?
...
Die Antwort zu diesem Punkt ist hier zu finden http://debianforum.de/forum/viewtopic.php?f=27&t=131614 (Dort wird beschrieben wie Logs gefiltert werden können um zum Beispiel häufige Einträge in den RAM oder /dev/null zu verlagern).

Leider habe ich bisher keine Antwort zu den anderen beiden Fragen erhalten.

koegs
Beiträge: 2
Registriert: 27.06.2013 09:31:12

Re: Benötige Hilfe mit Ramlog

Beitrag von koegs » 27.06.2013 09:32:38

Hallo,

hat hier evtl. jemand noch das letzte ramlog.deb? Der Server ist ständig nicht erreichbar.

Grüße,
koegs

cosmac
Beiträge: 4576
Registriert: 28.03.2005 22:24:30

Re: Benötige Hilfe mit Ramlog

Beitrag von cosmac » 27.06.2013 11:29:40

hi,

siehe auch:
http://forums.openmediavault.org/viewto ... =12&t=2187

da die Version 2.0.0 vom April 2010 ist, werden für wheezy wahrscheinlich Anpassungen nötig sein. Insofern kannst du genauso gut das Script aus dem SuSE-rpm nehmen. Wenn du das rpm mit "alien -g" ausgepackt hast, musst du im Prinzip nur 3 Dateien kopieren:

Code: Alles auswählen

cp -p ramlog-2.0.0/etc/init.d/ramlog /etc/init.d/
cp -p ramlog-2.0.0/var/adm/fillup-templates/sysconfig.ramlog /etc/default/ramlog
cp -a ramlog-2.0.0/usr/share/man/man8 /usr/local/man/
Beware of programmers who carry screwdrivers.

koegs
Beiträge: 2
Registriert: 27.06.2013 09:31:12

Re: Benötige Hilfe mit Ramlog

Beitrag von koegs » 27.06.2013 12:16:02

Super, danke für das Feedback. Werde das so bald wie möglich mal ausprobieren und mich dann melden.

Antworten