Логирование

Логи Октелл нужны в двух ситуациях: когда вы сами ищете причину неисправности и когда обращаетесь в техническую поддержку. В обычной работе большая их часть должна быть выключена — иначе журналы съедят диск.

Сколько это весит Плотная работа сервера в непрерывном режиме с включённым сервисным логом создаёт файлы журнала объёмом до нескольких гигабайт в сутки. Включайте нужные режимы на время отладки, воспроизводите проблему, затем выключайте обратно.

Сервисный лог сервера логики

Настраивается в Общие настройки → Управление сервером. Параметр «Состав сервисного лог-журнала» — это строка, где каждая позиция содержит 0 или 1 и включает логирование конкретного режима.

Что в каких позициях

РежимЧто пишет
1ProcedureShow
2PBXSS
3DBОбращения к базе данных
4HALЯдро системы
5CallTaskManagerУправление задачами
6SmsTaskManagerSMS-сервис
7SvcTaskManagerСлужебные задачи
8AutoCallManagerСервис автодозвона
9CallCenterОбщее логирование call-центра
10CallPoolProgressiveЗадачи с прогрессивным обзвоном
11CallPoolDistributedЗадачи с ручным распределением
12CallPoolReservedЗадачи с закреплением абонента за оператором
13CallPoolIncomingВходящие задачи
14SearcherПоиск оператора и абонента
15CallHelper
16TaskLogic
17TALKДиалоговые сценарии
18SVCСлужебные сценарии
19IVRСценарии IVR
20IvrObjectReportОбъекты IVR
21LineLogic
22LineThreads
23LLHWactions
24QueueОчереди
25QueueDebugПодробности переключений
26TimerТаймеры
27FlashTimerТаймеры при переключении
28ExtLinesВнешние линии
29GetSetState
30ShowHWActions
31Threading
32UserStateСостояния пользователя
33DTMFПолученные DTMF-сигналы
34Signals
35MessageLoopReport
36ConferenceКонференц-связь
37IMMessagingСообщения
38UserRequest
Два побочных эффекта При выключенной позиции 9 (CallCenter) из задач пропадают имена операторов. При выключенной 25 (QueueDebug) исчезают подробности переключений. Если вы разбираете именно эти вещи, включайте их явно.

Журнал WATCHER

Три отдельных параметра управляют тем, что пишется в журнал watcher.

Счётчики производительности

Можно логировать базовые счётчики, пользовательские или и те и другие. Базовые:

  • общая загрузка процессора, 0–100%;
  • объём доступной физической памяти в мегабайтах;
  • текущая очередь диска, 0–10;
  • процент использования файла подкачки.

Любой другой счётчик, доступный в системе, задаётся ключом конфигурационного файла:

<add key="PerformanceCounter{0}" value="category|counter|instance"/>

Здесь {0} — порядковый номер счётчика. Например, для общей загрузки процессора значение будет Processor|% Processor Time|_Total.

Использование ресурсов

Выводит в watcher данные по потреблению ресурсов процессом: объём памяти, число открытых дескрипторов, число потоков, пользовательские системные ресурсы, среднее процессорное время по процессу целиком и отдельно по каждому потоку.

Сбои тактирования таймера

Сервер постоянно проводит контрольные замеры тестовым таймером и засекает задержки в выдаче управления. Если операционная система отказывает службе в процессорном времени, это видно по тестовому таймеру.

Граница логирования выбирается из вариантов: 20 мс, 100 мс, 500 мс, 1 с, 5 с. По умолчанию пишутся все задержки больше 100 мс.

Когда это трогать Менять границу обычно требуется только по запросу технической поддержки, когда ищут причину заметного некорректного поведения сервера.

Логи аппаратуры

Включаются и отключаются в модуле Параметры аппаратуры → Конфигурация, пишутся в каталог \oktell\Server\Log\Hardware. Часть трассировок по умолчанию выключена.

Есть важная тонкость: во время работы системы действуют настройки из модуля параметров аппаратуры, а в момент запуска — то, что указано в серверном конфигурационном файле:

<add key="TRACE_HARDWARE" value="CALL EVENT PROTO WARNING ERROR" />
Параметр в модулеКлючЧто пишет
Общая трассировкаCALLОбщее состояние системы
Трассировка событий аппаратурыEVENTSСобытия аппаратуры или сети
Трассировка медиатрафикаMEDIA-FLOWАудио и видео, проходящие через сервер
Трассировка сетевых подключенийNETВключение и отключение сетевых соединений
Трассировка пакетов SIPPROTOПечать SIP-пакетов. Лог trn
Трассировка таймеровTIMERСобытия таймеров
Трассировка SIP-транзакцийTRANSПриём и передача SIP-пакетов. Лог ua
Трассировка SIP-сессийSESSIONОбработка SIP-запросов. Лог ua
Трассировка транковTRUNKНе используется
Трассировка медийных потоковSTREAMСобытия медиаканалов
Трассировка предупрежденийWARNINGОтказы с возможностью продолжить работу
Трассировка ошибокERRORSКритические ошибки системы
Трассировка RTP-трафикаRTP-FLOWПриём и передача RTP-пакетов
Трассировка сетевых атакBANNEDОбнаружение атак на порты SIP. Лог trn
Трассировка RTP-потоковRTPСобытия RTP-каналов
Трассировка асинхронных вызововASYNCОбработка команд в отдельных потоках
Трассировка факсовFAXСобытия и пакеты факс-сеансов. Канальный лог
Трассировка 1–5FLAGxx (1–15)Для отладки разработчиками
Флаги FLAGxx Используются разработчиками при отладке системы. Рекомендуется всегда держать их отключёнными.

Логирование сценариев

У каждого сценария есть собственный пункт «Логирование», определяющий, писать ли в журнал выполнение его компонентов. Отлаженный сценарий логировать не нужно — выключайте, чтобы не раздувать журналы.

Что отправлять в поддержку

Для обращения обычно нужен сервисный лог с включёнными режимами, относящимися к проблеме, плюс журналы аппаратуры за тот же период. Собрать их разом помогает модуль сборки лог-журналов — ему посвящена отдельная статья справки.