Search for:

Version 1 of 6.2.08, 15:50
Home - Latest - Tags - History - Referers

User:
Pass:
Create user - Lost password
Just visited:
AstRecipes»Rebuilding Fonality queue_log





Chatbox:
And all is quiet....

AstRecipes » Rebuilding Fonality queue_log

On a number of Fonality boxes, you'll find that the queue_log file, which content is critical to the correct running of QueueMetrics, is deleted almost immediately and moved to varius files under the /var/log/asterisk/real filesystem.
In order to make this work with QueueMetrics, we prepared a small script that will rebuild the queue_log out of the snippets in real. In order not to overload the system, we take only s pecified period pof time (eg 30 days) into consideration for the rebuilding.

Here is the script called rebuildqlog.sh

# uso:  ./rebuildqlog.sh /var/log/qm_qlog
# --------------------------------------------------
LOGF=$1
LOGT=$LOGF.temp
LOGS=$LOGT.sorted
MAXDAYS=30
rm -f $LOGT $LOGS
nice find /var/log/asterisk/real -name queue_log.* -mtime -$MAXDAYS | xargs cat >> $LOGT
cat /var/log/asterisk/queue_log >> $LOGT
nice sort --buffer-size=10M $LOGT | uniq > $LOGS
rm -f $LOGT $LOGF
mv $LOGS $LOGF

Then we need to call this script every 15 seconds or so in order to have a reasonably up-to-date version of the queue_log file ready for use by QueueMetrics.

So we create the file run_rebuild.sh:

#! /bin/bash
while [ true ]
do
        nice /root/rebuildqlog.sh /var/log/qm_qlog
        sleep 15
done

And we run everything by typing:

nohup /root/run_rebuild.sh &

As we build the "new" queue_log in a different location, we'll have to modify the file configiration.properties in QueueMetrics in order to tell it where the queue_log to use actually is:

# This is the default queue log file.
default.queue_log_file=/var/log/qm_qlog

This should do the trick.

Note:
star You cannot use the new queue_log file with qloaderd, as the file is constantly rebuilt.