База знаний

www. IT-Mehanika .ru --  журнал доброго админа

Asterisk + GUI + скромный анализатор логов (часть 2)

Покурили? продолжаем. Заставим писать логи звонков на mysql и создадим простой анализатор логов к нему.
для начала заходим в postfixadmin - http://phpmyadmin
там выполняем скрипт (просто скопируйте и выполните):


create database asteriskcdrdb;

use asteriskcdrdb;

CREATE TABLE `cdr` (

`calldate` datetime NOT NULL default '0000-00-00 00:00:00',

`clid` varchar(80) NOT NULL default '',

`src` varchar(80) NOT NULL default '',

`dst` varchar(80) NOT NULL default '',

`dcontext` varchar(80) NOT NULL default '',

`channel` varchar(80) NOT NULL default '',

`dstchannel` varchar(80) NOT NULL default '',

`lastapp` varchar(80) NOT NULL default '',

`lastdata` varchar(80) NOT NULL default '',

`duration` int(11) NOT NULL default '0',

`billsec` int(11) NOT NULL default '0',

`disposition` varchar(45) NOT NULL default '',

`amaflags` int(11) NOT NULL default '0',

`accountcode` varchar(20) NOT NULL default '',

`userfield` varchar(255) NOT NULL default '',

`uniqueid` varchar(32) NOT NULL default ''

);

ALTER TABLE cdr ADD INDEX ( calldate );
ALTER TABLE cdr ADD INDEX ( dst );
ALTER TABLE cdr ADD INDEX ( uniqueid );

Дальше создадим пользователя :


GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP on asteriskcdrdb.* to 'asterisk'@'localhost' IDENTIFIED BY "smeniparol";

Пока c mysql все

Смотрим работу астериск:


$ asterisk -r

и смотрим результаты

$ cdr show status


* Registered Backends
-------------------
cdr_sqlite3_custom
cdr-custom
csv

mysql - нихт.

А есть ли модуль в системе?

$ module load app_mysql.so

ругнулся - хорошо, нет значит забыли включить.
Должно быть что-то вроде Module 'app_mysql.so' already exists.

Если такого нет, значит компилируйте тогда аддонсы.

Если модуль есть - заставим работать.

$ nano /etc/asterisk/cdr.conf

Надо поправить enable=no на enable=yes и раскоментировать
Также вписать базу asteriskcdrdb в конфиг /etc/asterisk/cdr_mysql.conf

[global]
hostname=localhost
dbname=asteriskcdrdb
table=cdr
password=smeniparol
user=asteriskcdruser
port=3306

charset=utf-8


сохранили и как всегда /etc/init.d/asterisk restart

в какой нибудь папочке apache2 создали два скриптика :
index.php и tinc.php . Качайте архивчик с ними здесь 
Вот собственно и все. Зайдя на http:/// мы увидим простенький анализатор логов.
Уффф выдохся ... Пошел безобразия хулиганить