ATS Log 2.1.1 на Debian 7.4
Когда-то на сайте (www.atslog.dp.ua) разработчика, в разделе «О программе», было сказано:
Назначение программы
Удобный web-интерфейс для доступа к статистике:
Для работы нужны: sh, Perl 5.X, MySQL (3 и выше) или PostgresSQL, PHP (4 и выше), HTTP Server (например, Apache).
Работает на платформах *NIX: FreeBSD, Linux; возможно портирование под другие системы.
Для работы использует C модуль atslogd для считывания информации из АТС,perl скрипт для записи в базы данных, PHP и любой http сервер для доступа к статистике через web-интерфейс.
ATSlog легко устанавливается и настраивается.
Но сейчас (по крайней мере сегодня 5 мая 2014 года)сайта нет, а разработчик забросил сей продукт… А жаль! Но в любом случае спасибо ТЕБЕ, уважаемый. Продукт работает, и работает отлично…
Итак, всё что будет написано ниже, 100% работает на Debian 7.4., в виртуальной машине. Исходные данные (которые не по-умолчанию):
пароль для MySQL пользователя «root»:My$q1@dm1N
пароль приложения для phpmyadmin:PhPMy@d
пароль для MySQL пользователя «atslog»: @T5l06
Подготовка
пароль для MySQL пользователя «root»:My$q1@dm1N
пароль приложения для phpmyadmin:PhPMy@d
Установка
Скачать архив с исходными кодами
скопипастил здесь
1. koi8-r -> utf-8
2.1. Создаю патч-файл atslogmaster2LSB.patch в папке с распакованным ATSLog следующего содержания:
Добавлю пароль в конфигурационный файл WEB-интерфейса
Открываю адрес http://куда_установлено/atslog
на вопрос «запрашивает имя пользователя и пароль. Сайт сообщает: «abonent»» ответ:
логин: atslog
пароль: atslog
ВАЖНО!!!
Внимание! Для администратора используется пароль по умолчанию. В целях обеспечения безопасности измените пароль!
Если не открылся WEB-интерфейс
...но выдал сообщение:
Ошибка!
Неверно настроен анализ PHP кода в HTML тексте.
Это может произойти по двум причинам:
1. PHP не подключен или не активирован.
2. Разрешение файлов .html не интерпертируется как PHP код.
Во всём пакете ATSlog тексты кода PHP из соображения безопасности скрыты за разрешением файлов .html
Не забудьте вставить строку
AddHandler application/x-httpd-php html php
в настройках Вашего Apache http сервера.
Добавить в зависимости от настроек http-сервера, нечто типа
По-умолчание, в конфигурационном файле /usr/local/etc/atslog.conf прописана АТС model=KX-TA616RU. Для проверки буду использовать файл /opt/atslog-2.1.1/data/textlogs/Panasonic\ KX-TA616RU.txt
Итак:
Назначение программы
ATSlog предоставляет удобный интерфейс с доступом через web-браузер для просмотра и анализазвонков различных моделей мини-АТС. Программа бесплатна, распространяется под лицензией GPL , имеет полностью открытый код.
В настоящий момент программа успешно работает с АТС Panasonic, Samsung, Hybrex, Siemens, LG и Alcatel.
Удобный web-интерфейс для доступа к статистике:
- Гибкий режим задания диапазона дат.
- Возможность двустороннего анализа данных — как со стороны внешнихтелефонных линий, подключенных к АТС, так и со стороны внутреннихтелефонов.
- Разграничение учета звонков по типам — внутригородские звонки, междугородние имеждународные, входящие и исходящие, мобильная связь
- Цветовая раскраска для разных типов звонков.
- Многопользовательский интерфейс для абонентов, где отражается информациятолько об их персональных телефонных переговорах.
- Ассоциирование внутренних телефонных номеров с именами абонентов.
- Ассоциирование внешних линий с телефонными номерами.
- Экспорт данных в формат Excel.
- Поддержка многоязычности. Можно легко добавлять новые языки.
- Настраиваемый многостраничный вывод.
- Сортировка по заголовкам столбцов таблиц (прямой и обратный порядок).
- Предпечатная подготовка.
- Кэширование SQL запросов, что позволяет значительно ускорить обработку информации.
- Тестовый просмотр статистики . Вы можете ознакомиться с реальным использованием программы ATSlog . Для входа используйте имя пользователя atslog , пароль atslog
- Перевод существующих текстовых лог-файлов АТС в формат программы ATSlog .
- Ротация текстовых лог-файлов c данными телефонных звонков АТС.
- Критические сообщения об ошибках передаются в syslog.
- Поддержка MySQL и PostgresSQL. В ближайших планах — поддержка SQLite.
- Работа с АТС используя серийный порт или TCP/IP.
- Alcatel: 4200E
- Goldstar: GPS-6A
- Hybrex: GD-320
- LG: GDK-100, GDK-162, GHX-46, LDK-100, LDK-300
- NEC: NEAX2000
- Panasonic: KX-TA308, KX-TA308RU, KX-TA616, KX-TA616RU, KX-TD1232, KX-TD1232-RU, KX-TD500, KX-TD816RU, KX-TDA100, KX-TDA200, KX-TEM824, KX-TES824
- Samsung: NX-820, OFFICESERV-100, OFFICESERV-500, OFFICESERV-7200, SKP-816
- Siemens: HICOM-150, HIPATH-3750, Hicom 250, Hicom 350H
Для работы нужны: sh, Perl 5.X, MySQL (3 и выше) или PostgresSQL, PHP (4 и выше), HTTP Server (например, Apache).
Работает на платформах *NIX: FreeBSD, Linux; возможно портирование под другие системы.
Для работы использует C модуль atslogd для считывания информации из АТС,perl скрипт для записи в базы данных, PHP и любой http сервер для доступа к статистике через web-интерфейс.
ATSlog легко устанавливается и настраивается.
Но сейчас (по крайней мере сегодня 5 мая 2014 года)сайта нет, а разработчик забросил сей продукт… А жаль! Но в любом случае спасибо ТЕБЕ, уважаемый. Продукт работает, и работает отлично…
Итак, всё что будет написано ниже, 100% работает на Debian 7.4., в виртуальной машине. Исходные данные (которые не по-умолчанию):
пароль для MySQL пользователя «root»:My$q1@dm1N
пароль приложения для phpmyadmin:PhPMy@d
пароль для MySQL пользователя «atslog»: @T5l06
Подготовка
apt-get install mysql-server apache2 mc autoconf automake phpmyadmin gcc makeбудут заданы два вопроса:
пароль для MySQL пользователя «root»:My$q1@dm1N
пароль приложения для phpmyadmin:PhPMy@d
Установка
Скачать архив с исходными кодами
cd /opt wget ХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХ/atslog-2.1.1.tar.gz ./распаковать
tar zxf atslog-2.1.1.tar.gz cd atslog-2.1.1/сконфигурировать
./configure --with-wwwroot=/var/wwwустановить
make install make[1]: Entering directory `/opt/atslog-2.1.1/atslogd' gcc -g -O2 -s -Wall -DPACKAGE_NAME=\"atslog\" -DPACKAGE_TARNAME=\"atslog\" -DPACKAGE_VERSION=\"2.1.1\" -DPACKAGE_STRING=\"atslog\ 2.1.1\" -DPACKAGE_BUGREPORT=\"samm@os2.kiev.ua\" -DSTDC_HEADERS=1 -DHAVE_SYS_WAIT_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_ARPA_INET_H=1 -DHAVE_ARPA_TELNET_H=1 -DHAVE_FCNTL_H=1 -DHAVE_NETDB_H=1 -DHAVE_NETINET_IN_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_SYS_SOCKET_H=1 -DHAVE_TERMIOS_H=1 -DHAVE_UNISTD_H=1 -DHAVE_UNISTD_H=1 -DHAVE_FORK=1 -DHAVE_VFORK=1 -DHAVE_WORKING_VFORK=1 -DHAVE_WORKING_FORK=1 -DHAVE_STDLIB_H=1 -DHAVE_MALLOC=1 -DHAVE_STRFTIME=1 -DHAVE_VPRINTF=1 -DHAVE_BZERO=1 -DHAVE_GETHOSTBYNAME=1 -DHAVE_INET_NTOA=1 -DHAVE_MEMSET=1 -DHAVE_SOCKET=1 -DHAVE_STRCASECMP=1 -DHAVE_STRCHR=1 -DHAVE_STRERROR=1 -DHAVE_STRNCASECMP=1 -DHAVE_STRSPN=1 -o atslogd atslogd.c atslogd.c: In function ‘read_block’: atslogd.c:597:9: warning: the address of ‘obuf’ will always evaluate as ‘true’ [-Waddress] make[1]: Leaving directory `/opt/atslog-2.1.1/atslogd' Installing web interface to the /var/www/atslog directory Installing atslog libraries to the /usr/local/libexec/atslog directory Installing atslog binaries to the /usr/local/bin directory Installing atslog man pages to the /usr/local/man directory Install completed. You need to edit /usr/local/etc/atslog.conf configuration fileотредактировать скрипт создания базы данных data/sql/createsqltables.mysql.sql
sed -ir "s/timestamp(14)/timestamp/g" data/sql/createsqltables.mysql.sqlсоздать базу на сервере MySQL
make install-sql cd data/sql;./install-sql.pl /usr/local/etc/atslog.conf ATSlog SQL database installer/updater Database type: (mysql or postgresql) [mysql]: Database manager [root]: Manager's password []: My$q1@dm1N Database host [localhost]: Database name [atslog]: Database user [atslog]: User's password [n7l260c6m]: @T5l06 Connecting to 'DBI:mysql:database=mysql;' as 'root'... Creating database...OK Creating user...OK Creating tables...OK Inserting data...OK Patching configuration file... Done :)небольшой патч WEB-интерфейса
скопипастил здесь
atslog:~# cd /var/www/atslog/ atslog:/var/www/atslog#scp mydraftsadmin@1XX.XXX.XXX.XXX:/home/mydraftsadmin/SiteSource/ATSlog/atslogcp1251.patch ./ atslog:/var/www/atslog# patch -p3 < atslogcp1251.patch patching file include/set/commonData.php patching file include/set/functions.php patching file intern/index.html patching file lines/index.html patching file phonebook/index.html patching file settings/index.html patching file users/index.html atslog:/var/www/atslog#скрипт запуска
1. koi8-r -> utf-8
cd /opt/atslog-2.1.1 atslog:/opt/atslog-2.1.1# iconv -f koi8-r -t utf-8 include/atslogmaster -o include/atslogmaster.utf82. +LSB
2.1. Создаю патч-файл atslogmaster2LSB.patch в папке с распакованным ATSLog следующего содержания:
@@ -1,10 +1,17 @@ #!/bin/sh -# ATSlog version 2.1.1 build 664 www.atslog.com -# Copyright (C) 2003-2007 Denis CyxoB www.yamiyam.dp.ua -# -# chkconfig: 345 96 04 -# description: This is a daemon for reading PBX logs -# +### BEGIN INIT INFO +# Provides: atslogmaster +# Required-Start: $local_fs $syslog $network +# Required-Stop: $local_fs $syslog $network +# Should-Start: mysql +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: ATSlog +# Description: Sart/Stop/etc a daemon for reading PBX logs +# ATSlog version 2.1.1 build 664 www.atslog.com +# Copyright (C) 2003-2007 Denis CyxoB www.yamiyam.dp.ua +### END INIT INFO + PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/sbin:/usr/local/bin:. NOWDATE=`LANG=en_US;date` BASENAME=`basename $0`2.2. Применяю патч
patch -p0 include/atslogmaster.utf8 < atslogmaster2LSB.patch -o /etc/init.d/atslogmaster2.3. +X
chmod +x /etc/init.d/atslogmaster2.4. LSB
# update-rc.d atslogmaster defaults update-rc.d: using dependency based boot sequencingИспользование ATSlog
- /usr/local/etc/atslog.conf — конфигурационный файл.
- # atslogmaster — запуск без параметров покажет статус демона сбора информа-ции и выдаст краткую справку по использованию atslogmaster.
atslogmaster version 2.1.1 build 664 atslogd запущен. PID процесса 2605 Usage: atslogmaster {start|stop|restart|reload|status|writedb|rotate|alltodb|cleardb} - # atslogmaster start — запуск ATSlog.
- # atslogmaster stop — останов.
- # atslogmaster restart — перезагрузка.
- # atslogmaster writedb — запись последних звонков в базу SQL сервера.
- # atslogmaster rotate — ротация текстовых лог-файлов.
- # atslogmaster cleardb — очистка таблиц SQL сервера.
- # atslogmaster alltodb — запись всех (в т.ч. из архивов) звонков в базу SQL сервера. Данные о текущих звонках из файла /var/log/atslog/currentcalls.log не добавляются из-за возможного дублирования информации. Если есть необходимость записать также и текущие звонки, то воспользуйтесь функцией writedb
Добавлю пароль в конфигурационный файл WEB-интерфейса
sed -ir s/sqlmaspasswd\=\'\'/sqlmaspasswd\=\'`cat /usr/local/etc/atslog.conf |grep ^sqlmaspasswd | awk -F\= '{print $2}'`\'/g /var/www/atslog/include/config.inc.php
cat /usr/local/etc/atslog.conf |grep ^sqlmaspasswd | awk -F\= '{print $2}'
— вырезает пароль для подключения к БД из конфигурационного файла /usr/local/etc/atslog.confОткрываю адрес http://куда_установлено/atslog
на вопрос «запрашивает имя пользователя и пароль. Сайт сообщает: «abonent»» ответ:
логин: atslog
пароль: atslog
ВАЖНО!!!
Внимание! Для администратора используется пароль по умолчанию. В целях обеспечения безопасности измените пароль!
Если не открылся WEB-интерфейс
...но выдал сообщение:
Ошибка!
Неверно настроен анализ PHP кода в HTML тексте.
Это может произойти по двум причинам:
1. PHP не подключен или не активирован.
2. Разрешение файлов .html не интерпертируется как PHP код.
Во всём пакете ATSlog тексты кода PHP из соображения безопасности скрыты за разрешением файлов .html
Не забудьте вставить строку
AddHandler application/x-httpd-php html php
в настройках Вашего Apache http сервера.
Добавить в зависимости от настроек http-сервера, нечто типа
<Directory /usr/local/var/www/atslog/> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all <IfModule mod_php5.c> AddType application/x-httpd-php html php </IfModule> </Directory>Посмотреть как выгядит WEB-интерфейс, без подключения к АТС
По-умолчание, в конфигурационном файле /usr/local/etc/atslog.conf прописана АТС model=KX-TA616RU. Для проверки буду использовать файл /opt/atslog-2.1.1/data/textlogs/Panasonic\ KX-TA616RU.txt
Итак:
# cat /opt/atslog-2.1.1/data/textlogs/Panasonic\ KX-TA616RU.txt > /usr/local/var/log/atslog/currentcalls.log now=`date +%m/%d/%g`; sed -i s#6/12/02#$now# /usr/local/var/log/atslog/currentcalls.log # atslogmaster writedbпосле чего открыть WEB-интерфейс:
патч не использовал.
import_request_variables(«gPc», «rvar_»);
на
extract($_REQUEST, EXTR_PREFIX_ALL|EXTR_REFS, ‘rvar’);
в
../atslog/users/index.html — 22 строка
../atslog/settings/index.html — 42 строка
../atslog/phonebook/index.html — 21 строка
../atslog/lines/index.html — 23 строка
../atslog/intern/index.html — 23 строка
../atslog/include/set/functions.php -118 строка
../atslog/include/set/commonData.php — 7 строка
что бы нормально отображал мобильные, … межгород сделал так: в файле include/set/functions.php подшаманил:
$LocalCalls=’^849[5,6,8,9].+’;
$LongDistanceCalls=’^8[3,6,8]|8492.+’;
$InternationalCalls=’^810.+’;
а вообще много полезного есть у лисяры, например здесь: http://forum.lissyara.su/viewtopic.php?p=336476
Спасибо за публикацию материала. Очень помогло. Работает уже 2 месяца на Ubuntu server 14.04. Станция LG ldk-300. Из всего, не стал только патч, остальное пока все устраивает.
рад, что помогло. Патч, как показал опыт, не всем на самом деле нужен
Спасибо за подробное описание настройки.
У меня никак не получается научить стартовать Atslog при загрузке. Делал все по вашей инструкции, патч применял. atstart.log — atslogmaster: PID process is not accessible or the daemon is not started.
Mint 17.3 xfce
Здравствуйте, Михаил!
Покажите весь лог
Спасибо, что откликнулись. В логе(он ниже) мало чего интересного, те места где он стартанул- был запущен вручную, где закрыт — перезапуск станции.
Sun Jul 3 22:08:01 MSK 2016 atslogmaster: PID process is not accessible or the daemon is not started.
Sun Jul 3 22:53:13 MSK 2016 atslogmaster: PID process is not accessible or the daemon is not started.
Sun Jul 03 22:53:45 MSK 2016 atslogd[1490]: Starting
Sun Jul 3 23:06:36 MSK 2016 atslogmaster[1490]: не может стартовать, т.к. уже существует PID файл. Скорее всего, ATSlog уже запущен; в противном случае удалите файл /usr/local/var/run/atslogd.pid
Mon Jul 04 10:07:49 MSK 2016 atslogd[1490]: Closing CDR stream
Mon Jul 4 10:07:49 MSK 2016 atslogd[1490]: stopped
Mon Jul 04 10:07:49 MSK 2016 atslogd[1490]: Exiting on signal 15
Mon Jul 4 10:53:23 MSK 2016 atslogmaster: PID process is not accessible or the daemon is not started.
Mon Jul 4 10:57:56 MSK 2016 atslogmaster: Не доступен PID процесса либо демон не запущен.
Mon Jul 04 10:58:05 MSK 2016 atslogd[2846]: Starting
Mon Jul 04 11:50:23 MSK 2016 atslogd[2846]: Closing CDR stream
Mon Jul 4 11:50:23 MSK 2016 atslogd[2846]: остановлен
Mon Jul 04 11:50:23 MSK 2016 atslogd[2846]: Exiting on signal 15
Mon Jul 4 11:51:42 MSK 2016 atslogmaster: PID process is not accessible or the daemon is not started.
Mon Jul 04 11:52:13 MSK 2016 atslogd[1454]: Starting
Tue Jul 05 11:59:31 MSK 2016 atslogd[1454]: Closing CDR stream
Tue Jul 5 11:59:31 MSK 2016 atslogd[1454]: остановлен
Tue Jul 05 11:59:31 MSK 2016 atslogd[1454]: Exiting on signal 15
Tue Jul 5 13:17:37 MSK 2016 atslogmaster: Не доступен PID процесса либо демон не запущен.
Tue Jul 05 15:09:13 MSK 2016 atslogd[8267]: Starting
Tue Jul 05 15:17:45 MSK 2016 atslogd[8267]: Closing CDR stream
Tue Jul 5 15:17:45 MSK 2016 atslogd[8267]: остановлен
Tue Jul 05 15:17:45 MSK 2016 atslogd[8267]: Exiting on signal 15
для Mint 17.3
Попробуйте так:
1) Если уже установили, то: update-rc.d -f atslogmaster remove
2) nano /etc/init/atslogmaster.conf
description «ATSLogMaster must be started after starting MySQL»
author «MyDrafts Admin 😉 »
start on started mysql
stop on runlevel [!2345]
task
exec /etc/init.d/atslogmaster start
3) Если уже установили и пытались запускать: [ -f «/run/atslogd.pid» ] && rm -f /run/atslogd.pid
[ -f «/usr/local/var/run/atslogd.pid» ] && rm -f «/usr/local/var/run/atslogd.pid»
Mint174 # cat /usr/local/etc/atslog.conf | grep -vE ‘^$|^#’
build=664
sqlmaspasswd=@T5l06
sqlhost=localhost
sqldatabase=atslog
sqlmasteruser=atslog
sqltype=mysql
port=tty0
speed=9600
charsize=8
parity=n
stopbits=1
bindir=/usr/local/bin
libdir=/usr/local/libexec/atslog
logdir=/var/log/atslog
sharedir=/usr/local/share/atslog
langdir=lang
atslogd=atslogd
atslogd_flags=
masterscript=atslogmaster
atslogdb=atslogdb.pl
cleardb=atslogcleardb.pl
callslogfile=calls.log
curcallslogfile=currentcalls.log
notwritelog=notwrite.log
debug=no
startlogfile=atstart.log
pidfile=/run/atslogd.pid
howmonth=12
model=KX-TA616RU
syslogfacility=user.err
fastwrite=yes
Я протестировал этот вариант, первые два пункта помогли даже на уже стоящей системе. Благодарю за помощь.
Добрый день, спасибо за хауту, но я не заметил ссылку на скачивание… можете поделиться? домен уже недоступен куда вы ссылались…
Спасибо!
atslog-2.1.1.tar.gz
Спасибо за описание настройки.
У меня никак не получается запустить WEB-интерфейс.
В логах apache
[Thu Nov 17 09:33:30.402869 2016] [:error] [pid 24599] [client 192.168.1.168:50241] PHP Fatal error: Call to undefined function import_request_variables() in /var/www/atslog/include/set/functions.php on line 118
Александр, патч использовал?
» небольшой патч WEB-интерфейса
"
Данный патч я применял.
но вебка так и незапускается