Логи системы: различия между версиями

Материал из Центр поддержки системы бронировании
Перейти к навигации Перейти к поиску
 
(не показано 158 промежуточных версий 10 участников)
Строка 1: Строка 1:
[[Файл:Общий_вид_интерфейса_логов_2.png|thumb|300px|Пример окна логов системы Nemo]]
+
[[Категория:Термины]]
'''Логи системы''' - административный раздел системы Nemo, содержащий подробный журнал [[#Действие|действий]] и [[#Операция|операций]], происходящих в системе. Система онлайн-бронирования Nemo включает в себя гибкий инструмент логирования всех важных операций, происходящих в ней, что позволяет в кротчайшие сроки узнавать детальную информацию практически по любому действию внутри системы. Интерфейс предоставляет широчайший выбор фильтров для выбора необходимых данных. Кроме того, имеется ряд предустановленных наиболее часто используемых фильтров, которые выделены в отдельный блок и доступны по ссылкам.
+
[[Категория:Функции]]
 +
<!-- -->
 +
'''Логи системы''' — модуль {{NameSystem|link}} для учета действий и событий, происходящих в системе.
  
{{Начало скрытого блока
+
==Назначение==
}}
 
  
[[Файл:Форма_фильтров_логов_сокращенная.png|thumb|300px|Сокращенная форма фильтров логов]]
+
nemo.travel поддерживает гибкий инструмент логирования всех важных операций, происходящих в ней. Это помогает в кратчайшие сроки узнать детальную информацию практически по любому действию внутри системы. Интерфейс предоставляет широчайший выбор фильтров для выбора необходимых данных. Кроме того, имеется ряд предустановленных фильтров, которые выделены в отдельный блок и доступны по ссылкам.
[[Файл:Форма_фильтров_логов_полная.png|thumb|300px|Полная форма фильтров логов]]
 
[[Файл:Предустановленные_фильтры_логов.png|thumb|300px|Предустановленные фильтры логов]]
 
[[Файл:Фрагмент_логов.png|thumb|300px|Фрагмент записей логов]]
 
  
==Пользовательский интерфейс==
+
==Принцип работы==
Интерфейс пользователя состоит из 3 основных частей:
 
* формы фильтров
 
* блока предустановленных фильтров
 
* записей логов, разбитых постранично (доступ к страницам осуществляется с помощью меню пагинации)
 
  
===Форма фильтров===
+
Логи в зависимости от типа бывают:
Для удобства выбора определенных записей логов на странице присутствует форма фильтров. Изначально в ней доступны наиболее используемые параметры фильтрации. Чтобы получить доступ ко всем параметрам фильтра, необходимо раскрыть форму, кликнув по ссылке '''''"Дополнительные фильтры"'''''. Чтобы фильтр приминился к логам, необходимо нажать на кнопку '''''"Искать"''''', чтобы отменить фильтр, нужно воспользоваться ссылкой '''''"Сброс"'''''.
+
* индексируемые — ошибки, предупреждения и пр. Эти логи можно искать через фильтры логов.
====Упрощенная форма фильтров====
+
* не индексируемые — сообщение и пр., доступны в теле одного лога-действия при открытии.
Упрощенная форма фильтров включает в себя следующие поля:
+
 
*'''Пользователь''' - идентификатор пользователя
+
Если после отработанного скрипта не было собрано ни одного лога с индексацией, логи не сохраняются.
*'''Заказ''' - идентификатор заказа
+
 
*'''Сообщение''' - ???
+
'''Принципы:'''
*'''Событие''' - перечень регистрируемых системой событий
+
*индексировать только действительно полезные логи (выбирать тип события правильно).
====Полная форма фильтров====
+
*минимизировать объем данных, помещаемый в логи (например, не сохранять объект брони целиком).
 +
 
 +
Для поиска и просмотра логов зайдите в раздел '''Для техподдержки → Логи'''.
 +
 
 +
Раздел логов состоит из 3 основных частей:
 +
* Форма фильтров.
 +
* Блок предустановленных фильтров.
 +
* Таблица логов.
 +
 
 +
Записи логов разбиты постранично, чтобы перейти к следующей странице, нажмите ссылку '''След.''' внизу таблицы.
 +
 
 +
{| class="wikitable"
 +
|-
 +
|[[Файл:Общий_вид_интерфейса_логов_2.png|1200px]]
 +
|-
 +
|Страница логов
 +
|}
 +
 
 +
'''Успешность действия''' — это признак одного {{NameProject1}} запроса, например, для поиска — это получение хотя бы одного результата, для бронирования — успешная бронь и т.п.
 +
 
 +
== Таблица логов ==
 +
* '''Столбцы таблицы''' — параметры логов,
 +
* '''Строки таблицы''' — записи действий.
 +
 
 +
Одна запись лога называется '''действием''' (по сути эквивалент одного php-скрипта). Действие содержит множество '''операций'''.
 +
 
 +
Каждая запись в таблице — действие. Чтобы открыть его операции, разверните запись, нажав на нее. <br /> Некоторые операции сопровождаются ссылкой '''Данные''', открывающей дополнительную информацию о событии (операции): тело XML-запроса, набор параметров или полное сообщение (если краткое обрезалось по длине) и т.п.
 +
 
 +
На каждое действие (лог) присутствует ссылка. Дополнительно могут быть ссылки ''Выгрузить архивом xml логи'', ''Просмотр заказа'', ''Просмотр результатов поиска'', ''Форма поиска'' и др.
 +
 
 +
Зеленым цветом выделены логи, в которых происходило взаимодействие с ГРС.
 +
 
 +
{{Attention|Логи поисковых запросов записываются в отдельную таблицу.}}
 +
 
 +
===Параметры таблицы логов===
 +
* '''Запуск''' — время запуска действия.
 +
* '''Пользователь''' — пользователь, запустивший действие.
 +
* '''Компонент''' — компонент системы, к которому относится данное действие.
 +
* '''Действие''' — наименование действия.
 +
* '''Сообщение''' — короткое идентификационное сообщение, используется для поиска логов.
 +
* '''Заказ''' — номер заказа.
 +
* '''Поиск''' — номер поиска.
 +
* '''Биллинг''' — номер транзакции по оплате.
 +
* '''Поставщик''' — наименование задействованного поставщика услуг.
 +
* '''Время выполнения''' — численное значение (в секундах).
 +
* '''IP''' — адрес хоста, инициировавшего действие.
 +
* '''доп.''' — дополнительная информация, например:
 +
** статус действия (''Успешно''/''Неуспешно'');
 +
** количество ошибок, если они произошли;
 +
** режим работы системы, в котором было выполнено действие).
 +
 
 +
==Фильтры логов ==
 +
Для поиска логов используют фильтры. По умолчанию форма фильтров отображается на странице в свернутом виде, в котором доступны наиболее используемые параметры фильтрации:
 +
 
 +
*'''Пользователь''' идентификатор пользователя,
 +
*'''Заказ''' идентификатор заказа,
 +
*'''Сообщение''' — короткое идентификационное сообщение для поиска логов,
 +
*'''Событие''' перечень регистрируемых системой событий.
 +
 
 +
Чтобы получить доступ ко всем параметрам фильтра, нажмите кнопку ''Дополнительные фильтры'' (см. раздел [[Логи системы#Дополнительные фильтры|Дополнительные фильтры]]).
 +
==== Дополнительные фильтры ====
 
Полная форма фильтров включает в себя следующие поля:
 
Полная форма фильтров включает в себя следующие поля:
*'''Пользователь''' - идентификатор пользователя
+
{| class="wikitable mw-collapsible mw-uncollapsed"
*'''Заказ''' - идентификатор заказа
+
|-
*'''Сообщение''' - ???
+
! scope="col" | Название
*'''Событие''' - перечень регистрируемых системой событий:
+
! scope="col" | Описание
**Любой
+
|-
**Регистрация действия
+
| width="20%"|'''Пользователь '''
**[GDS] Запрос
+
| width="80%"| Идентификатор пользователя.
**[GDS] Ответ
+
|-
**[GDS] Ошибка
+
|'''Заказ'''
**[Нотификация] Событие
+
|Идентификатор заказа
**[Нотификация] SMS
+
|-
**[Нотификация] Email
+
|'''Сообщение'''
**[Нотификация] Ошибка
+
|Короткое идентификационное сообщение для поиска логов.
**[Ошибка] Валидация
+
|-
**[Ошибка] Ограничение доступа
+
|'''Событие'''
**[Ошибка] Блокировка
+
|
**[Ввод/вывод] Запрос
+
Перечень регистрируемых системой событий:
**[Ввод/вывод] Ответ
+
 
**[Ввод/вывод] Загрузка файла
+
* ''Любой''.
**[Ввод/вывод] Локальный автозапрос
+
* ''Регистрация действия''.
**[Интеграция] Экспорт
+
* ''[GDS] Запрос'' — запрос к внешней системе.
**[Интеграция] Импорт
+
* ''[GDS] Ответ'' — ответ от внешней системы.
**[Интеграция] Ошибка
+
* ''[GDS] Ошибка'' — получена ошибка от внешней системы.
**[Авторизация] Через сайт
+
* ''[Нотификация] Событие'' — что-то кому-то отправлено (сообщение).
**[Авторизация] Через внешнюю систему
+
* ''[Нотификация] SMS'' — SMS нотификация.
**[Авторизация] Выход
+
* ''[Нотификация] Email'' — e-mail нотификация.
**[Авторизация] Ошибка
+
* ''[Нотификация] Ошибка'' — ошибка при нотификации.
**[Регистрация] Запрос
+
* ''[Ошибка] Валидация'' — ошибка при бэкенд-валидации (формы, например).
**[Регистрация] Подтверждение
+
* ''[Ошибка] Ограничение доступа'' — ошибка с запретом доступа кому-нибудь куда-нибудь.
**[Регистрация] автоматическая
+
* ''[Ошибка] Блокировка'' — для неопределенных ошибок вызванных функцией контроллера ->lock().
**[Пользователи] Изменение
+
* ''[Ввод/вывод] Запрос'' — получили входящий запрос.
**[Пользователи] Создание нового
+
* ''[Ввод/вывод] Ответ'' — ответ на входящий запрос.
**[Пользователи] Создание компании
+
* ''[Ввод/вывод] Загрузка файла'' — кто-то загружает файл.
**[Пользователи] Создание группы
+
* ''[Ввод/вывод] Локальный автозапрос'' — запуск http-запроса к своему серверу.
**[Пользователи] Изменение пароля
+
* ''[Интеграция] Экспорт'' — экспорт из системы.
**[Пользователи] Удаление
+
* ''[Интеграция] Импорт'' — импорт в систему.
**[Заказ] Ошибка при бронировании
+
* ''[Интеграция] Ошибка'' — ошибка импорта/экспорта.
**[Заказ] Ошибка при аннуляция
+
* ''[Авторизация] Через сайт'' — авторизация через сайт.
**[Заказ] Ошибка при выписке
+
* ''[Авторизация] Через внешнюю систему'' — авторизация через удаленную систему.
**[Заказ] Ошибка при обновлении
+
* ''[Авторизация] Выход'' — logout.
**[Заказ] Ошибка при модификации
+
* ''[Авторизация] Ошибка'' — ошибка при авторизации.
**[Заказ] Операция
+
* ''[Регистрация] Запрос'' — регистрация.
**[DB] Новая запись
+
* ''[Регистрация] Подтверждение'' — подтверждение регистрации.
**[DB] Обновление записи
+
* ''[Регистрация] автоматическая'' — авторегистрация.
**[DB] Удаление записи
+
* ''[Пользователи] Изменение'' — в пользователе/группе что-то меняется.
**[Система] Якорь (для индексации)
+
* ''[Пользователи] Создание нового'' — новый пользователь.
**[API] Запрос
+
* ''[Пользователи] Создание компании'' — новая компания/агентство.
**[API] Ответ
+
* ''[Пользователи] Создание группы'' — новая группа.
**[API] Ошибка
+
* ''[Пользователи] Изменение пароля'' — изменение пароля.
**[Оплата] Смена статуса
+
* ''[Пользователи] Удаление'' — удаление пользователя.
**[Оплата] Запрос к шлюзу
+
* ''[Заказ] Ошибка при бронировании''
**[Оплата] Ответ от шлюза
+
* ''[Заказ] Ошибка при аннуляция''
**[Оплата] Ошибка
+
* ''[Заказ] Ошибка при выписке''
**[Оплата] Переход на страницу шлюза
+
* ''[Заказ] Ошибка при обновлении''
**[Оплата] Смена способа оплаты
+
* ''[Заказ] Ошибка при модификации''
**[Депозит] Изменение депозита
+
* ''[Заказ] Операция''
**[Депозит] Изменение кредитного лимита
+
* ''[DB] Новая запись''
**[Депозит] Доступные средства
+
* ''[DB] Обновление записи''
**Предупреждение
+
* ''[DB] Удаление записи''
*'''Действие''' - перечень регистрируемых в системе действий
+
* ''[Система] Якорь (для индексации)''
**Любой
+
* ''[API] Запрос'' — запрос к агентским сервисам.
**Неустановленное
+
* ''[API] Ответ'' — ответ от агентских сервисов.
**Регистрация
+
* ''[API] Ошибка'' — ошибка агентских сервисов.
**Авторизация
+
* ''[Оплата] Смена статуса'' — смена статуса оплаты.
**Авторизация (дополнительно)
+
* ''[Оплата] Запрос к шлюзу'' — запрос к платежному шлюзу.
**Выход
+
* ''[Оплата] Ответ от шлюза'' — ответ от платежного шлюза.
**Настройки
+
* ''[Оплата] Ошибка'' — ошибка платежного шлюза.
**Форма поиска
+
* ''[Оплата] Переход на страницу шлюза''
**Процесс поиска
+
* ''[Оплата] Смена способа оплаты''
**Результаты поиска
+
* ''[Баланс] Изменение баланса''
**Запрос данных по услуге
+
* ''[Баланс] Изменение доступного овердрафта''
**Ввод информации о заказчике
+
* ''[Баланс] Доступные средства''
**Ввод информации о пассажирах
+
* ''Предупреждение''
**Бронирование
+
|-
**Отображение информации о заказе
+
|Действие
**Оплата
+
|Выберите тип действия:
**Неопределенное действие с заказом
+
* ''Любой''
**Подтверждение
+
* ''Неустановленное''
**Выписка
+
* ''Регистрация''
**Отмена выписки
+
* ''Авторизация''
**Возврат денег
+
* ''Авторизация (дополнительно)''
**Просмотр информации
+
* ''Выход''
**Дополнительный клиентский запрос
+
* ''Настройки''
**Обновление
+
* ''Форма поиска''
**Тестовый скрипт
+
* ''Процесс поиска''
**Модификация заказа
+
* ''Результаты поиска''
**Автоматическое действие
+
* ''Запрос данных по услуге''
**Системное действие
+
* ''Ввод информации о заказчике''
**Форма (прочее)
+
* ''Ввод информации о пассажирах''
**Мои пассажиры
+
* ''Бронирование''
**Сообщения и заявки
+
* ''Отображение информации о заказе''
**Документы
+
* ''Оплата''
*'''Поиск'''
+
* ''Неопределенное действие с заказом''
*'''Биллинг'''
+
* ''Подтверждение''
*'''Поставщик'''
+
* ''Выписка''
**Любой
+
* ''Отмена выписки''
**SABRE
+
* ''Возврат денег''
**GALILEO
+
* ''Просмотр информации''
**TRAVELFUSION
+
* ''Дополнительный клиентский запрос''
**SIRENA
+
* ''Обновление''
**SIRENA2000
+
* ''Тестовый скрипт''
**NETFLIGHTS
+
* ''Модификация заказа''
**NTFS
+
* ''Автоматическое действие''
**GTA
+
* ''Системное действие''
**GULLIVER
+
* ''Форма (прочее)''
**HOTELBEDS
+
* ''Мои пассажиры''
**DOTW
+
* ''Сообщения и заявки''
**SERHS
+
* ''Документы''
**MIKI
+
|-
**TRAVCO
+
|Поиск
**GN
+
|
**ACADEM
+
|-
**TOURICO
+
|Биллинг
**AMADEUS
+
|
**ANDROMEDA
+
|-
**ORANTA
+
|Поставщик
**MOBITICKET
+
|
**SKYEXPRESS
+
|-
**NWS
+
|Платежный шлюз
**NFS
+
|
**UFS
+
|-
**SOFI
+
|Объект-пользователь
*'''Платежный шлюз'''
+
|
*'''Объект-пользователь'''
+
|-
*'''Объект'''
+
|Объект
*'''ID действия'''
+
|
*'''IP'''
+
|-
*'''Дата'''
+
|ID действия
*'''За последние X секунд'''
+
|
*'''С запросами к GDS'''
+
|-
*'''Тестовый режим'''
+
|IP
*'''Успешность'''  
+
|
 +
|-
 +
|Дата
 +
|
 +
|-
 +
|За последние X секунд
 +
|
 +
|-
 +
|С запросами к GDS
 +
|
 +
|-
 +
|Тестовый режим
 +
|
 +
|-
 +
|Успешность
 +
|
 +
* Любой
 +
* Успешные
 +
* Не успешные
 +
|-
 +
 
 +
|}
 +
 
 +
=== Предустановленные фильтры ===
 +
Для быстроты поиска создан блок ссылок с предустановленными фильтрами:
 +
* Мои логи (текущего пользователя).
 +
* Мои логи (по IP).
 +
* Проблемные выписки.
 +
* Частичные выписки.
 +
* Проблемные бронирования.
 +
* Проблемные аннуляции.
 +
 
 +
==Поиск записей логов==
 +
===Поиск логов===
 +
Чтобы применить фильтрацию к логам:
 +
# Выставите значения фильтров.
 +
# Нажмите на кнопку ''Поиск''.<br />Чтобы отменить фильтр, нажмите на кнопку ''Сброс''.
 +
{| class="wikitable"
 +
|-
 +
|[[Файл:Поиск логов.png|500px]]
 +
|-
 +
|Поиск логов по e-mail нотификациям указанного пользователя.
 +
|}
 +
 
 +
===Поиск логов поисковых запросов===
 +
Логи поисковых запросов записываются в отдельную таблицу.
 +
 
 +
Чтобы искать поисковые логи:
 +
# Нажмите на кнопку ''Таблица логов поисковых запросов''.
 +
# Выставите значения фильтров.
 +
# Нажмите на кнопку ''Поиск''.<br />Чтобы отменить фильтр, нажмите на кнопку ''Сброс''.
 +
 
 +
{| class="wikitable"
 +
|-
 +
|[[Файл:Кнопка_Таблица_логов_поисковых_запросов.png|500px]]
 +
|-
 +
|Ссылка на таблицу логов поисковых запросов
 +
|}
 +
 
 +
{| class="wikitable"
 +
|-
 +
|[[Файл:Поиск_логов_поиска.png|500px]]
 +
|-
 +
|Пример поиска логов поисковых запросов
 +
|}
 +
 
 +
===Поиск восстановленных логов===
 +
 
 +
После перехода по ссылке '''Поиск восстановленных логов''',  поиск будет вестись в специальном хранилище логов, которые по какой-либо причине были утрачены, а затем восстановлены.
 +
 
 +
=== Примеры поиска логов ===
 +
 
 +
* '''По номеру заказа''':
 +
*# введите номер заказа в поле ''Заказ'',
 +
*# нажмите кнопку ''Поиск''.
 +
{| class="wikitable"
 +
|-
 +
|[[Файл:Поиск_логов_по_номеру_заказа.png|500px]]
 +
|-
 +
|Поиск логов по номеру заказа
 +
|}
 +
* '''По ошибке''' — если искомые заказы содержат известную ошибку:
 +
*# введите текст ошибки в поле ''Сообщение''.
 +
*# нажмите кнопку ''Поиск''.
 +
{| class="wikitable"
 +
|-
 +
|[[Файл:Поиск заказов пользователя по ошибке.png|500px]]
 +
|-
 +
|Поиск логов с ошибкой среди заказов указанного пользователя.png
 +
|}
 +
 
 +
== Логирование XML-данных ==
 +
Модуль осуществляет логирование:
 +
* пакетной выгрузки заказов из ЛК в форматах Nemo/SOFI,
 +
* выгрузки статистики метапоиска,
 +
* экспорта пользователей.
 +
 
 +
Для первых двух выгрузок, одиночных выгрузок заказов и обращений к GDS доступно скачивание каждого лога отдельно.
  
Ввод в поле "Идентификатор пользователя" ограничен использованием целых положительных чисел. На остальные поля ввода строгие ограничения не накладываются, однако, необходимо вводить значения логически подходящие под конкретное поле, иначе фильтр просто не вернет результатов.
+
Если в содержимом события находится не только XML, то из всего содержимого вычленяется и выводится только XML (например, выгрузка Немо/Софи).
  
 +
Для того, чтобы браузер не подвисал из-за большого объема лога события (более 64000 символов), на главной странице логов (settings/logs) вместо содержимого выводится соответствующее сообщение. XML можно просмотреть в отдельном окне через специальный плагин.
  
===Предустановленные фильтры===
+
== Примеры логирования ==
 +
В {{NameSystem}} логируются следующие действия:
 +
* изменение настроек в панели администрирования,
 +
* действие с заказом (в т.ч. нотификации, выгрузки, оплаты, фиксации статусов и т.д.),
 +
* поиск,
 +
* авторизация / регистрация на сайте,
 +
* действие в ЛК (экспорт заказов, отправка сообщений/заявок и т.д.).
  
===Записи логов===
+
===Особенности логирования действий в {{NameSystem}}===
Таблица логов состоит из набора параметров:
+
* Реквизиты подключения к ГРС:
*'''Запуск''' - время запуска действия
+
** При изменении реквизитов подключения к ГРС эти изменения и состояние настроек до них логируются.
*'''Пользователь''' - кто запустил данное действие
+
** При удалении реквизитов логируется id самих удаляемых реквизитов и какие данные содержались в этом id.
*'''Компонент''' - к какой компоненте системы относится данное действие
 
*'''Действие''' - формальное наименование действия
 
*'''Сообщение''' - ???
 
*'''Объект''' - ??? количество объектов в результате выполнения действия
 
*'''Заказ''' - номер заказа
 
*'''Поиск''' - номер поиска
 
*'''Поставщик''' - формальное наименование задействованного поставщика услуг
 
*'''Время выполнения''' - численное значение (в секундах)
 
*'''IP''' - адрес хоста, с которого запущено действие
 
*'''доп.''' - дополнительная информация по действию. Обычно в этом поле указывается статус действия ("Успешно"/"Неуспешно"; количество ошибок, если они произошли; режим работы системы, в котором было выполнено действие )
 
  
[[Файл:Фрагмент_логов.png]]
+
* Логирование изменения значения настройки — изменение настроек также логируется:
 +
** дата и время изменения значения настройки;
 +
** полное название настройки;
 +
** пользователь, изменивший значение настройки;
 +
** предыдущее значение настройки;
 +
** текущее значение настройки.<br />
 +
Пример:
 +
<pre>
 +
2014-10-06 15:33:41.915 [Пользователи] Изменение "user.param.time_zone" (Данные)
 +
Array
 +
(
 +
    [oldValue] => Pacific/Fakaofo
 +
    [newValue] => Indian/Antananarivo
 +
)
 +
</pre>
 +
<!--
 +
== Возможные ошибки ==
 +
=== SOAP ERROR ошибки ===
  
Одна запись лога называется '''действием''' (по сути эквивалент одного php-скрипта). Действие содержит множество '''Операций'''.
+
В случае если тело SOAP запроса не соответствует схеме запроса, то в сообщении лога можно будет увидеть <pre>Ошибка "SoapFault exception: [WSDL] SOAP-ERROR: Parsing WSDL: Couldn't load from '%адрес_схемы%' : faile"</pre>
  
[[Файл:Детальная_информация_лога.png]]
+
-->
  
 +
== Ошибки возникающие при оплате ==
 +
* '''Блокировка "Оплата запрещена для данного заказа"''' - эту ошибку можно встретить в Админ-панели Nemo в логах когда заказ еще не забронирован и пользователь попытался оплатить; либо когда заказ забронирован, но нет в доступных действиях по заказу операции выписки; либо когда заказ выписан и нет доп.услуг для довыписки. При попытке оплаты система осуществляет эти проверки и блокирует оплату в указанных случаях.
  
'''''Пагинация''''' - постраничное разбиение информации.
+
== См. также ==
 +
* [[Пользователь]]
 +
* [[Настройка]]
 +
* [[Ошибка]]
 +
* [[Служба поддержки]]

Текущая версия на 14:18, 29 июля 2020

Логи системы — модуль Nemo.Travel для учета действий и событий, происходящих в системе.

Назначение

nemo.travel поддерживает гибкий инструмент логирования всех важных операций, происходящих в ней. Это помогает в кратчайшие сроки узнать детальную информацию практически по любому действию внутри системы. Интерфейс предоставляет широчайший выбор фильтров для выбора необходимых данных. Кроме того, имеется ряд предустановленных фильтров, которые выделены в отдельный блок и доступны по ссылкам.

Принцип работы

Логи в зависимости от типа бывают:

  • индексируемые — ошибки, предупреждения и пр. Эти логи можно искать через фильтры логов.
  • не индексируемые — сообщение и пр., доступны в теле одного лога-действия при открытии.

Если после отработанного скрипта не было собрано ни одного лога с индексацией, логи не сохраняются.

Принципы:

  • индексировать только действительно полезные логи (выбирать тип события правильно).
  • минимизировать объем данных, помещаемый в логи (например, не сохранять объект брони целиком).

Для поиска и просмотра логов зайдите в раздел Для техподдержки → Логи.

Раздел логов состоит из 3 основных частей:

  • Форма фильтров.
  • Блок предустановленных фильтров.
  • Таблица логов.

Записи логов разбиты постранично, чтобы перейти к следующей странице, нажмите ссылку След. внизу таблицы.

Общий вид интерфейса логов 2.png
Страница логов

Успешность действия — это признак одного Немо Тревел 1.0 запроса, например, для поиска — это получение хотя бы одного результата, для бронирования — успешная бронь и т.п.

Таблица логов

  • Столбцы таблицы — параметры логов,
  • Строки таблицы — записи действий.

Одна запись лога называется действием (по сути эквивалент одного php-скрипта). Действие содержит множество операций.

Каждая запись в таблице — действие. Чтобы открыть его операции, разверните запись, нажав на нее.
Некоторые операции сопровождаются ссылкой Данные, открывающей дополнительную информацию о событии (операции): тело XML-запроса, набор параметров или полное сообщение (если краткое обрезалось по длине) и т.п.

На каждое действие (лог) присутствует ссылка. Дополнительно могут быть ссылки Выгрузить архивом xml логи, Просмотр заказа, Просмотр результатов поиска, Форма поиска и др.

Зеленым цветом выделены логи, в которых происходило взаимодействие с ГРС.

Внимание! Логи поисковых запросов записываются в отдельную таблицу.

Параметры таблицы логов

  • Запуск — время запуска действия.
  • Пользователь — пользователь, запустивший действие.
  • Компонент — компонент системы, к которому относится данное действие.
  • Действие — наименование действия.
  • Сообщение — короткое идентификационное сообщение, используется для поиска логов.
  • Заказ — номер заказа.
  • Поиск — номер поиска.
  • Биллинг — номер транзакции по оплате.
  • Поставщик — наименование задействованного поставщика услуг.
  • Время выполнения — численное значение (в секундах).
  • IP — адрес хоста, инициировавшего действие.
  • доп. — дополнительная информация, например:
    • статус действия (Успешно/Неуспешно);
    • количество ошибок, если они произошли;
    • режим работы системы, в котором было выполнено действие).

Фильтры логов

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

  • Пользователь — идентификатор пользователя,
  • Заказ — идентификатор заказа,
  • Сообщение — короткое идентификационное сообщение для поиска логов,
  • Событие — перечень регистрируемых системой событий.

Чтобы получить доступ ко всем параметрам фильтра, нажмите кнопку Дополнительные фильтры (см. раздел Дополнительные фильтры).

Дополнительные фильтры

Полная форма фильтров включает в себя следующие поля:

Название Описание
Пользователь Идентификатор пользователя.
Заказ Идентификатор заказа
Сообщение Короткое идентификационное сообщение для поиска логов.
Событие

Перечень регистрируемых системой событий:

  • Любой.
  • Регистрация действия.
  • [GDS] Запрос — запрос к внешней системе.
  • [GDS] Ответ — ответ от внешней системы.
  • [GDS] Ошибка — получена ошибка от внешней системы.
  • [Нотификация] Событие — что-то кому-то отправлено (сообщение).
  • [Нотификация] SMS — SMS нотификация.
  • [Нотификация] Email — e-mail нотификация.
  • [Нотификация] Ошибка — ошибка при нотификации.
  • [Ошибка] Валидация — ошибка при бэкенд-валидации (формы, например).
  • [Ошибка] Ограничение доступа — ошибка с запретом доступа кому-нибудь куда-нибудь.
  • [Ошибка] Блокировка — для неопределенных ошибок вызванных функцией контроллера ->lock().
  • [Ввод/вывод] Запрос — получили входящий запрос.
  • [Ввод/вывод] Ответ — ответ на входящий запрос.
  • [Ввод/вывод] Загрузка файла — кто-то загружает файл.
  • [Ввод/вывод] Локальный автозапрос — запуск http-запроса к своему серверу.
  • [Интеграция] Экспорт — экспорт из системы.
  • [Интеграция] Импорт — импорт в систему.
  • [Интеграция] Ошибка — ошибка импорта/экспорта.
  • [Авторизация] Через сайт — авторизация через сайт.
  • [Авторизация] Через внешнюю систему — авторизация через удаленную систему.
  • [Авторизация] Выход — logout.
  • [Авторизация] Ошибка — ошибка при авторизации.
  • [Регистрация] Запрос — регистрация.
  • [Регистрация] Подтверждение — подтверждение регистрации.
  • [Регистрация] автоматическая — авторегистрация.
  • [Пользователи] Изменение — в пользователе/группе что-то меняется.
  • [Пользователи] Создание нового — новый пользователь.
  • [Пользователи] Создание компании — новая компания/агентство.
  • [Пользователи] Создание группы — новая группа.
  • [Пользователи] Изменение пароля — изменение пароля.
  • [Пользователи] Удаление — удаление пользователя.
  • [Заказ] Ошибка при бронировании
  • [Заказ] Ошибка при аннуляция
  • [Заказ] Ошибка при выписке
  • [Заказ] Ошибка при обновлении
  • [Заказ] Ошибка при модификации
  • [Заказ] Операция
  • [DB] Новая запись
  • [DB] Обновление записи
  • [DB] Удаление записи
  • [Система] Якорь (для индексации)
  • [API] Запрос — запрос к агентским сервисам.
  • [API] Ответ — ответ от агентских сервисов.
  • [API] Ошибка — ошибка агентских сервисов.
  • [Оплата] Смена статуса — смена статуса оплаты.
  • [Оплата] Запрос к шлюзу — запрос к платежному шлюзу.
  • [Оплата] Ответ от шлюза — ответ от платежного шлюза.
  • [Оплата] Ошибка — ошибка платежного шлюза.
  • [Оплата] Переход на страницу шлюза
  • [Оплата] Смена способа оплаты
  • [Баланс] Изменение баланса
  • [Баланс] Изменение доступного овердрафта
  • [Баланс] Доступные средства
  • Предупреждение
Действие Выберите тип действия:
  • Любой
  • Неустановленное
  • Регистрация
  • Авторизация
  • Авторизация (дополнительно)
  • Выход
  • Настройки
  • Форма поиска
  • Процесс поиска
  • Результаты поиска
  • Запрос данных по услуге
  • Ввод информации о заказчике
  • Ввод информации о пассажирах
  • Бронирование
  • Отображение информации о заказе
  • Оплата
  • Неопределенное действие с заказом
  • Подтверждение
  • Выписка
  • Отмена выписки
  • Возврат денег
  • Просмотр информации
  • Дополнительный клиентский запрос
  • Обновление
  • Тестовый скрипт
  • Модификация заказа
  • Автоматическое действие
  • Системное действие
  • Форма (прочее)
  • Мои пассажиры
  • Сообщения и заявки
  • Документы
Поиск
Биллинг
Поставщик
Платежный шлюз
Объект-пользователь
Объект
ID действия
IP
Дата
За последние X секунд
С запросами к GDS
Тестовый режим
Успешность
  • Любой
  • Успешные
  • Не успешные

Предустановленные фильтры

Для быстроты поиска создан блок ссылок с предустановленными фильтрами:

  • Мои логи (текущего пользователя).
  • Мои логи (по IP).
  • Проблемные выписки.
  • Частичные выписки.
  • Проблемные бронирования.
  • Проблемные аннуляции.

Поиск записей логов

Поиск логов

Чтобы применить фильтрацию к логам:

  1. Выставите значения фильтров.
  2. Нажмите на кнопку Поиск.
    Чтобы отменить фильтр, нажмите на кнопку Сброс.
Поиск логов.png
Поиск логов по e-mail нотификациям указанного пользователя.

Поиск логов поисковых запросов

Логи поисковых запросов записываются в отдельную таблицу.

Чтобы искать поисковые логи:

  1. Нажмите на кнопку Таблица логов поисковых запросов.
  2. Выставите значения фильтров.
  3. Нажмите на кнопку Поиск.
    Чтобы отменить фильтр, нажмите на кнопку Сброс.
Кнопка Таблица логов поисковых запросов.png
Ссылка на таблицу логов поисковых запросов
Поиск логов поиска.png
Пример поиска логов поисковых запросов

Поиск восстановленных логов

После перехода по ссылке Поиск восстановленных логов, поиск будет вестись в специальном хранилище логов, которые по какой-либо причине были утрачены, а затем восстановлены.

Примеры поиска логов

  • По номеру заказа:
    1. введите номер заказа в поле Заказ,
    2. нажмите кнопку Поиск.
Поиск логов по номеру заказа.png
Поиск логов по номеру заказа
  • По ошибке — если искомые заказы содержат известную ошибку:
    1. введите текст ошибки в поле Сообщение.
    2. нажмите кнопку Поиск.
Поиск заказов пользователя по ошибке.png
Поиск логов с ошибкой среди заказов указанного пользователя.png

Логирование XML-данных

Модуль осуществляет логирование:

  • пакетной выгрузки заказов из ЛК в форматах Nemo/SOFI,
  • выгрузки статистики метапоиска,
  • экспорта пользователей.

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

Если в содержимом события находится не только XML, то из всего содержимого вычленяется и выводится только XML (например, выгрузка Немо/Софи).

Для того, чтобы браузер не подвисал из-за большого объема лога события (более 64000 символов), на главной странице логов (settings/logs) вместо содержимого выводится соответствующее сообщение. XML можно просмотреть в отдельном окне через специальный плагин.

Примеры логирования

В Nemo.Travel логируются следующие действия:

  • изменение настроек в панели администрирования,
  • действие с заказом (в т.ч. нотификации, выгрузки, оплаты, фиксации статусов и т.д.),
  • поиск,
  • авторизация / регистрация на сайте,
  • действие в ЛК (экспорт заказов, отправка сообщений/заявок и т.д.).

Особенности логирования действий в Nemo.Travel

  • Реквизиты подключения к ГРС:
    • При изменении реквизитов подключения к ГРС эти изменения и состояние настроек до них логируются.
    • При удалении реквизитов логируется id самих удаляемых реквизитов и какие данные содержались в этом id.
  • Логирование изменения значения настройки — изменение настроек также логируется:
    • дата и время изменения значения настройки;
    • полное название настройки;
    • пользователь, изменивший значение настройки;
    • предыдущее значение настройки;
    • текущее значение настройки.

Пример:

2014-10-06 15:33:41.915 [Пользователи] Изменение "user.param.time_zone" (Данные)
Array
(
    [oldValue] => Pacific/Fakaofo
    [newValue] => Indian/Antananarivo
)

Ошибки возникающие при оплате

  • Блокировка "Оплата запрещена для данного заказа" - эту ошибку можно встретить в Админ-панели Nemo в логах когда заказ еще не забронирован и пользователь попытался оплатить; либо когда заказ забронирован, но нет в доступных действиях по заказу операции выписки; либо когда заказ выписан и нет доп.услуг для довыписки. При попытке оплаты система осуществляет эти проверки и блокирует оплату в указанных случаях.

См. также