[sr-dev] kamailio gets frozen when rsyslog-mysql cannot send the SQL query

Iñaki Baz Castillo ibc at aliax.net
Wed Jul 28 17:52:01 CEST 2010


2010/7/28 Jon Bonilla <manwe at aholab.ehu.es>:
> El Wed, 28 Jul 2010 17:29:42 +0200
> Iñaki Baz Castillo <ibc at aliax.net> escribió:
>
>> - Then kamailio tries to log to syslog. rsyslog receives the request
>> and tries to send it via MySQL. Unfortunatelly it gets frozen as the
>> DB doesn't work, and it neither writes the log to the local log file
>> !!!  (this is really surprising to me).
>
> If the entry for mysql is before the entry for the local file, it's not
> surprising.
>
>
>>
>> - Worse is the fact the rsyslog replies nothing to kamailio process so
>> the kamailio process gets 100% *blocked* waiting for the response
>> (this is what I suspect).
>>
>> - As a dirty workaround, stopping the local rsyslog server makes
>> kamailio to work again.
>>
>
> A better workaround is to have queue support in rsyslog. Messages are stored in
> memory and in a disk queue and they are pushed to the db when the
> connection is recovered.
>
> Try something like this in your rsyslog.conf configuration:
>
> # Memory and disk Queuing support
> $WorkDirectory /var/log/queue
> $ActionQueueType LinkedList
> $ActionQueueFileName SL
> $ActionQueueMaxDiskSpace 4g
> $ActionQueueSaveOnShutdown on
> $ActionResumeRetryCount -1

Awesoming!
I'll test your suggested configuration. Thanks a lot.

-- 
Iñaki Baz Castillo
<ibc at aliax.net>



More information about the sr-dev mailing list