[syslog-ng] reliable log transfer with syslog-ng-OSE (a bit like PEs' diskbuffering)

Lucas, Sascha Sascha.Lucas at gisa.de
Thu Jul 19 14:44:07 CEST 2012


Hi,

I'm trying to have reliable log transfer (in the sense of network failure) with syslog-ng-OSE. Here my idea (syslog-ng.conf):

## version='3.3.5'
## first save every message to a file
source s_relay { tcp( max-connections(10) port(4321) ); udp( port(4321) ); };
destination d_buffer {
        file("/data/syslog-buffer"
             template("$ISODATE $HOST $SOURCEIP $PROGRAM $PID $PRI $MSG\n")
        );
};
log { source(s_relay); destination(d_buffer); };

## then follow this file and parse it with flow-control enabled
source s_buffer { file("/data/syslog-buffer" flags(no-parse) follow_freq(0.1)); };
parser p_buffer {
        csv-parser(
        columns("buffer.isodate", "buffer.host", "buffer.srcip", "buffer.program", "buffer.pid", "buffer.pri", "buffer.msg")
        delimiters(" ")
        flags(greedy)
        );
};
destination d_mongo_unrel { mongodb(...); };
log { source(s_buffer); parser(p_buffer); destination(d_mongo_unrel); flags(flow-control); };

What do you think about this solution? Are there objections?

I need to add follow_freq() in s_buffer. Without it, the mongodb fills a bit slow. But I don't understand why.

Can someone give me a hint, how to get the actual reading position from s_buffer (i.e. from syslog-ng.persist?) and then to truncate it (shell commands preferred)?

TIA, Sascha.

Vorsitzender des Aufsichtsrates: Ralf Hiltenkamp
Geschäftsführung: Michael Krüger (Sprecher), Stephan Drescher
Sitz der Gesellschaft: Halle/Saale
Registergericht: Amtsgericht Stendal | Handelsregister-Nr. HRB 208414
UST-ID-Nr. DE 158253683
Diese E-Mail enthält vertrauliche und/oder rechtlich geschützte Informationen. Wenn Sie nicht der richtige Empfänger sind oder diese E-Mail irrtümlich erhalten haben, informieren Sie bitte sofort den Absender und vernichten Sie diese Mail. Das unerlaubte Kopieren sowie die unbefugte Weitergabe dieser Mail oder des Inhalts dieser Mail sind nicht gestattet. Diese Kommunikation per E-Mail ist nicht gegen den Zugriff durch Dritte geschützt. Die GISA GmbH haftet ausdrücklich nicht für den Inhalt und die Vollständigkeit von E-Mails und den gegebenenfalls daraus entstehenden Schaden. Sollte trotz der bestehenden Viren-Schutzprogramme durch diese E-Mail ein Virus in Ihr System gelangen, so haftet die GISA GmbH - soweit gesetzlich zulässig - nicht für die hieraus entstehenden Schäden.




More information about the syslog-ng mailing list