[syslog-ng] syslog-ng with sql() command, cpu to 100%

Jean F. Mousinho jean.mousinho at ist.utl.pt
Tue Oct 6 17:07:45 CEST 2009


I've noticed that this also happens to me, but only when I try to run
syslog-ng with debugging (-d):

./syslog-ng -d -f /etc/syslog-ng/syslog-ng.conf

(locally compiled version --with-debug)

./syslog-ng -V
syslog-ng 3.0.4
Revision: ssh
+git://bazsi@git.balabit//var/scm/git/syslog-ng/syslog-ng-ose--mainline--3.0#master#1b5d618e301ad94aa20e692ffba16469dece8d10
Compile-Date: Oct  2 2009 18:26:51
Enable-Threads: on
Enable-Debug: on
Enable-GProf: off
Enable-Memtrace: off
Enable-Sun-STREAMS: off
Enable-Sun-Door: off
Enable-IPv6: on
Enable-Spoof-Source: on
Enable-TCP-Wrapper: on
Enable-SSL: on
Enable-SQL: on
Enable-Linux-Caps: off
Enable-Pcre: on

syslog-ng runs the system out of memory, like an infinite loop
allocating memory.

It uses a destination with sql() but its not called during the program
start since I don't send the message that triggers the filter
associated..

Jean F. Mousinho

On Mon, 2009-10-05 at 08:11 +0000, Garry De Toffoli wrote:
> I am using the version 3.04 of syslog-ng, as reported:
> 
> $./syslog-ng -V
> syslog-ng 3.0.4
> Revision: ssh
> +git://bazsi@git.balabit//var/scm/git/syslog-ng/syslog-ng-ose--mainline--3.0#master#1b5d618e301ad94aa20e692ffba16469dece8d10
> Compile-Date: Aug  5 2009 17:38:20
> Enable-Threads: on
> Enable-Debug: off
> Enable-GProf: off
> Enable-Memtrace: off
> Enable-Sun-STREAMS: off
> Enable-Sun-Door: off
> Enable-IPv6: on
> Enable-Spoof-Source: on
> Enable-TCP-Wrapper: off
> Enable-SSL: on
> Enable-SQL: on
> Enable-Linux-Caps: on
> Enable-Pcre: off
> 
> I would like to use the sql() features;
> 
> but syslog-ng does not write anything on dbase, and the cpu go to
> 100%;
> 
> this is the configuration of the destination sql
> 
> destination d_mysql {
>         sql(type(mysql)
>         host("localhost") username("syslogadmin")
> password("syslogadmin")
>         database("syslog")
>         table("logs")
>         columns("host", "facility", "priority", "level", "tag",
> "datetime", "program", "msg", "seq")
>         values("$HOST_FROM", "$FACILITY", "$PRIORITY", "$LEVEL",
> "$TAG", "$YEAR-$MONTH-$DAY $HOUR:$MIN:$SEC", "$PROGRAM", "$MSG",
> "$SEQNUM")
>         indexes("host", "facility", "priority", "datetime", "program",
> "seq"));
> };
> 
> of course, the configuration like this
> destination d_mysql {
>     program("/usr/bin/mysql -usyslogadmin -psyslogadmin syslog"
>     template("INSERT INTO logs (host, facility, priority, level, tag,
> datetime, program, msg)
>     VALUES ( '$HOST', '$FACILITY', '$PRIORITY', '$LEVEL', '$TAG',
> '$YEAR-$MONTH-$DAY $HOUR:$MIN:$SEC', '$PROGRAM', '$MSG' );\n")
>     template-escape(yes));
> };
> run OK, but I would like to use the sql() statement instead;
> 
> what can I do?
> 
> Is the sql() command supported by the syslog-ng 3.0.4?
> 
> Thank you.
> 
> 
> 
> ______________________________________________________________________
> Una risposta istantanea? Usa Messenger da Hotmail
> ______________________________________________________________________________
> Member info: https://lists.balabit.hu/mailman/listinfo/syslog-ng
> Documentation: http://www.balabit.com/support/documentation/?product=syslog-ng
> FAQ: http://www.campin.net/syslog-ng/faq.html
> 



More information about the syslog-ng mailing list