Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 5 Next »

Настройки логирования

За логирование WCS Core отвечает файл настроек log4j.properties и ряд настроек файла flashphoner.properties:

Настройки логирования flashphoner.properties

Настройка

Значение по умолчанию

client_log_level

INFO

client_dump_level

0

enable_extended_logging

true

Логи пишутся в каталог /usr/local/FlashphonerWebCallServer/logs

  • client_logs - логи, которые пишутся на стороне сервера и относятся к сессии клиента с WCS-сервером (Клиентские логи).
  • server_logs - общие логи, которые пишутся на стороне сервера.

Настройки логгирования log4j.properties

Это стандартный конфиг формата log4j.


Описание настроек

Аттрибут

Значение

Описание

log4j.rootLogger

info, stdout, fAppender

Корневой логгер. 

info - Уровень логгирования INFO. Доступны другие более подробные уровни, например DEBUG и TRACE и менее подробные, например ERROR.

stdout, fAppender - определяют как и куда будут выводиться логи.

log4j.logger.incoming.Publication

info, incoming_publication

Логгер статистики RTMFP-SIP звонков для входящего с SIP сервера трафика.


info - уровень логгирования
incoming_publication - определяют как и куда будут выводиться логи.

log4j.logger.outgoing.Publication

info, outgoing_publication

Логгер статистики RTMFP-SIP звонков для исходящего на SIP сервер трафика.

info - уровень логгирования
outgoing_publication - определяют как и куда будут выводиться логи.

log4j.logger.pushLogs.FlashphonerHandler

Не используется

Не используется

log4j.additivity.incoming.Publication

false

Не дублировать данные логи в общий лог, а писать в отдельные

log4j.additivity.outgoing.Publication

false

Не дублировать данные логи в общий лог, а писать в отдельные

log4j.logger.sipMessages

DEBUG

Выводить входящие и исходящие SIP сообщения в лог

log4j.appender.stdout

org.apache.log4j.ConsoleAppender

Вывод логов в stdout

log4j.appender.fAppender

org.apache.log4j.DailyRollingFileAppender

Вывод логов в fAppender

log4j.appender.incoming_publication

org.apache.log4j.DailyRollingFileAppender

Вывод статистики RTMFP в incoming_publication

log4j.appender.outgoing_publication

org.apache.log4j.DailyRollingFileAppender

Вывод статистики RTMFP в outgoing_publication

log4j.appender.clientLog

org.apache.log4j.DailyRollingFileAppender

Не используется

Горячая замена настроек логгирования

WCS автоматически подхватывает изменения, сделанные в файле log4j.properties. Это удобно для целей отладки и получения дополнительных логов без перезагрузки сервера. Например, в том случае если требуется включить более подробные логи или изменить формат вывода логов. Однако для большей надежности в production все же рекомендуется выполнить перезагрузку WCS-сервера.

Клиентские логи

Клиентские логи - это логи на сервере, которые относятся к сессии web-клиента. Клиентские логи в client_logs пишутся только тогда, когда включена настройка enable_extended_logging=true. Управлять уровнем логгирования можно настройкой client_log_level, которая может принимать значения ERROR, INFO, DEBUG, TRACE.

Управление настройками автоматической очистки для этих логов осуществляется с помощью настроек keep_extended_logs_max_days, extended_logs_dir_depth, check_extended_logs_interval. По умолчанию проверка на устаревшие логи проходит каждые 24 часа и удаляются логи хранящиеся более 30 дней. Для изменения правил удаления и хранения клиентских логов отредактируйте эти настройки и перезапустите WCS сервер.

Структура клиентских логов:

client_logs
---- 2018-05-16
-------- 84gij60a6u3ni7docsr1di1l5b-15-06-59
------------ flashphoner.log
------------ client-84gij60a6u3ni7docsr1di1l5b-2018.05.16.15.07.26-1526458046646.report
------------ MediaDump-85d65b00-639e-4a7e.31002-31004-31006-31008.pcap

Лог flashphoner.log

Клиентские логи client_logs пишутся по датам. Под каждую дату создается директория с именем в формате ГГГГ-ММ-ДД, например 2018-05-16.
Когда web-клиент устанавливает соединение с сервером, внутри директории с датой создается каталог для этой сессии клиента, например 84gij60a6u3ni7docsr1di1l5b-15-06-59, где 84gij60a6u3ni7docsr1di1l5b - идентификатор сессии, 15 - час, 06 - минута, 59 - секунда. В директорию пишется flashphoner.log, который содержит только те события на сервере, которые непосредственно относятся к этой сессии клиента. Таким образом мы видим когда клиент соединился с сервером, и какие логи были записаны для сессии этого клиента.

Лог client-report

Дополнительный клиентский лог. Web-клиент имеет специальную функцию WCS JavaScript API 'pushLog'. Эта функция отправляет на WCS-сервер логи, которые ведутся на стороне браузера. Все логи, полученные от web-клиента по pushLog, будут сохраняться на сервере. Когда web-клиент завершит сессию с WCS-сервером, полученые логи будут записаны в файл client-84gij60a6u3ni7docsr1di1l5b-2018.05.16.15.07.26-1526458046646.report, где 84gij60a6u3ni7docsr1di1l5b - идентификатор сессии, 2018 - год, 05 - месяц, 26 - день, 15 - час, 07 - минута, 26 - секунда, 1526458046646 - миллисекунды.

Дампы медиатрафика

Если в файле настроек flashphoner.properties указано ненулевое значение client_dump_level, для клиента дополнительно пишется дамп сессии:

  • если client_dump_level=1. записывается только SIP трафик;
  • если client_dump_level=2, записывается весь медиатрафик.

Трафик записывается при помощи tcpdump, если данная утилита установлена в системе.

Серверные логи

WCS Core пишет общие логи сервера в logs/server_logs

server_logs
---- flashphoner.log
---- flashphoner.log.2018-05-17-16


В этих логах можно отследить запуск и стартовые настройки сервера:

tail -f flashphoner.log



Остановка сервера


А так же посмотреть информацию о лицензии:


Таким образом, серверные логи предоставляют общую информацию о работе сервера.

CDR-логи

Сall Detail Record - это журнал SIP-звонков.

CDR записи пишутся в лог файл находящийся в logs/cdr/cdr.log. Новый лог файл создается на основе суточного интервала. Записи формируются в CSV-файле, что позволяет их удобно обрабатывать.

Названия полей в файл не пишутся.

Формат записи:

src;dst,cid,start,answer,end,billsec,disposition


Пример записи :

3000;3001;f294f6116bf2cc4c725f20457ed76e5b@192.168.56.2;2014-11-21 15:01:37; 2014-11-21 15:01:41; 2014-11-21 15:02:45;64;ANSWERED


Поле

Описание

src

Инициатор звонка

dst

Принимающий звонок

cid

Идентификатор звонка

start

Начало звонка (дата и время).

answer

Дата и время ответа абонента или SIP стороны.

end

Дата и время завершения звонка

billsec

Время в секундах между 'answer' и 'end'.

disposition

Результат звонка: ANSWERED, NO_ANSWER, BUSY, FAILED.

MDR-логи

Message Detail Record - это журнал SIP-сообщений.

MDR записи пишутся в лог файл находящийся в logs/cdr/mdr.log. Новый лог файл создается на основе суточного интервала. Записи формируются в CSV-файле, что позволяет их удобно обрабатывать.

Названия полей в файл не пишутся.

Формат записи:

date,msgId,from,to,disposition

Пример записи :

Fri Dec 26 15:26:16 NOVT 2014,null,A006,A005,RECEIVED

 

Поле

Описание

date

Дата и время сообщения

msgId

Идентификатор сообщения. Будет представлен только в message/cpim сообщениях, при isImdnRequired=true (см. документацию Web Call Server - Call Flow, где описаны параметры передаваемых сообщений в методе sendMessage).

from

SIP from

to

SIP to

disposition

Результат сообщения: RECEIVED, SENT, FAILED.

RECEIVED - сообщение получено.

SENT - сообщение отправлено.

FAILED - во время отправки сообщения произошла ошибка.


Вы также можете собирать любую необходимую статистику по сообщениям и их статусам, используя WCS REST API. См. документацию Web Call Server - Call Flow, где перечислены все методы и наборы данных, которые WCS отправляет чрез REST при обработке сообщений.

SDR-логи

Stream Detail Record - это журнал сессий публикации и воспроизведения потоков.

SDR записи пишутся в лог-файл sdr.log, находящийся в директории logs/cdr. Новый лог-файл создается на основе часового интервала. Записи сохраняются в CSV-формате, что упрощает их обработку. Названия полей в файл не пишутся.

Формат записи:

end;mediaProvider;name;mediaSessionId;duration;disposition;info;type;subscribers;


Пример записи:

2015-11-11 08:36:13;Flash;stream-Bob;5c2d75c0-7d87-421d-aa93-2732c48d8eaa;00:00:48;UNPUBLISHED;;PUBLISH;3;


Поле

Описание

end

Дата и время завершения сессии

mediaProvider

Используемое медиа на WCS JavaScript API: WebRTC, Flash

name

Имя публикуемого / воспроизводимого потока

mediaSessionId

Идентификатор медиа-сессии

duration

Продолжительность сессии

disposition

Как сессия была завершена: UNPUBLISHED, STOPPED, FAILED

UNPUBLISHED - публикация потока была остановлена

STOPPED - воспроизведение потока было остановлено

FAILED - некорректное завершение сессии

info

Если disposition==FAILED, содержит описание причины

type

PUBLISH в случае публикации потока

SUBSCRIBE в случае воспроизведения потока

subscribers

Количество подписчиков в случае публикации потока; 0 в случае воспроизведения потока

CONNDR-логи

Connection Detail Record - это журнал WebSocket сессий.

CONNDR записи пишутся в лог-файл sdr.log, находящийся в директории logs/cdr. Новый лог-файл создается на основе часового интервала. Записи сохраняются в CSV-формате, что упрощает их обработку. Названия полей в файл не пишутся.

Формат записи:

end;mediaSessionId;disposition;info;duration;


Пример записи:

2018-04-25 19:29:08;/5.44.168.45:52199/95.191.131.64:8443;DISCONNECTED;Normal disconnect;17;


Поле

Описание

end

Дата и время завершения сессии

mediaSessionId

Идентификатор медиа-сессии

disposition

Как сессия была завершена: DISCONNECTED, FAILED

DISCONNECTED - завершение сессии по инициативе клиента

FAILED - некорректное завершение сессии

info

Содержит описание завершения сессии

duration

Продолжительность сессии

  • No labels