Home

QLOADERD USER MANUAL

image

Contents

1. The configuration above will mean that channels like SIP 1234 will be rewritten to Agent 1234 while Lo cal 2345 agents mailto 2345 agents will be Agent 2345 Database driven agent rewriting It is possible to use a database table to store channel rewriting rules for maximum flexibility This is often used e g when using Asterisk Realtime and still wanting Agent xxx and not SIP yyy where you keep track of agent xxx being dynalmically logged on to SIP yyy To enable this feature set my SdbAgentRewrite 1 You should also create a table in the QueueMetrics database with the following definition CREATE TABLE qlog_rewrite ag_from varchar 50 NOT NULL ag_rewritten varchar 50 NOT NULL last_upd datetime NOT NULL PRIMARY KEY ag_from ENGINE MyISAM DEFAULT CHARSET latinl An enter the rewrite rules as tuples ag_from ag_rewritten The last_upd key is not used and only given as an hint of very old entries that might need deletion Before enabling this mode please consider that a query will be performed for nearly every line of the queue_log that is being processed Results are not cached as the ability to change the underlying table while qloaderd is running is considered a feature Debugging qloaderd If you suspect problems with qloaderd First of all have a look at its own log file Try running a queue and check that lines get loaded into MySQL in real time The following query will often
2. QLOADERD USER MANUAL Loway Revision History Revision Revision 1 5 Date 2011 03 17 08 53 33 L covers version 1 21 Table of Contents Loading the queue_log file into MySQL with Qloaderd 0c cece eee cece e eee eee eee e tenet eee ene eeee 1 Whiatiis Olodderd 2 sts neiscusssadncnutanessmasertmennus nensoyaad E O snus gias Aeos E O amegine Installing qloaderd Starting gloaderd init style on RH based systems 0 0 cece ene cence ected e eee tease ease eae e eae eeaes 2 Starting gloaderd init style on other systems Advanced topics Debugging qloaderd qloader and queue_log rotation Obsolete 0 0 ccc ccc eee ence eee eee eee eee teeta 5 Getting help Automatically load all queue_log files GONMfiQUIALION serrie enana aE ceiudexaad E A ATAA TO T E RETNO 5 How to use it Data Queue Partial Update Configuration HOW 10 MUE E A E E E T 6 Loading the queue_log file into MySQL with Qloaderd ine this is not a tutorial on how to use MySQL storage in QueueMetrics Such a topic is covered in de tail in QueueMetrics User Manual Warning qloaderd 1 21 and newer requires QueueMetrics 1 7 0 or newer What is Qloaderd Qloaderd is a small scripts that uploads queue_log data into a MySQL database for further analysis by http queuemetrics com It is designed to be used instead of the older queueLoader pl script and offers a number of advantages over the older version qloaderd i
3. be helpful to count all elements in your queue_log table select partition queue count as n_records from queue_log group by partition queue order by partition queue ha this query runs a full table scan so it may take a long time to complete if you have million of lines loaded Loway research qloader and queue_log rotation Obsolete 5 e Run the real time page in QueueMetrics gloader and queue _log rotation Obsolete ha ee since qloaderd 1 21 qloaderd automatically detects file rotations and picks them up immediately no manual notification is necessary As qloader keeps reading the queue_log file it must be notified when the queue_log file is being rotated Send ing it a etc init d gloaderd restart after the rotation has taken place will make sure that qloader starts loading data from the new queue_log file It would be a nice idea to rotate its own log file too You could modify the etc logrotate d asterisk file as follows var log asterisk log missingok rotate 5 weekly create 0640 asterisk asterisk postrotate usr sbin asterisk rx logger reload gt dev null 2 gt dev null etc init d qloaderd restart gt dev null 2 gt dev null endscript Getting help If you need further help in setting up qloaderd e First of all have a look at the QueueMetrics FAQ http queuemetrics com faq jsp Then try the QueueMetrics forum http forum queuemetrics com faq jsp e Feel fre
4. to upload only missing data no data is lost if you stop it In order to have the service started on boot use the command chkconfig add qloaderd As a default it starts automatically in runlevels 2 3 4 and 5 You can easily change that with chkconfig Starting gloaderd init style on other systems We also provide a plain vanilla startup script that can be installed in your local startup directory in order to start Qloader automatically It may require a bit of tweaking but it will run on all Linux distributions You will find it in the Other initscripts directory Follow the same instructions as for a RedHat based system to make the script exe cutable and configure it Advanced topics The following fetaures of Qloaderd can be enabled or disabled as needed Most people will not need them Heartbeat Qloaderd can insert a heartbeat log entry in order to make sure that e The MySQL channel stays open all of the time even when there is no activity on the Asterisk side This is use ful because MySQL disconnects the DB connection after a given channel inactivity usually 8 hours and some times reconnecting a dead channel will not work e On the QueueMetrics side it is possible to know immediately if one or more members of a cluster have been disconnected as the heartbeat information will be present even if Asterisk is idle This option is turned on by default and is controlled by the configuration option my Sheartbeat_delay 15
5. 60 This means the heartbeat is sent every 15 minutes after the queue_log is idle If you would like to turn this off set it to 0 Subqueues If you work in an environment where a single queue is used to service a number of different agents it might be of interest to you to enable subqueues i e to have the queue name rewritten appending a client code at the end so that you can query them from QueueMetrics as if each client was serviced by a dedicated queue In odrer to activate this you must e Set the line my Suse_subqueue 1 e If you optionally add a comment to the client code after the symbol you should set my Ssplit_subgq_name 0 to have the comment clipped off This is useful if for debug reasons you would like the client code to be 1234 Red where 1234 is the client code and Red is a human readable comment e Create a table called glog_opencalls in the QueueMetrics database using the following schema CREATE TABLE qlog_opencalls rowId int 10 unsigned NOT NULL auto_increment partition varchar 20 NOT NULL default callId varchar 45 NOT NULL default queue varchar 45 NOT NULL default subqueue varchar 45 NOT NULL default lastVerb varchar 45 NOT NULL default lastTst int 10 unsigned NOT NULL default 0 lastUpd datetime NOT NULL default 0000 00 00 00 00 00 PRIMARY KEY rowld KEY accIdx1l callId par
6. ame to use p pass the MySQL password to use The parameters above override the settings edited in qloader pl Please note that it s not advisable to pass the MySQL password on the command line Starting qloaderd init style on RH based systems We provide a script qloaderd that can be put into etc init d in order to start and stop qloader as a service and have it start automatically when the machine boots You will find it in the Redhat style initscripts directory The file is called qloaderd and must be put into etc init d on the Asterisk server It was made for RHEL CentOS AAH Trixbox but it will likely work on most similar versions of Linux Run the following commands to make sure the file is executable dos2unix etc init d qloaderd chmod x etc init d qloaderd You then need to create a configuration file under etc sysconfig qloaderd that will lok lik ethe following one PARTITION P001 QUEUELOG var log asterisk queue_log LOGFILE var log asterisk qloaderd log LOCKFILE var lock subsys qloaderd PIDFILE var run qloaderd pid MYSQLHOST localhost MYSQLDB queuemet rics MYSQLUSER queuemetrics MYSQLPASS javadude You usually only need to modify the PARTITION and maybe QUEUELOG entries Loway research Starting qloaderd init style on other systems 3 At this point you can start the qloader simply by typing etc init d qloaderd start and stop it by typing etc init d qloaderd stop As qloader is able
7. e to contact us http queuemetrics com contact jsp Automatically load all queue_log files As the queuePartialUpdater script is not very easy to use we created a wrapper that is able to upload a se ries of broken up queue_log files that are stored under var log asterisk as queue_log as it is usual for rotated queue_log files Configuration You should edit your configuration in etc sysconfig qloaderd it is the same file that is used by the main qloaderd application so if it works this loader will work as well with no configuration changes How to use it First make sure that it is installed yum list grep qloaderd You have to make sure that you have at least version 1 19 of the qloaderd If not you can easily upgrade with yum update gqloaderd Then run the following commands cd usr local qloader etc init d qloaderd stop loadAllQueueLogFiles sh etc init d qloaderd start It should print a very detailed log on the stdout As it tries to optimize the database table this command should NOT be run when QueueMetrics is being actively used also new data will not be loaded when the command is running Loway research Data Queue Partial Update 6 After this command terminates you should make sure that you turn the queue_log file rotation see above Data Queue Partial Update The script is able to update the queues data activity already stored in the QueueMetrics database with a new data coming
8. from a different queue_log It s usefull for maintaining corrupted or restoring databases This script works in pair with the qloader p script with revision number equal or greater than 1 12 Configuration In order to use it the script has to be customized with information related to the database The relevant configura tion keys are below reported my Smysql_host 127 0 0 1 my Smysql_db queuemetrics my Smysql_user queuemetrics my Smysql_pass Jjavadude my S qloaderbin qloader pl my Slogfile queuepartialupdater log More in detail e mysql_host is the server where the QM database is located e mysql_db is the QM database name e mysql_user is a QM database user with read write permission on it e mysql_pass is the password related to the below specified user e qloaderbin is the full path where the qloader pl script could be reached e logfile is the file where the log will be written You can pass the following parameters to avoid changing the file itself h hostname the MySQL hostname to connect to d database the MySQL database to connect to e u user the MySQL username to use p pass the MySQL password to use How to use it The script could be called by the command line specifying The queue data file to be read e The partition to be updated The queue log data file the one the qloader script will use The script will be responsible to remove all data ove
9. rlapping with the period specified in the input queue data file for the defined partition It will be then responsible to call the qloader script That script will be able to fill the database with the new information provided by the same queue data log At the end of the processing the log specified by the comnmand line will report the result of the new data filling The log specified by the configuration instead will list the actions performed by the queuePartialUpdater script in order to correct the database An example of usage is queuePartialUpdater pl var log asterisk queue_log P001 var log qlog log Loway research
10. s designed to be a one stop solution to upload data No need for tail or custom startup scripts qloaderd is able to upload only data that is missing from the given partition by checking the timestamp and the row s contents in order to prevent duplicate rows This way you every time it is started it will update the MySQL table with all data that is missing from it and then will start tailing the queue_log file for variations In the case of a database problem or a disconnection qloaderd will keep retrying to connect to the database until it succeeds No data is lost if the database goes offline for a while gloaderd will automatically detect invalid queue_log lines and will skip them immediately qloaderd keeps a detailed log of all its activity qloaderd can be installed as a service using a simple startup script e In order to avoid service disruptions due to a lost database connection and to confirm QueueMetrics the con nection is alive qloader will periodically insert heartbeat information in the queue_log database qloader will automatically detect when the queue_log file is rotated Installing qloaderd To install qloaderd copy the file qloader pl to a location of your choice we suggest usr local qloader Run the following commands to make sure the file is executable Loway research Starting qloaderd init style on RH based systems 2 dos2unix qloader pl chmod atx qloader pl If you run a yum based Linux dis
11. tition TYPE MyISAM e Whenever you pipe a call to the Queue command in Asterisk set the client code in the URL parameter of the command like for example in Loway research Debugging qloaderd 4 exten gt s 8 Queue queue service t 1234 180 Here the queue queue service is called with a client code of 1234 the resulting queue activity will be seen in QueueMetrics as if it was done on queue queue service 1234 Please note that you should mantain the glog_opencalls table yourselves deleting periodically rows with a las tUpd timestamp over one day old and optimizing it as needed this will be done automatically in future revisions of Qloaderd To achieve this result just run the following queries through a cron job in a moment when the system is idle or is experiencing a low load DELETE FROM glog_opencalls WHERE lastUpd amp lt DATE_SUB NOW INTERVAL 48 HOUR OPTIMIZE TABLE qlog_opencalls As we delete a potentially large number of rows at once running the OPTIMIZE saves space and improves index performance as well The downside is that it could lock the table for a few seconds Agent rewriting It is possible to perform advanced channel rewriting to the Agent XxXX format Thi is done on data loading and does not require QueueMetrics to do it again and again every time it loads data To enable this feature set my SrewriteToAgent ls 0 no 1 yes my channelsToAgent Local SIP
12. tro you can also have qloaderd installed automatically by issuing wget P etc yum repos d http yum loway ch loway repo yum install qloaderd You will still have to update it manually in order to configure it correctly You now have to edit the qloader pl file in order to set up your database connection by changing the following pa rameters my S mysql_host myserver mylan my mysql_db queuemetrics my Smysql_user username my Smysql_pass password The qloader script expects three parameters to run e The first parameter is the full path to the queue_log file it has to upload The second parameter is the partition into which it will upload data e The third parameter is the log file it will create when running To test that the qloader script is working try the following command qloader pl var log asterisk queue_log P02 var log asterisk qloader log This command will try uploading the contents of the file var log asterisk queue_log to partition P02 of the chosen database writing its own log on var log asterisk qloader log When the program is running no output is written on stdout if you want to know how the loading is going you have to consult its own log file Optionally you can pass along one or more of the following command line parameters before the mandatory pa rameters e h hostname the MySQL hostname to connect to e d database the MySQL database to connect to e u user the MySQL usern

Download Pdf Manuals

image

Related Search

Related Contents

Baumatic BWE41BL drink cooler  取扱説明書 Ver0100-01-35  

Copyright © All rights reserved.
Failed to retrieve file