Страница 1 из 1

Queue_log RT Mysql и в файл

Добавлено: 20 июн 2011, 06:12
markt
Всем привет!
Есть астериск 1.6.2.18, логи очереди пишутся реалтайм в mysql, необходимо временно установить Asternic Call Center Stats Lite, но он логи парсит из файла, есть ли возможность одновременно настроить запись в файл и в базу, чтобы без ковыряния Asternic обойтись?

Re: Queue_log RT Mysql и в файл

Добавлено: 23 сен 2012, 22:10
agudino
Asternic Call Center Stats PRO has a realtime parser that writes the event at the same time asterisk writes into the queue_log file . It is a commercial software but worth it. www.asternic.net

Re: Queue_log RT Mysql и в файл

Добавлено: 26 фев 2013, 11:22
Enyby
Нужно добавить парсинг из вашей таблицы queue_log. Делается это так:

Код: Выделить всё

// Populates an array with the EVENTS ids
$query = "SELECT * FROM qevent ORDER BY event_id";
$res = consulta_db($query,0,0);
while($row = db_fetch_row($res)) {
        $event_array["$row[1]"] = $row[0];
}

// *******************************************************************************************************
// fetch realtime data
$query = "SELECT `time`, callid, queuename, agent, `event`, `data` FROM asterisk.queue_log WHERE time > '".mysql_real_escape_string($last_event_ts)."' ORDER BY id";
$res = consulta_db($query,0,0);
while($row = db_fetch_row($res)) {
	procesa(implode('|', $row));
}
// *******************************************************************************************************

$filename = "$queue_log_dir/$queue_log_file";
$dataFile = fopen( $filename, "r" );
Часть, выделенную ********************************, надо добавить в файл parselog.php. Если ваша БД не asterisk, то нужно указать ее имя тут, вместо asterisk: "FROM asterisk.queue_log WHERE".

Re: Queue_log RT Mysql и в файл

Добавлено: 26 фев 2013, 13:29
zzuz
Что за некрофилия?

Re: Queue_log RT Mysql и в файл

Добавлено: 26 фев 2013, 14:11
zzuz
Странное решение. Плюс код явно не автора , да еще и сомнительного качества , в придачу того , что это только кусок.

Re: Queue_log RT Mysql и в файл

Добавлено: 01 апр 2014, 17:32
it-technics
Респект Enyby !!!
Все работает код отличный. Только необходимо использовать queue_log в той же же бд где asternic, то есть в qstats.
можно и побольше данных, т.к. в misc.php листом обрабатывается восемь

// fetch realtime data
$query = "SELECT `time`, callid, queuename, agent, `event`, `data1`, `data2`, `data3` FROM qstats.queue_log WHERE time > '".mysql_real_escape_string($last_event_ts)."'";
$res = consulta_db($query,0,0);
while($row = db_fetch_row($res)) {
procesa(implode('|', $row));
}

Так же необходимо в misc.php перед условием

if (ereg('[^0-9]', $date)) {
return;
}

добавить $date=return_timestamp($date);

т.е. к юниксовому времени.

А так все круто! Спасибо!

Re: Queue_log RT Mysql и в файл

Добавлено: 07 авг 2014, 23:13
agudino
Код взят из версии LITE тех же разработчиков Call Center Статистика PRO. www.asternic.net