Системные журналы сервера
Все компоненты сервера CommuniGate Pro сохраняют сообщения о своей работе в общем журнале.
Каждая запись содержит отметку времени, уровень журнала, метку, идентифицирующую компонент, создавший эту запись, и непосредственно саму запись.
Журналы CommuniGate Pro — это текстовые файлы, и они могут обрабатываться любой программой для обработки текстовых файлов.
Когда вы отправляете запрос об оказании поддержки в техническую поддержку СБК, всегда представляйте соответствующую часть журнала, содержащую записи, свидетельствующие о проблеме.
Создание и удаление файлов журнала
Используйте веб-интерфейс администратора для анализа журналов сервера. Откройте страницу «журналы» в разделе «наблюдение». На этой странице показан список файлов с журналами. Текущий журнал помечен символом звездочка (*).
Для просмотра журналов вы должны иметь право доступа на сервер «может наблюдать за сервером».
Опции наверху страницы позволяют вам указать, когда следует создавать и удалять файлы журнала:
Начинать новый файл
Новый файл создаётся автоматически, каждые сутки (в полночь) или чаще, согласно значению этой настройки.
или если больше
Новый файл журнала также создаётся, если размер файла журнала превышает указанный лимит.
Файлы журнала создаются в поддиректории SystemLogs директории данных сервера.
Стирать старые файлы
Вскоре после создания нового файла журнала, сервер проверяет все файлы в поддиректории SystemLogs и удаляет все файлы, имеющие время создания более ранние, чем указано в этой настройке.
Точность времени
Эта настройка указывает сколько цифр должно использоваться в отметке времени в журнале для долей секунд.
Внешний сервер журнала
Пожалуйста, смотрите раздел «отправка» на внешние сервера.
Вы должны иметь право доступа «может наблюдать за сервером» и «может менять установки генератора журналов» для изменения настроек генератора журналов.
Вы можете выбрать один или несколько журналов из списка и затем удалить их, используя кнопку «удалить помеченные». Активный (текущий) файл журнала не может быть удалён.
Вы должны иметь право доступа «может наблюдать за сервером» и «может менять установки генератора журналов» для удаления журналов.
Если на сервере находится слишком много файлов журнала, то вы можете ввести строку в поле фильтр и нажать на кнопке «показать»: будут показываться только те журналы, имена которых соответствуют строке в поле «фильтр»:
Нажмите на имя файла журнала, чтобы открыть его.
Задание интервала времени
Когда журнал появляется в окне вашего браузера, то показываются все записи журнала. Так как в журналах могут содержаться тысячи записей, то, возможно, вам потребуется просмотреть только часть журнала. Чтобы прервать процесс загрузки журнала и задать уровень журнала и интервал времени:
Отображаются только записи из указанного временного интервала.
Если вы просматриваете текущий журнал и указываете «*» во втором поле, то показываются все записи, помещённые в журнал к этому моменту.
Если вы просматриваете текущий журнал и указываете во втором поле некоторое время в будущем, то сервер продолжит держать канал связи с браузером открытым, отправляя туда новые записи журнала по мере их появления. Это канал будет закрыт или по окончанию указанного интервала времени, или когда сервер начнёт новый журнал.
Фильтрование записей журнала
Журналы CommuniGate Pro могут быть очень большими — на высоконагруженном сервере, или на сервере с уровнем журнала, установленном в значение «всё», они могут достигать размера в сотни мегабайт.
Сложно анализировать весь журнал такого размера.
Уровень журнала
Используйте эту настройку, чтобы скрыть более подробные, чем указано здесь, записи (то есть записи, имеющие более высокий уровень журнала).
Фильтр
Используйте эту опцию для задания строки-фильтра записей. Будут показаны только те записи, которые содержат эту строку.
Первая часть записей журнала (включая отметку о времени и маркер уровня журнала) не используются при фильтровании.
RegEx
Если эта опция выбрана, то строка-фильтр интерпретируется как регулярное выражение.
Нажмите на кнопку «показать», чтобы отобразить только те записи, которые содержат указанную подстроку.
Пример:
Некоторые из ваших пользователей жалуются, что иногда их почтовое приложение не может забрать сообщения с вашего сервера надлежащим образом и что они видят сообщения об ошибке, информирующее их о каких-то ошибках протокола.
Так как это случается редко, то вы должны задать в IMAP-модуле уровень журнала «всё», хотя это и сделает ваши журналы очень большими. В какой-то момент пользователь обратился к вам и сказал, что его почтовая программа только что выдала такую же ошибку.
Вы открываете журнал и устанавливаете уровень журнала в 3 (проблемы). Теперь вы видите все проблемы, происшедшие сегодня в работе IMAP-модуля. Когда вы видите запись, которая свидетельствует о проблеме, о которой говорил пользователь, вы видите, что эта запись имеет метку IMAP-437425. Теперь, введите IMAP-437425 в поле «фильтр» и измените уровень журнала на 5 (всё). В результате вы увидите чистый журнал именно этой сессии IMAP.
00:06:23.261 4 IMAP-437425([64.173.55.175]) got connection on [64.173.55.169:143](mail.communigatepro.ru) fr00:06:23.261 5 IMAP-437425([64.173.55.175]) out: * OK CommuniGate Pro IMAP Server 5.1.8 at mail.commun00:06:23.261 5 IMAP-437425([64.173.55.175]) inp: 1 CAPABILITY00:06:23.261 5 IMAP-437425([64.173.55.175]) out: * CAPABILITY IMAP4 IMAP4REV1 ACL NAMESPACE UIDPLUS ID00:06:23.266 5 IMAP-437425([64.173.55.175]) inp: 2 AUTHENTICATE METHOD AAAAAAAAAAAAAAAAAAAAAA=00:06:23.268 2 IMAP-437425([64.173.55.175]) 'user@domain.com' connected from [64.173.55.175:31358]00:06:23.268 5 IMAP-437425([64.173.55.175]) out: 2 OK completed\r\n00:06:23.269 5 IMAP-437425([64.173.55.175]) inp: 3 LIST "" "*"00:06:23.269 5 IMAP-437425([64.173.55.175]) out: * LIST (\UnMarked) "/" Calendar\r\n* LIST (\Marked) "00:06:23.279 5 IMAP-437425([64.173.55.175]) inp: 4 SELECT "Tasks"00:06:23.270 5 IMAP-437425([64.173.55.175]) out: * FLAGS (\Answered \Flagged \Deleted \Seen \Draft $MD00:06:23.272 5 IMAP-437425([64.173.55.175]) inp: 5 UID SEARCH NOT DELETED00:06:23.272 5 IMAP-437425([64.173.55.175]) out: * SEARCH 32 49 76 84 94 96 98 100 101 102 113 116 11700:06:23.275 5 IMAP-437425([64.173.55.175]) inp: 6 UID FETCH 193 (BODYSTRUCTURE FLAGS)00:06:23.275 5 IMAP-437425([64.173.55.175]) out: * 35 FETCH (BODYSTRUCTURE (("text" "calendar" ("chars00:06:23.278 5 IMAP-437425([64.173.55.175]) inp: 7 UID FETCH 193 (BODY.PEEK[HEADER])00:06:23.278 5 IMAP-437425([64.173.55.175]) out: * 35 FETCH (BODY[HEADER] {722}\r\ncontent-class: urn:00:06:23.280 5 IMAP-437425([64.173.55.175]) inp: 8 UID FETCH 193 (BODY.PEEK[1])00:06:23.280 5 IMAP-437425([64.173.55.175]) out: * 35 FETCH (BODY[1] {539}\r\nBEGIN:VCALENDAR\r\nMETHO00:06:23.281 5 IMAP-437425([64.173.55.175]) inp: 9 UID FETCH 191 (BODYSTRUCTURE FLAGS)00:06:23.281 5 IMAP-437425([64.173.55.175]) out: * 34 FETCH (BODYSTRUCTURE (("text" "calendar" ("chars
Фильтрование по ключу
Опция «по ключу» указывает серверу сканировать журнал дважды. Первый раз он сканирует журнал (внутри указанного интервала времени) и находит все записи, соответствующие строке-фильтру. Эти строки не отображаются, но их ключи-префиксы запоминаются. Ключ-префикс — это первая часть записи (не включающая отметку о времени и маркер уровня), заканчивающая первым символом пробела. Запоминается до 100 различных ключей-префиксов.
Затем журнал сканируется снова (внутри указанного интервала времени) и сервер показывает все записи, имеющие ключи-префиксы, совпадающие с запомненными ранее ключами-префиксами.
Некоторые протоколы (такие, как SIP) не используют соединения. Сессия SIP («диалог») состоит из нескольких пакетов (каждый пакет записан с его собственным ключом-префиксом SIPDATA-NNNNNN), но во всех пакетах есть одинаковая строка Call-ID. Используйте шаблон
: Call-ID:caller-id
с опцией «по ключу» для отображения всех пакетов сессии SIP:
00:54:10.312 2 SIPDATA-000502 out: req udp [10.0.0.1]:5060 REGISTER(680 bytes) sip:node6.communigatepro.ru00:54:10.312 5 SIPDATA-000502 out: REGISTER sip:node6.communigatepro.ru SIP/2.000:54:10.312 5 SIPDATA-000502 out: Via: SIP/2.0/UDP 64.173.55.170:5060;branch=z9hG4bK23400:54:10.312 5 SIPDATA-000502 out: Max-Forwards: 6900:54:10.312 5 SIPDATA-000502 out: From: <sip:usrname@node6.communigatepro.ru>00:54:10.312 5 SIPDATA-000502 out: Call-ID: 72D532E1CEB813B537E4E44058354C68-2494453@node9.communigatepro.ru00:54:10.312 5 SIPDATA-000502 out: Contact: <sip:299@node9.communigatepro.ru;services=no>;expires=9000:54:10.312 5 SIPDATA-000502 out: CSeq: 114249520 REGISTER00:54:10.312 5 SIPDATA-000502 out: User-Agent: CommuniGatePro-gateway/5.1.400:54:10.312 5 SIPDATA-000502 out: Authorization: Digest realm="ns.communigatepro.ru",username="usrname",non00:54:10.312 5 SIPDATA-000502 out: Expires: 9000:54:10.312 5 SIPDATA-000502 out: Content-Length: 000:54:10.312 5 SIPDATA-000502 out:00:54:10.328 2 SIPDATA-000503 inp: rsp udp [64.173.55.167]:5060 200-REGISTER(566 bytes)00:54:10.328 5 SIPDATA-000503 inp: SIP/2.0 200 OK00:54:10.328 5 SIPDATA-000503 inp: Via: SIP/2.0/UDP 64.173.55.170:5060;branch=z9hG4bK23400:54:10.328 5 SIPDATA-000503 inp: From: <sip:usrname@node6.communigatepro.ru>;tag=9B5A8DB531C3FD7A00:54:10.328 5 SIPDATA-000503 inp: To: <sip:usrname@node6.communigatepro.ru>;tag=7FBB267A3903E5B000:54:10.328 5 SIPDATA-000503 inp: Call-ID: 72D532E1CEB813B537E4E44058354C68-2494453@node9.communigatepro.ru00:54:10.328 5 SIPDATA-000503 inp: CSeq: 114249520 REGISTER00:54:10.328 5 SIPDATA-000503 inp: Expires: 9000:54:10.328 5 SIPDATA-000503 inp: Contact: <sip:299@node9.communigatepro.ru;services=no>;expires=9000:54:10.328 5 SIPDATA-000503 inp: Event: registration00:54:10.328 5 SIPDATA-000503 inp: Date: Thu, 16 Mar 2006 08:53:04 GMT00:54:10.328 5 SIPDATA-000503 inp: Allow: PUBLISH,SUBSCRIBE00:54:10.328 5 SIPDATA-000503 inp: Allow-Events: presence,message-summary,reg,keep-alive00:54:10.328 5 SIPDATA-000503 inp: Supported: path00:54:10.328 5 SIPDATA-000503 inp: Server: CommuniGatePro/5.1.400:54:10.328 5 SIPDATA-000503 inp: Content-Length: 000:54:10.328 5 SIPDATA-000503 inp:00:54:10.328 2 SIPDATA-000503 sent to SIPC-00023400:55:25.328 2 SIPDATA-000507 out: req udp [10.0.0.1]:5060 REGISTER(680 bytes) sip:node6.communigatepro.ru00:55:25.328 5 SIPDATA-000507 out: REGISTER sip:node6.communigatepro.ru SIP/2.000:55:25.328 5 SIPDATA-000507 out: Via: SIP/2.0/UDP 64.173.55.170:5060;branch=z9hG4bK23600:55:25.328 5 SIPDATA-000507 out: Max-Forwards: 6900:55:25.328 5 SIPDATA-000507 out: From: <sip:usrname@node6.communigatepro.ru>;tag=35270A39FB68F57300:55:25.328 5 SIPDATA-000507 out: To: <sip:usrname@node6.communigatepro.ru>00:55:25.328 5 SIPDATA-000507 out: Call-ID: 72D532E1CEB813B537E4E44058354C68-2494453@node9.communigatepro.ru00:55:25.328 5 SIPDATA-000507 out: Contact: <sip:299@node9.communigatepro.ru;services=no>;expires=9000:55:25.328 5 SIPDATA-000507 out: CSeq: 114249521 REGISTER00:55:25.328 5 SIPDATA-000507 out: User-Agent: CommuniGatePro-gateway/5.1.400:55:25.328 5 SIPDATA-000507 out: Authorization: Digest realm="ns.communigatepro.ru",username="usrname",non00:55:25.328 5 SIPDATA-000507 out: Expires: 9000:55:25.328 5 SIPDATA-000507 out: Content-Length: 000:55:25.328 5 SIPDATA-000507 out:00:55:25.343 2 SIPDATA-000508 inp: rsp udp [64.173.55.167]:5060 200-REGISTER(566 bytes)00:55:25.343 5 SIPDATA-000508 inp: SIP/2.0 200 OK00:55:25.343 5 SIPDATA-000508 inp: Via: SIP/2.0/UDP 64.173.55.170:5060;branch=z9hG4bK23600:55:25.343 5 SIPDATA-000508 inp: From: <sip:usrname@node6.communigatepro.ru>;tag=35270A39FB68F57300:55:25.343 5 SIPDATA-000508 inp: To: <sip:usrname@node6.communigatepro.ru>;tag=7EF99B799DFD763200:55:25.343 5 SIPDATA-000508 inp: Call-ID: 72D532E1CEB813B537E4E44058354C68-2494453@node9.communigatepro.ru00:55:25.343 5 SIPDATA-000508 inp: CSeq: 114249521 REGISTER00:55:25.343 5 SIPDATA-000508 inp: Expires: 9000:55:25.343 5 SIPDATA-000508 inp: Contact: <sip:299@node9.communigatepro.ru;services=no>;expires=9000:55:25.343 5 SIPDATA-000508 inp: Event: registration00:55:25.343 5 SIPDATA-000508 inp: Date: Thu, 16 Mar 2006 08:54:19 GMT00:55:25.343 5 SIPDATA-000508 inp: Allow: PUBLISH,SUBSCRIBE00:55:25.343 5 SIPDATA-000508 inp: Allow-Events: presence,message-summary,reg,keep-alive00:55:25.343 5 SIPDATA-000508 inp: Supported: path00:55:25.343 5 SIPDATA-000508 inp: Server: CommuniGatePro/5.1.400:55:25.343 5 SIPDATA-000508 inp: Content-Length: 000:55:25.343 5 SIPDATA-000508 inp:00:55:25.343 2 SIPDATA-000508 sent to SIPC-000236
Поиск
Используйте команду «поиск» в вашем браузере для поиска строки в отфильтрованной части журнала CommuniGate Pro.
Используйте команду «печать» вашего веб-браузера для распечатки отфильтрованного журнала.
Отметки времени и часовые пояса
Каждая запись журнала имеет отметку о времени, указывающую, когда эта запись была создана. Время показывается по местному времени сервера CommuniGate Pro («разница с Гринвичем»), используемого во время создания файла журнала.
Если ОС сервера использует часовой пояс с переходом на летнее время, то отметки о времени, используемые в журнале, при изменении местного времени («разницы c Гринвичем») не изменятся. Новое местное время будет использоваться при создании нового файла журнала.
Маркеры переполнения
Генератор журналов CommuniGate Pro разрабатывался как высокоскоростной механизм, который в состоянии обрабатывать тысячи записей в секунду, без замедления работы компонентов сервера, генерирующих записи в журнал. Когда некоторые компоненты генерируют гигантские количества записей (вероятнее всего из-за соответствующих настроек уровня журнала этого компонента), даже генератор журналов может оказаться не в состоянии сохранить все эти записи в журнале.
Если новая запись не может быть помещена в журнал из-за проблем с производительностью генератора журналов, то вместо записи генератор журналов вставляет короткий маркер переполнения. Маркер переполнения — это строка из трех звездочек (***).
Если вы фильтруете журнал, показываемая часть журнала всегда будет содержать маркеры переполнения (если они существуют в выбранной части журнала). Вместо нескольких последовательных маркеров переполнения показывается только один.
Настройки
Администраторы могут задавать свои индивидуальные настройки для просмотра журнала.
Нажав на ссылку «настройки», откройте страницу «настройки» в области «наблюдение».
Открывать показывая последние
Эта настройка указывает первоначальное время интервала времени (смотрите ниже). Таким образом, когда вы открываете текущий файл журнала, вы видите только последние записи в журнале.
Когда вы открываете неактивный файл журнала, интервал времени не инициализируется, и журнал отображается с начала.
Отправка на внешние сервера syslog
Возможно, вам потребуется отсылать записи журнала CommuniGate Pro на внешний syslog сервер.
Обычно эти сервера не обладают производительностью генератора журналов CommuniGate Pro, так что целесообразно отсылать на эти сервера только небольшую часть записей журнала.
Используйте следующие настройки на настройки удалённого ведения журнала:
Отсылаемые записи
Укажите здесь уровень записей журнала, которые будут отсылаться на удалённый syslog сервер. Более подробные (имеющие более высокий уровень журнала) записи, чем указано здесь, не будут отсылаться.
Адрес сервера
Укажите здесь IP-адрес удалённого syslog сервера. Если вы не указываете номер порта, то будет использоваться стандартный порт 514.
Код службы
Удалённый syslog сервер может сохранять записи журнала в месте, определяемом согласно значению этой опции.
Исходящий адрес
Укажите локальный адрес и порт, с которого должны отправляться сообщения на внешний сервер syslog. Если адрес и порт не указаны явно, ОС сервера выберет их автоматически.
Если генератор журналов не сможет установить UDP-соединение или не сможет отправить дейтаграмму на указанный удалённый syslog-сервер, то генератор журналов до конца текущей секунды не будет отправлять записи удалённому syslog-серверу.
Использование триггеров
Возможно вы захотите использовать «обработчик триггера» для отправки уведомлений в случае появления в журнале CommuniGate Pro записей уровня «катастрофа».
Откройте через веб-интерфейс администратора страницу с элементами статистики и задайте там «обработчик триггера для элемента logLastCrashRecord». При добавлении в журнал записи уровня «катастрофа» (уровня 0), вызывается заданный обработчик триггера.
Обратите внимание: обработчик триггера запускается раз в 5-10 секунд. В случае, если в журнал CommuniGate Pro в течение этого времени было записано более одной записи уровня «катастрофа», то сообщение с уведомлением будет содержать только последнюю запись уровня «катастрофа».
Дополнительные журналы
Сервер CommuniGate Pro в дополнение к основному журналу поддерживает дополнительные журналы.
Дополнительные журналы предназначены для хранения особо важных событий определённого типа.
Записи в дополнительных журналах сохраняются в виде текстовых строк: одна запись сохраняется в одной строке. Каждая запись-строка начинается с отметки времени:
hh:mm:ss.ddd
где hh — это час, mm — минута, ss — секунда, а ddd — миллисекунда того момента, когда была создана запись.
Новые дополнительные журналы создаются ежедневно.
Используйте веб-интерфейс администратора для анализа дополнительных журналов. Откройте страницу «журналы» в разделе «наблюдение». Выберите тип дополнительного журнала. Откроется страница со списком файлов дополнительного журнала. Текущий журнал помечен символом звездочка (*).
Для просмотра журналов вы должны иметь право доступа на сервер «может наблюдать за сервером».
Файлы дополнительных журналов создаются в поддиректориях SystemLogs директории данных сервера.
Изменение установок
Эти журналы содержат записи об изменениях в настройках компонент и модулей сервера.
Используется следующий формат:
component userName newSettings
где:
component — имя изменяемой компоненты;
userName — имя пользователя администратора, который изменяет установки;
newSettings — новое значение настройки — object (обычно — словарь).
Детализированная информация о звонках (CDR)
Эти журналы содержат детализированную информацию о звонках в разных форматах. Дополнительную информацию смотрите в разделе «сигнализация».
Почта
Компонент передачи почты Dequeuer создаёт запись по поводу каждого доставленного письма. Используется следующий формат записей (символ табуляции используется для разделения полей):
01 state returnPath fromAddress authAddress submitAddress localIP queueID messageID messageSize origRecipient module(queueName)recipient report
Где:
01 — версия формата записи;
state — результат доставки сообщения: RELAY (передано далее), FINAL (доставлено окончательно), ERROR (финальная ошибка, перепосылать бесполезно), TMPER (временная ошибка, будет сделана попытка перепослать);
returnPath — адрес «Return-Path» из конверта сообщения;
fromAddress — адрес From: сообщения
authAddress — если отправитель письма был аутентифицирован, то здесь содержится имя аутентифицировавшегося пользователя, иначе — пустая строка;
submitAddress — имя компоненты, поставившей письмо в очередь, с сетевым адресом источника;
localIP — локальный сетевой адрес сервера, на котором было принято письмо;
queueID — внутренний идентификационный номер сообщения в очереди (число);
messageID — поле заголовка сообщения Message-Id;
messageSize — размер сообщения в байтах;
origRecipient — оригинальный адресат сообщения;
module(queueName)recipient — настоящий адресат: имя модуля доставки, имя очереди модуля (для модуля SMTP — имя удалённого домена, для модуля местной доставки — имя пользователя и т.д.), возможно с уточняющим адресом (для модуля SMTP — удалённый получатель, для модуля местной доставки — дополнительный адрес и т.д.);
report — строка с сообщением о доставке. Поскольку она может быть многострочной, она сохраняется в текстовом представлении строкового объекта.
Входы
Записи добавляются в этот журнал, когда пользователь аутентифицируется и когда заканчивает аутентифицированные сессии.
Используется следующий формат (для разделения полей используется символ табуляции):
01 loginaccountName[address]:portservicemethod
01 logoutaccountName[address]:portservice
01 verifyaccountName[address]:portservicemethod
01 failureaccountName[address]:portservicemethod
Где:
01 — версия формата записи;
login, logout, verify , failure — операция.
Для сессионных протоколов (таких, как POP или XMPP) создаются записи об операциях login и logout.
Для протоколов без сессий (например, SIP) создаются записи verify.
При ошибках авторизации для существующих пользователей создаются записи failure.
address, port — это поле содержит IP-адрес присоединившегося клиента;
service — имя услуги (протокола), связанного с операцией;
method — имя метода аутентификации, который был использован (для операций login, verify и failure).
Статистика
Этот журнал содержит значение элементов статистики. Дополнительную информацию смотрите в разделе «статистика».