บทความนี้จะแนะนำวิธีการติดตั้งและใช้งานโปรแกรม Asternic Call Center Stats นะครับ
Asterinic Call Center Stats เป็นอีกโปรแกรมหนึ่งซึ่งเอาไว้ดูสถิติการใช้งาน Queue ของ Asterisk ดูได้ละเอียดมากครับ (อีกโปรแกรมหนึ่งที่ผมเคยนำเสนอไปก่อนหน้านี้คือ Asterisk Queue Analyzer) สีสรร หน้าตาก็สวยงามดี มีกราฟให้ เลือกช่วงเวลาที่ต้องการดูข้อมูลได้ แต่ก็ใช่ว่าจะดูได้ทุกอย่างนะครับ บางอย่างเช่นเบอร์ลูกค้าที่โทรเข้ามา เจ้าของโปรแกรมก็เอาไปใส่ไว้ในอีกเวอร์ชั่นหนึ่งซึ่งถ้าต้องการก็ต้องเสียเงินซื้อครับ แต่เราก็ใช้โปรแกรมอื่นดูแทนก็ได้เช่น Asterisk Queue Analyzer หรือโปรแกรมดู CDR ทั่วไป เช่น Asterisk-Stat
รูปร่างหน้าตาของโปรแกรม
เว็บไซต์โปรแกรม
http://www.asternic.biz
1. ดาวน์โหลดและติดตั้ง
- โค้ด: เลือกทั้งหมด
http://www.asternic.org/stats/asternic-stats-1.2.tgz
tar xzvf asternic-stats-1.2.tgz -C /var/www/html
cd /var/www/html/asternic-stats
2. สร้างดาต้าเบส
จะสร้างดาต้าเบสด้วย Command Line หรือ phpMyAdmin ก็ได้นะครับ แล้วแต่ความสะดวก
ผมสร้างดาต้าเบสชื่อ qstat นะครับ ป้องกันไว้ด้วย Username=qstatuser และ Password=qstatpass
เข้า MySQL เพื่อสร้างดาต้าเบส
- โค้ด: เลือกทั้งหมด
mysql -uroot -ppassword
ที่พร้อมท์ mysql> พิมคำสั่งต่อไปนี้
- โค้ด: เลือกทั้งหมด
CREATE DATABASE qstat DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
- โค้ด: เลือกทั้งหมด
INSERT INTO mysql.user (Host, User, Password, Select_priv, Insert_priv, Update_priv, Delete_priv, Create_priv, Drop_priv, Reload_priv, Shutdown_priv, Process_priv, File_priv, Grant_priv, References_priv, Index_priv, Alter_priv, Show_db_priv, Super_priv, Create_tmp_table_priv, Lock_tables_priv, Execute_priv, Repl_slave_priv, Repl_client_priv, Create_view_priv, Show_view_priv, Create_routine_priv, Alter_routine_priv, Create_user_priv, ssl_type, max_questions, max_updates, max_connections, max_user_connections) VALUES ('localhost', 'qstatuser', PASSWORD('qstatpass'), 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'Y', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', '', '0', '0', '0', '0');
- โค้ด: เลือกทั้งหมด
INSERT INTO mysql.db (Host, Db, User, Select_priv, Insert_priv, Update_priv, Delete_priv, Create_priv, Drop_priv, Grant_priv, References_priv, Index_priv, Alter_priv, Create_tmp_table_priv, Lock_tables_priv, Create_view_priv, Show_view_priv, Create_routine_priv, Alter_routine_priv, Execute_priv) VALUES ('localhost', 'qstat', 'qstatuser', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'N', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y');
- โค้ด: เลือกทั้งหมด
flush privileges;
3. อิมพอร์ตดาต้าเบส
- โค้ด: เลือกทั้งหมด
cd /var/www/html/asternic-stats/sql
mysql -uqstatuser -pqstatpass qstat < qstat.sql
4. เพิ่ม Username/Password ใน Asterisk Manager Interface
- โค้ด: เลือกทั้งหมด
vi /etc/asterisk/manager.conf
- โค้ด: เลือกทั้งหมด
[qstatuser]
secret=qstatpass
deny=0.0.0.0/0.0.0.0
permit=127.0.0.1/255.255.255.0
read = system,call,log,verbose,command,agent,user,config
write = system,call,log,verbose,command,agent,user,config
5. แก้ไขไฟล์คอนฟิกของ Asternic
- โค้ด: เลือกทั้งหมด
vi /var/www/html/asternic-stats/html/config.php
- โค้ด: เลือกทั้งหมด
// Credentials for MYSQL database
$dbhost = 'localhost';
$dbname = 'qstat';
$dbuser = 'qstatuser';
$dbpass = 'qstatpass';
// Credentials for AMI (for the realtime tab to work)
// See /etc/asterisk/manager.conf
$manager_host = "127.0.0.1";
$manager_user = "qstatuser";
$manager_secret = "qstatpass";
เลือกภาษาด้วย
6. แก้ไขไฟล์คอนฟิกให้ดึงข้อมูล Queue Log ได้
- โค้ด: เลือกทั้งหมด
vi /var/www/html/asternic-stats/parselog/config.php
- โค้ด: เลือกทั้งหมด
$queue_log_dir = '/var/log/asterisk/';
$queue_log_file = 'queue_log';
$dbhost = 'localhost';
$dbname = 'qstat';
$dbuser = 'qstatuser';
$dbpass = 'qstatpass';
7. ดึงข้อมูลจาก Queue Log ลงดาต้าเบส
7.1 ถ้าใช้ Asterisk แท้ๆ
- โค้ด: เลือกทั้งหมด
cd /var/www/html/asternic-stats/parselog
php -q ./parselog.php
7.2 ถ้าใช้ Queue ผ่านโปรแกรม FreePBX (Trixbox/Elastix/PIAF)
- โค้ด: เลือกทั้งหมด
cd /var/www/html/asternic-stats/parselog
php -q ./parselog.php convertlocal
7.3 ถ้าต้องการเคลียร์ข้อมูลในเทเบิล (เพื่อเริ่มใหม่)
- โค้ด: เลือกทั้งหมด
cd /var/www/html/asternic-stats/parselog
php -q ./parselog.php purgue
ตอนดึงข้อมูลใช้เวลาพอสมควรครับ ขึ้นอยู่กับปริมาณข้อมูลในไฟล์ queue_log ส่วนตอนลบข้อมูลในดาต้าเบส ลบแป๊บเดียวก็เสร็จ
8. ใช้ Cron ดึง Queue Log เป็นช่วงเวลา
- โค้ด: เลือกทั้งหมด
crontab -e
ดึงตอนตี 3ของทุกวัน
- โค้ด: เลือกทั้งหมด
3 * * * * php -q /opt/asternic-stats/parselog/parselog.php convertlocal > /dev/null 2>&1
9. เข้าเว็บ Asterinic
http://x.x.x.x/asternic-stats/html/index.php
Main
เลือก Queue และช่วงวันที่
Distribution
Answered
Unanswered