Professional Documents
Culture Documents
โปรแกรมนี้ประกอบด้วย 3 ส่วนคือ Graph, CDR + Queue และ Loader โดยที่ Graph เอาไว้แสดงผลสถิติต่างๆในรูปแบบกราฟ ส่วน
CDR+Queue เอาไว้อ่านข้อมูลจาก Queue Log และ CDR แล้วไรท์ลงดาต้าเบส ส่วน Loader เอาไว้รันเป็น Daemon เขียนด้วย Python
1. ติดตั้งโปรแกรม Image_Graph
โปรแกรมนี้เอาไว้สร้างกราฟครับ ติดตั้งได้โดยใช้คาสั่ง "pear" บน CentOS ได้เลยครับ แต่อาจต้องติดตั้งโปรแกรมอื่นก่อนแล้วแต่ว่าโปรแกรม
จะฟ้องว่าต้องติดตั้งโปรแกรมอะไรก่อน อันนี้เป็นการติดตั้งบนเครื่องที่ผมใช้ทดสอบครับ
wget http://www.micpc.com/qloganalyzer/qanalyzer.tar.gz
3. ติดตั้งโปรแกรม
ผมจะติดตั้งไว้ใน Root Directory ของ Apache Web Server นะครับคือที่ไดเร็คตอรี่หลัก /var/www/html
tar xzvf qanalyzer.tar.gz -C /var/www/html
ซึ่งถ้าทาตามตัวอย่างเราก็จะได้ดาต้าเบสชื่อ asterisk_cdr ภายในมีเทเบิล cdr อยู่ และ User ที่จะเข้ามาใช้ดาต้าเบสนี้ชื่อว่า root และ
Password คือ password
);
เราก็จะได้เทเบิล queuelog และ users ซึ่งเทเบิล queuelog เอาไว้เก็บ Queue ที่โปรแกรมอ่านมาจากไฟล์ /var/log/asterisk/queuelog ส่วน
เทเบิล users เอาไว้เก็บ User/Pass ที่จะใช้ล๊อกอินเข้าเว็บของโปรแกรม
5. แก้ไขข้อมูลที่จะคอนเน็คกับด้าต้าเบสในไฟล์สาคัญ
5.1 ไฟล์ /var/www/html/qanalyzer/install/cdr/cdrload.php
ไฟล์นี้จะโหลด CDR จากไฟล์ Master.csv ลงดาต้าเบส
$locale_db_host = 'localhost';
$locale_db_name = 'asterisk_cdr';
$locale_db_login = 'root';
$locale_db_pass = 'password';
$logfile = "/var/log/asterisk/cdr-csv/Master.csv";
#!/bin/bash
/var/www/html/qanalyzer/install/loader/loadq.py </var/log/asterisk/queue_log
tail -f -n 0 /var/log/asterisk/queue_log | /var/www/html/qanalyzer/install/loader/loadq.py &
$locale_db_host = 'localhost';
$locale_db_name = 'asterisk_cdr';
$locale_db_login = 'root';
$locale_db_pass = 'password';
$logfile = "/var/log/asterisk/cdr-csv/Master.csv";
$sql="SELECT UNIX_TIMESTAMP(calldate) as calldate FROM cdr2 ORDER BY calldate DESC LIMIT 1";
$sql = "INSERT INTO cdr2 (calldate, clid, src, dst, dcontext, channel, dstchannel, lastapp,
แล้วก็สั่งรันด้วยคาสั่ง
php /var/www/html/qanalyzer/install/cdr/cdrload.php
7. การสั่งอัพเดทข้อมูลใหม่
เมื่อเราต้องการแสดงข้อมูลใหม่ ก็ต้องสั่งรันสคริปต์ loadq.sh ใหม่ สคริปต์นี้ก็จะเช็คไฟล์ CDR และ Queue Log ใหม่ แต่จะไร้ท์ลงดาต้าเบส
เฉพาะข้อมูลใหม่เท่านั้นครับ และจะสังเกตัได้ว่ามันไม่ได้ทางานแบบ Realtime ถ้าต้องการให้ทางานแบบ Realtime ให้ดูหัวข้อต่อไปครับ
crontab -e
ใส่บรรทัดนี้เพิ่ม
#Asterisk Queue/CDR Analyzer Cron Job
0 * * * * /var/www/html/qanalyzer/install/loader/loadq.sh > /dev/null 2>&1
0 * * * * php /var/www/html/qanalyzer/install/cdr/cdrload.php > /dev/null 2>&1
ซึ่งก็จะดึงข้อมูลทุก 1 ชั่วโมงตามที่เราต้องการ
และอีก 2 โปรแกรมต้องติดตั้งเอง
cabextract
msttcorefonts
ปล. สาหรับโปรแกรม ttmkfdir และ chkfontpath ผมก็มีให้ด้วยนะครับเวอร์ชั่นใหม่กว่าติดตั้งจาก yum อีก ดาวน์โหลด ttmkfdir และ
chkfontpath ได้เลย
หรือถ้าท่านที่อยากเอาไปทาเองผมก็มีไฟล์ .spec และ .srpm ให้ด้วยนะครับดังนี้ chkfontpath, ttmkfdir รายละเอียดวิธีการติดตั้งลองค้นดู
ในเน็ตครับ ถือถามผมก็ได้ เพราะถ้าผมเขียนบอกในนี้มันจะยืดยาวเกินไป
เมื่อติดตั้ง msttcorefonts ก็จะได้ไฟล์ True Type Fonts อยู่ในไดเร็คตอรี่ /usr/share/fonts/msttcorefonts ให้ทา Symbolic Link เป็น
/usr/share/pear/Image/Canvas/Fonts ตามนี้ครับ
ln -s /usr/share/fonts/msttcorefonts /usr/share/pear/Image/Canvas/Fonts
cp /usr/share/pear/Image/Canvas/Fonts/verdana.ttf /usr/share/pear/Image/Canvas/Fonts/Verdana.ttf
7.4 เทสกราฟ
http://x.x.x.x/qanalyzer/install/graph/graph_test.php
ถ้าเห็นกราฟพร้อมตัวหนังสือแสดงว่าเวอร์คครับ (เห็นแต่กราฟก็ยังไม่เวอร์ค)
8. ดูรายงานจากเว็บ
http://x.x.x.x/qanalyzer
ดีฟอลท์ Username/Password คือ admin/admin ครับ
หน้าล๊อกอิน
หน้าหลัก
INSERT INTO asterisk_cdr.users (id, userid, password, level, state) VALUES (NULL, 'kikka', 'kenji', '1', 'y');