Syslogd-Output auf Loghost speichern

ao

Aktives Mitglied
Mitglied seit
15 Aug 2005
Beiträge
2,158
Punkte für Reaktionen
2
Punkte
38
Hallo,

in diesem Beitrag schrieb Izzy:
Da das Syslog jetzt auf meinem Loghost landet, habe ich auch eine Vergleichsmöglichkeit
Inzwischen habe ich auf meinem NAS (NSLU2 mit SlugOS/BE 3.10b) syslog-ng als Syslog-Ersatz installiert, da syslog-ng die Möglichkeit bietet, die NSLU2 damit als Loghost einzusetzen.

Syslog-ng läuft auch, aber ich sehe auf der NSLU2 unter /var/log keine "remote" Messages, also nichts von der Fritzbox, sondern nur Lokales.

Die syslog.conf auf der NSLU2 sieht so aus:
Code:
DESTINATION="file"              # log destinations (buffer file remote)
MARKINT=20                      # intervall between --mark-- entries
LOGFILE=/var/log/messages       # where to log (file)
REMOTE=loghost:514              # where to log (syslog remote)
REDUCE=no                       # reduce-size logging
#ROTATESIZE=0                   # rotate log if grown beyond X [kByte] (incompatible with busybox)
#ROTATEGENS=3                   # keep X generations of rotated logs (incompatible with busybox)
BUFFERSIZE=64                   # size of circular buffer [kByte]
FOREGROUND=no                   # run in foreground (don't use!)
Als Port habe ich im Freetz-GUI also 514 eingetragen.

Danke für Euer Feedback!
_____________________
Links:einrichten
 
Zuletzt bearbeitet:
Hi,

wenn ich es richtig interpetiere, willst du die Logmeldungen von der Fritz zum NSLU2 schicken und dort lokal speichern.
Dazu mußt du die Logmeldungen vom syslogd der Fritzbox zu der IP des NSLU senden.
Dort empfängt der syslog-ng die Meldungen per UDP(Dazu ein UDP Source konfigurieren) und speichert sie z.B über eine Destinationsobjekt ab.

mfg
Wonderdoc
 
Code:
...
REMOTE=loghost:514              # where to log (syslog remote)
...

was soll denn eigendlich dieser Eintrag machen? hast du noch einen log rechner, der loghost heisst und den log von der NSLU2 zusätzlich entgegen nehmen soll?
 
Ja, stimmt, da steht noch "loghost" statt "nslu" - Danke, vielleicht ist es damit bereits gelöst!

Wobei mich wundert, welchen Sinn es macht, auf der NSLU2 in der syslog.conf "remote=nslu:514" einzutragen, denn das ist ja nicht remote (aus Sicht der NSLU2). Aber so stand es halt nach der Installation von syslog-ng bereits in der Konfig-Datei.

EDIT: Leider ist /var/log/ auf der NSLU2 auch nach einem Reboot der Fritzbox komplett leer, d.h. es klappt noch nicht.
 
Zuletzt bearbeitet:
Ich blicke gerade nicht mehr durch.
Hast du im 1. Beitrag nicht geschrieben, daß auf der NSLU2 der syslog-ng läuft?
Der syslogd der Fritzbox soll doch seine Logdaten zu dem syslog-ng der NSLU2 senden.
Der syslog-ng soll die empfangenen Daten dann doch unter /var/log/ speichern.

Oder sehe ich die Sache falsch?

Die Config des syslog-ng wird doch in der syslog-ng.conf gespeichert.

mfg
Wonderdoc
 
Genauso ist es, aber was verstehst Du jetzt nicht?

Achso, Du fragst Dich, weshalb ich oben die syslog.conf zitiert habe, stimmt.
Die könnte ich ja eigentlich löschen, da ich nicht mehr syslog, sondern syslog-ng auf der NSLU2 nutzen will. Aber blöderweise läuft der alte syslogd wohl doch noch - parallel zum neuen syslog-ng:
Code:
root@nslu:/etc/syslog-ng# ps | grep [s]yslog
 1459 root        608 S   /sbin/syslogd -n -O /var/log/messages -m 20
 1683 root        756 S   /usr/sbin/syslog-ng
Tja, da muss ich erst einmal den alten syslogd auf der NSLU2 zum Schweigen bringen. "kill {PID}" wird aber wohl nicht viel nützen, da der alte syslogd sicherlich noch in einem ollen Skript gestartet wird. Das wird hier im Freetz-Forum aber evtl. etwas zu OT - es sei denn, dass es Euch nicht stört und Ihr mir mit Eurem breiten Linux-Wissen weiterhelfen könnt. ;-)

NSLU2/syslog.conf: (nur noch einmal zur Vollständigkeit, kann ich aber wohl später löschen, ja?)
Code:
DESTINATION="file"              # log destinations (buffer file remote)
MARKINT=20                      # intervall between --mark-- entries
LOGFILE=/var/log/messages       # where to log (file)
REMOTE=nslu:514                 # where to log (syslog remote)
REDUCE=no                       # reduce-size logging
#ROTATESIZE=0                   # rotate log if grown beyond X [kByte] (incompatible with busybox)
#ROTATEGENS=3                   # keep X generations of rotated logs (incompatible with busybox)
BUFFERSIZE=64                   # size of circular buffer [kByte]
FOREGROUND=no                   # run in foreground (don't use!)
NSLU2/syslog-ng/syslog-ng.conf:
Code:
# Syslog-ng example configuration for for Debian GNU/Linux
#
# Copyright (c) 1999 anonymous
# Copyright (c) 1999 Balazs Scheidler
# $Id: syslog-ng.conf.sample,v 1.3 2003/05/20 08:57:27 asd Exp $
#
# Syslog-ng configuration file, compatible with default Debian syslogd
# installation.
#

options { long_hostnames(off); sync(0); };

source src { unix-stream("/dev/log"); internal(); };
source net { udp(); };

destination authlog { file("/var/log/auth.log"); };
destination syslog { file("/var/log/syslog"); };
destination cron { file("/var/log/cron.log"); };
destination daemon { file("/var/log/daemon.log"); };
destination kern { file("/var/log/kern.log"); };
destination lpr { file("/var/log/lpr.log"); };
destination user { file("/var/log/user.log"); };
destination uucp { file("/var/log/uucp.log"); };
destination ppp { file("/var/log/ppp.log"); };
destination mail { file("/var/log/mail.log"); };

destination mailinfo { file("/var/log/mail.info"); };
destination mailwarn { file("/var/log/mail.warn"); };
destination mailerr { file("/var/log/mail.err"); };

destination newscrit { file("/var/log/news/news.crit"); };
destination newserr { file("/var/log/news/news.err"); };
destination newsnotice { file("/var/log/news/news.notice"); };

destination debug { file("/var/log/debug"); };
destination messages { file("/var/log/messages"); };
destination console { usertty("root"); };
destination console_all { file("/dev/tty12"); };
#destination loghost { udp("loghost" port(999)); };


destination xconsole { pipe("/dev/xconsole"); };

filter f_auth { facility(auth); };
filter f_authpriv { facility(auth, authpriv); };
filter f_syslog { not facility(authpriv, mail); };
filter f_cron { facility(cron); };
filter f_daemon { facility(daemon); };
filter f_kern { facility(kern); };
filter f_lpr { facility(lpr); };
filter f_mail { facility(mail); };
filter f_user { facility(user); };
filter f_uucp { facility(cron); };
filter f_ppp { facility(local2); };
filter f_news { facility(news); };
filter f_debug { not facility(auth, authpriv, news, mail); };
filter f_messages { level(info..warn)
        and not facility(auth, authpriv, mail, news); };
filter f_emergency { level(emerg); };

filter f_info { level(info); };
filter f_notice { level(notice); };
filter f_warn { level(warn); };
filter f_crit { level(crit); };
filter f_err { level(err); };

log { source(src); filter(f_authpriv); destination(authlog); };
log { source(src); filter(f_syslog); destination(syslog); };
log { source(src); filter(f_cron); destination(cron); };
log { source(src); filter(f_daemon); destination(daemon); };
log { source(src); filter(f_kern); destination(kern); };
log { source(src); filter(f_lpr); destination(lpr); };
log { source(src); filter(f_mail); destination(mail); };
log { source(src); filter(f_user); destination(user); };
log { source(src); filter(f_uucp); destination(uucp); };
log { source(src); filter(f_mail); filter(f_info); destination(mailinfo); };
log { source(src); filter(f_mail); filter(f_warn); destination(mailwarn); };
log { source(src); filter(f_mail); filter(f_err); destination(mailerr); };
log { source(src); filter(f_news); filter(f_crit); destination(newscrit); };
log { source(src); filter(f_news); filter(f_err); destination(newserr); };
log { source(src); filter(f_news); filter(f_notice); destination(newsnotice); };
log { source(src); filter(f_debug); destination(debug); };
log { source(src); filter(f_messages); destination(messages); };
log { source(src); filter(f_emergency); destination(console); };
log { source(src); filter(f_ppp); destination(ppp); };
log { source(src); destination(console_all); };
log { source(net); destination(syslog); };
Oder muss die letzte Zeile so lauten?
Code:
log { source(net); destination(syslog[COLOR=Red][B]-ng[/B][/COLOR]); };
Oder ist die letzte Zeile totaler Quatsch und ich sollte sie besser wieder komplett löschen?

Und wo in der o.g. syslog-ng.conf wird denn der Port des Loghosts festgelegt, den ich nachher im Freetz-GUI eintragen muss? Die Zeile
Code:
#destination loghost { udp("loghost" port(999)); };
ist ja auskommentiert. Aber ich bin mir nicht sicher, ob diese Zeile zu nutzen ist, da ich ja die NSLU2 selbst als Loghost einsetzen und nicht wieder woanders loggen will. Und nur dafür (noch einmal woanders hin loggen) wäre diese Zeile doch wohl gut, oder bin ich jetzt selbst total neben der Spur? Sorry, aber ich blicke mit meinen bescheidenen Linux-Kenntnissen jetzt nicht durch.
Ansonsten fiele mir nur folgendes dazu ein:
Code:
destination loghost { udp("nslu" port(514)); };
Aber ich verstehe es nicht wirklich.
 
Zuletzt bearbeitet:
Die Log zeile passt schon.

Schaue mal HIER in das Manual.
Dort gibt es einige Optionen, die den Log zwischenspeichern und erst ab einer bestimmten Anzahl in das File schreiben.
Kommt von der Fritzbox überhaupt logdaten? Einfach mal zu einem PC weiterleiten und dort ein Log-Client laufen lassen.

mfg
Wonderdoc
 
Ok, aber einen Logclient habe ich leider nicht gefunden - weder für Windows XP, noch für OS X. Hast Du dazu evtl. auch noch einen Tipp?

Auf der NSLU2 kommt in der Tat nichts von extern an, dafür aber von der NSLU2 selbst schon.
/var/log:
Code:
drwxr-xr-x   3 root root     0 Jan 30 17:34 .
drwxr-xr-x  15 root root  4096 Jan 30 17:32 ..
-rw-------   1 root root   558 Jan 30 17:35 auth.log
drwx------   4 root root     0 Jan 30 17:34 cores
-rw-------   1 root root    68 Jan 30 17:34 cron.log
-rw-------   1 root root   343 Jan 30 17:34 daemon.log
-rw-------   1 root root   516 Jan 30 17:34 debug
-rw-r--r--   1 root root  4242 Jan 30 17:34 log.nmbd
-rw-r--r--   1 root root  4232 Jan 30 17:34 log.smbd
-rw-------   1 root root 19897 Jan 30 17:34 messages
-rw-------   1 root root   516 Jan 30 17:34 syslog
-rw-------   1 root root    69 Jan 30 17:32 user.log
-rw-------   1 root root    68 Jan 30 17:34 uucp.log
Das ist aber alles wie gesagt direkt von der NSLU2, nicht von der Fritzbox - zumindest habe ich keine Hinweise auf FB-Logs.
 
Zuletzt bearbeitet:
Hallo,

ich habe mir mal ein keines Tool zusammengeschustert:

http://www.alter-privat.de/micalter/software/

Vielleicht könnte ihr mir ja auch helfen. Ich habe z.Zt. keine Freetz-Firmware und ein Problem mit der Anrufweiterleitung. Im Einsatz ist die Labor 54.04.94-13988.
Nun möchte ich mir die Syslogmeldungen des Telefon-Daemons an meinen Rechner senden lassen, doch leider fehlt ja der Syslog-Daemon in der offiziellen und Labor-Firmware.

Kann mir jemand diesen oder einen anderen zur Verfügung stellen? Entweder als "standalone"-Binary oder eine andere Busybox...

Vielen Dank,
MicAlter

PS: Die Filterfunktion des Tool wird in Kürze überarbeitet...;)
 
Zuletzt bearbeitet:
Freetz liefert so etwas, wenn du syslogd-cgi auswählst im menuconfig.
 
No, muss ich auch nicht haben, ist das Freetz-Unterforum, wenn du dich mal umguckst.
 
@Silent-Tears:
Ist mir wohl schon klar, dass ich hier im Freetz-Forum gelandet bin...aber danke für Deine Hilfe.

Dann frag' ich wohl mal woanders...
 
Wenn der syslog in der Busybox von AVM fehlt, dann musst du dir halt eine besorgen, die das kann :)
 
ja, ja, schon gut - hab's verstanden :cool:

doc456 war so nett und hat mir mitgeteilt wo ich danach suchen muss bzw. mir Hilfe per PM angeboten...

Anfrage beendet. Danke.
 
Inzwischen gibt es einen LOGROTATE package patch (ticket #642) von sf3978.
Leider bricht make bei mir ab. Da das aber hier OT werden würde, habe ich es direkt im Ticket angemerkt, um die Problematik beim FW-Bau zu lösen.
Hier soll es weiterhin (wenn es jemanden interessiert) um die Nutzung von logrotate gehen.
 
Zuletzt bearbeitet:
Beispiel für eine "logrotate.conf":
Code:
missingok
compress
nomail
weekly
create 0600 root root
rotate 20
size=1M
nocopytruncate
extension old
dateext
notifempty
sharedscripts
noolddir
#
/var/media/ftp/uStor01/httpry/httpry.log
  {
postrotate
/usr/bin/killall -HUP /usr/bin/httpry
endscript
}
Code:
# logrotate -v logrotate.conf
reading config file logrotate.conf
extension is now old
error: error accessing /var/media/ftp/uStor01/httpry: No such file or directory
reading config info for /var/media/ftp/uStor01/httpry/httpry.log


Handling 1 logs

rotating pattern: /var/media/ftp/uStor01/httpry/httpry.log
   1048576 bytes (20 rotations)
empty log files are not rotated, old logs are removed
not running postrotate script, since no logs were rotated

EDIT:
Mit meiner Box7170 gibt es Probleme mit logrotate, was die Erkennung des Verzeichnisses, im dem sich die Logdatei befindet, betrifft:
Code:
# logrotate -f -v -d /etc/logrotate.conf                                                    
reading config file /etc/logrotate.conf                                                              
extension is now old                                                                                 
including /etc/logrotate.d                                                                           
reading config file access                                                                           
[COLOR="Red"]error: error accessing /var/log: No such file or directory [/COLOR]                                          
error: access:1 glob failed for /var/log/access                                                      
error: found error in /var/log/access , skipping                                                     
removing last 1 log configs                                                                          

Handling 1 logs

rotating pattern: /var/log/access  forced from command line (2 rotations)
empty log files are not rotated, old logs are removed
Verzeichnis "/var/log" ist vorhanden. chmod 777 hilft auch nicht weiter. In der access-Konfigurationsdatei steht Folgendes:
Code:
[COLOR="Red"]/var/log/access[/COLOR] {
daily
create 0600 root root
size=10k
rotate 2
}
Scheint ein Problem der FritzBox zu sein, denn unter OpenSUSE und FreeBSD, funktioniert logrotate ohne Probleme.
 
Zuletzt bearbeitet:

Zurzeit aktive Besucher

Neueste Beiträge

Statistik des Forums

Themen
244,916
Beiträge
2,220,873
Mitglieder
371,678
Neuestes Mitglied
fibre
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.