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

Материал из Центр поддержки системы бронировании
Перейти к навигации Перейти к поиску
 
(не показано 109 промежуточных версий 8 участников)
Строка 1: Строка 1:
[[Категория:Термины]][[Категория:Функции]]
+
[[Категория:Термины]]
[[Файл:Общий_вид_интерфейса_логов_2.png|thumb|300px|Пример окна логов системы Nemo]]
+
[[Категория:Функции]]
'''Логи системы''' - административный раздел системы Nemo, содержащий подробный журнал действий и событий, происходящих в системе.
+
<!-- -->
 +
'''Логи системы''' — модуль {{NameSystem|link}} для учета действий и событий, происходящих в системе.
  
==Принципы==
+
==Назначение==
Система онлайн-бронирования Nemo включает в себя гибкий инструмент логирования всех важных операций, происходящих в ней, что позволяет в кротчайшие сроки узнавать детальную информацию практически по любому действию внутри системы. Интерфейс предоставляет широчайший выбор фильтров для выбора необходимых данных. Кроме того, имеется ряд предустановленных наиболее часто используемых фильтров, которые выделены в отдельный блок и доступны по ссылкам.
 
  
Логи могут быть индексируемые и не индексируемые (определяются типом, например "сообщение" не индексируется, "ошибка" или "ворнинг" - индексируются). Индексированные логи можно найти через фильтры в административной панели управления (/settings__logs), остальные только при подробном рассмотрении одного лога-действия. Если после отработанного скрипта не было собрано ни одного лога с индексацией - логи не сохраняются.
+
nemo.travel поддерживает гибкий инструмент логирования всех важных операций, происходящих в ней. Это помогает в кратчайшие сроки узнать детальную информацию практически по любому действию внутри системы. Интерфейс предоставляет широчайший выбор фильтров для выбора необходимых данных. Кроме того, имеется ряд предустановленных фильтров, которые выделены в отдельный блок и доступны по ссылкам.
 +
 
 +
==Принцип работы==
 +
 
 +
Логи в зависимости от типа бывают:
 +
* индексируемые — ошибки, предупреждения и пр. Эти логи можно искать через фильтры логов.
 +
* не индексируемые — сообщение и пр., доступны в теле одного лога-действия при открытии.
 +
 
 +
Если после отработанного скрипта не было собрано ни одного лога с индексацией, логи не сохраняются.
  
 
'''Принципы:'''
 
'''Принципы:'''
*индексировать только действительно полезные логи (выбирать тип события правильно)
+
*индексировать только действительно полезные логи (выбирать тип события правильно).
*минимизировать объем данных, помещаемый в логи (например, не сохранять объект брони целиком)
+
*минимизировать объем данных, помещаемый в логи (например, не сохранять объект брони целиком).
 +
 
 +
Для поиска и просмотра логов зайдите в раздел '''Для техподдержки → Логи'''.
  
[[Файл:Форма_фильтров_логов_сокращенная.png|thumb|300px|Сокращенная форма фильтров логов]]
+
Раздел логов состоит из 3 основных частей:
[[Файл:Форма_фильтров_логов_полная.png|thumb|300px|Полная форма фильтров логов]]
+
* Форма фильтров.
[[Файл:Предустановленные_фильтры_логов.png|thumb|300px|Предустановленные фильтры логов]]
+
* Блок предустановленных фильтров.
[[Файл:Фрагмент_логов.png|thumb|300px|Фрагмент записей логов]]
+
* Таблица логов.
[[Файл:Детальная_информация_лога.png|thumb|300px|Пример детальной информации лога]]
 
[[Файл:Детальная_информация_лога_2.png|thumb|300px|Пример детальной информации лога]]
 
  
==Пользовательский интерфейс==
+
Записи логов разбиты постранично, чтобы перейти к следующей странице, нажмите ссылку '''След.''' внизу таблицы.
Интерфейс пользователя состоит из 3 основных частей:
 
* формы фильтров
 
* блока предустановленных фильтров
 
* записей логов, разбитых постранично (доступ к страницам осуществляется с помощью меню пагинации).
 
<span style="background-color:#fff0f5;">'''<span style="color:#ff0000;">Внимание!</span>''' Обратите внимание на то, что логи с поисковыми запросами записываются в отдельную таблицу. </span>
 
  
===Форма фильтров===
+
{| 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''' - SMS-нотификация
+
|-
**'''[Нотификация] Email''' - email-нотификация
+
|'''Сообщение'''
**'''[Нотификация] Ошибка''' - Ошибка при нотификации
+
|Короткое идентификационное сообщение для поиска логов.
**'''[Ошибка] Валидация''' - Ошибка при бэкенд валидации (формы например)
+
|-
**'''[Ошибка] Ограничение доступа''' - Ошибка с запретом доступа кому-нибудь куда-нибудь
+
|'''Событие'''
**'''[Ошибка] Блокировка''' - Для неопределенных ошибок вызванных функцией контроллера ->lock()
+
|
**'''[Ввод/вывод] Запрос''' - Получили входящий запрос (колбек какой-нибудь)
+
Перечень регистрируемых системой событий:
**'''[Ввод/вывод] Ответ''' - Ответ на входящий запрос
+
 
**'''[Ввод/вывод] Загрузка файла''' - Кто-то вгружает файл
+
* ''Любой''.
**'''[Ввод/вывод] Локальный автозапрос''' - Запуск http запроса к своему серверу
+
* ''Регистрация действия''.
**'''[Интеграция] Экспорт''' - Экспорт в систему
+
* ''[GDS] Запрос'' — запрос к внешней системе.
**'''[Интеграция] Импорт''' - Импорт из системы
+
* ''[GDS] Ответ'' — ответ от внешней системы.
**'''[Интеграция] Ошибка''' - Ошибка импорта/экспорта
+
* ''[GDS] Ошибка'' — получена ошибка от внешней системы.
**'''[Авторизация] Через сайт''' - Авторизация через сайт
+
* ''[Нотификация] Событие'' — что-то кому-то отправлено (сообщение).
**'''[Авторизация] Через внешнюю систему''' - Авторизация через удаленную систему
+
* ''[Нотификация] SMS'' SMS нотификация.
**'''[Авторизация] Выход''' - Logout
+
* ''[Нотификация] Email'' — e-mail нотификация.
**'''[Авторизация] Ошибка''' - Ошибка при авторизации
+
* ''[Нотификация] Ошибка'' — ошибка при нотификации.
**'''[Регистрация] Запрос''' - Регистрация
+
* ''[Ошибка] Валидация'' — ошибка при бэкенд-валидации (формы, например).
**'''[Регистрация] Подтверждение''' - Подтверждение регистрации
+
* ''[Ошибка] Ограничение доступа'' — ошибка с запретом доступа кому-нибудь куда-нибудь.
**'''[Регистрация] автоматическая''' - Авторегистрация
+
* ''[Ошибка] Блокировка'' — для неопределенных ошибок вызванных функцией контроллера ->lock().
**'''[Пользователи] Изменение''' - В пользователе/группе что-то меняется
+
* ''[Ввод/вывод] Запрос'' — получили входящий запрос.
**'''[Пользователи] Создание нового''' - Новый пользователь
+
* ''[Ввод/вывод] Ответ'' — ответ на входящий запрос.
**'''[Пользователи] Создание компании''' - Новая компания/агентство
+
* ''[Ввод/вывод] Загрузка файла'' — кто-то загружает файл.
**'''[Пользователи] Создание группы''' - Новая группа
+
* ''[Ввод/вывод] Локальный автозапрос'' — запуск http-запроса к своему серверу.
**'''[Пользователи] Изменение пароля''' - Изменение пароля
+
* ''[Интеграция] Экспорт'' — экспорт из системы.
**'''[Пользователи] Удаление''' - Удаление пользователя
+
* ''[Интеграция] Импорт'' — импорт в систему.
**'''[Заказ] Ошибка при бронировании'''
+
* ''[Интеграция] Ошибка'' — ошибка импорта/экспорта.
**'''[Заказ] Ошибка при аннуляция'''
+
* ''[Авторизация] Через сайт'' — авторизация через сайт.
**'''[Заказ] Ошибка при выписке'''
+
* ''[Авторизация] Через внешнюю систему'' — авторизация через удаленную систему.
**'''[Заказ] Ошибка при обновлении'''
+
* ''[Авторизация] Выход'' — logout.
**'''[Заказ] Ошибка при модификации'''
+
* ''[Авторизация] Ошибка'' — ошибка при авторизации.
**'''[Заказ] Операция'''
+
* ''[Регистрация] Запрос'' — регистрация.
**'''[DB] Новая запись'''
+
* ''[Регистрация] Подтверждение'' — подтверждение регистрации.
**'''[DB] Обновление записи'''
+
* ''[Регистрация] автоматическая'' — авторегистрация.
**'''[DB] Удаление записи'''
+
* ''[Пользователи] Изменение'' — в пользователе/группе что-то меняется.
**'''[Система] Якорь (для индексации)'''
+
* ''[Пользователи] Создание нового'' — новый пользователь.
**'''[API] Запрос''' - Запрос к агентским сервисам
+
* ''[Пользователи] Создание компании'' — новая компания/агентство.
**'''[API] Ответ''' - Ответ от агентских сервисов
+
* ''[Пользователи] Создание группы'' — новая группа.
**'''[API] Ошибка''' - Ошибка агентских сервисов
+
* ''[Пользователи] Изменение пароля'' — изменение пароля.
**'''[Оплата] Смена статуса''' - Смена статуса оплаты
+
* ''[Пользователи] Удаление'' — удаление пользователя.
**'''[Оплата] Запрос к шлюзу''' - Запрос к платежному шлюзу
+
* ''[Заказ] Ошибка при бронировании''
**'''[Оплата] Ответ от шлюза''' - Ответ от платежного шлюза
+
* ''[Заказ] Ошибка при аннуляция''
**'''[Оплата] Ошибка''' - Ошибка платежного шлюза
+
* ''[Заказ] Ошибка при выписке''
**'''[Оплата] Переход на страницу шлюза'''  
+
* ''[Заказ] Ошибка при обновлении''
**'''[Оплата] Смена способа оплаты'''
+
* ''[Заказ] Ошибка при модификации''
**'''[Депозит] Изменение депозита'''
+
* ''[Заказ] Операция''
**'''[Депозит] Изменение кредитного лимита'''
+
* ''[DB] Новая запись''
**'''[Депозит] Доступные средства'''
+
* ''[DB] Обновление записи''
**'''Предупреждение'''
+
* ''[DB] Удаление записи''
*'''Действие''' - перечень регистрируемых в системе действий
+
* ''[Система] Якорь (для индексации)''
**Любой
+
* ''[API] Запрос'' — запрос к агентским сервисам.
**Неустановленное
+
* ''[API] Ответ'' — ответ от агентских сервисов.
**Регистрация
+
* ''[API] Ошибка'' — ошибка агентских сервисов.
**Авторизация
+
* ''[Оплата] Смена статуса'' — смена статуса оплаты.
**Авторизация (дополнительно)
+
* ''[Оплата] Запрос к шлюзу'' — запрос к платежному шлюзу.
**Выход
+
* ''[Оплата] Ответ от шлюза'' — ответ от платежного шлюза.
**Настройки
+
* ''[Оплата] Ошибка'' — ошибка платежного шлюза.
**Форма поиска
+
* ''[Оплата] Переход на страницу шлюза''  
**Процесс поиска
+
* ''[Оплата] Смена способа оплаты''
**Результаты поиска
+
* ''[Баланс] Изменение баланса''
**Запрос данных по услуге
+
* ''[Баланс] Изменение доступного овердрафта''
**Ввод информации о заказчике
+
* ''[Баланс] Доступные средства''
**Ввод информации о пассажирах
+
* ''Предупреждение''
**Бронирование
+
|-
**Отображение информации о заказе
+
|Действие
**Оплата
+
|Выберите тип действия:
**Неопределенное действие с заказом
+
* ''Любой''
**Подтверждение
+
* ''Неустановленное''
**Выписка
+
* ''Регистрация''
**Отмена выписки
+
* ''Авторизация''
**Возврат денег
+
* ''Авторизация (дополнительно)''
**Просмотр информации
+
* ''Выход''
**Дополнительный клиентский запрос
+
* ''Настройки''
**Обновление
+
* ''Форма поиска''
**Тестовый скрипт
+
* ''Процесс поиска''
**Модификация заказа
+
* ''Результаты поиска''
**Автоматическое действие
+
* ''Запрос данных по услуге''
**Системное действие
+
* ''Ввод информации о заказчике''
**Форма (прочее)
+
* ''Ввод информации о пассажирах''
**Мои пассажиры
+
* ''Бронирование''
**Сообщения и заявки
+
* ''Отображение информации о заказе''
**Документы
+
* ''Оплата''
*'''Поиск'''
+
* ''Неопределенное действие с заказом''
*'''Биллинг'''
+
* ''Подтверждение''
*'''Поставщик'''
+
* ''Выписка''
*'''Платежный шлюз'''
+
* ''Отмена выписки''
*'''Объект-пользователь'''
+
* ''Возврат денег''
*'''Объект'''
+
* ''Просмотр информации''
*'''ID действия'''
+
* ''Дополнительный клиентский запрос''
*'''IP'''
+
* ''Обновление''
*'''Дата'''
+
* ''Тестовый скрипт''
*'''За последние X секунд'''
+
* ''Модификация заказа''
*'''С запросами к GDS'''
+
* ''Автоматическое действие''
*'''Тестовый режим'''
+
* ''Системное действие''
*'''Успешность'''
+
* ''Форма (прочее)''
**Любой
+
* ''Мои пассажиры''
**Успешные
+
* ''Сообщения и заявки''
**Не успешные
+
* ''Документы''
 +
|-
 +
|Поиск
 +
|
 +
|-
 +
|Биллинг
 +
|
 +
|-
 +
|Поставщик
 +
|
 +
|-
 +
|Платежный шлюз
 +
|
 +
|-
 +
|Объект-пользователь
 +
|
 +
|-
 +
|Объект
 +
|
 +
|-
 +
|ID действия
 +
|
 +
|-
 +
|IP
 +
|
 +
|-
 +
|Дата
 +
|
 +
|-
 +
|За последние X секунд
 +
|
 +
|-
 +
|С запросами к GDS
 +
|
 +
|-
 +
|Тестовый режим
 +
|
 +
|-
 +
|Успешность
 +
|
 +
* Любой
 +
* Успешные
 +
* Не успешные
 +
|-
 +
 
 +
|}
 +
 
 +
=== Предустановленные фильтры ===
 +
Для быстроты поиска создан блок ссылок с предустановленными фильтрами:
 +
* Мои логи (текущего пользователя).
 +
* Мои логи (по IP).
 +
* Проблемные выписки.
 +
* Частичные выписки.
 +
* Проблемные бронирования.
 +
* Проблемные аннуляции.
  
Ввод в поле "Идентификатор пользователя" ограничен использованием целых положительных чисел. На остальные поля ввода строгие ограничения не накладываются, однако, необходимо вводить значения логически подходящие под конкретное поле, иначе фильтр просто не вернет результатов.
+
==Поиск записей логов==
 +
===Поиск логов===
 +
Чтобы применить фильтрацию к логам:
 +
# Выставите значения фильтров.
 +
# Нажмите на кнопку ''Поиск''.<br />Чтобы отменить фильтр, нажмите на кнопку ''Сброс''.
 +
{| class="wikitable"
 +
|-
 +
|[[Файл:Поиск логов.png|500px]]
 +
|-
 +
|Поиск логов по e-mail нотификациям указанного пользователя.
 +
|}
  
=====Успешность действия=====
+
===Поиск логов поисковых запросов===
Успешность действия это признак всего действия (одного пхп запроса), например, для поиска - это получение хотя бы одного результата, для бронирования - успешная бронь и т.п.
+
Логи поисковых запросов записываются в отдельную таблицу.
  
===Предустановленные фильтры===
+
Чтобы искать поисковые логи:
Для удобства пользователей, ряд фильтров вынесен в отдельный блок и для их использования нет необходимости заносить какие-либо значения в форму с параметрами фильтра. В блоке предустановленных фильтров доступны следующие варианты:
+
# Нажмите на кнопку ''Таблица логов поисковых запросов''.
*Мои логи (текущего пользователя)
+
# Выставите значения фильтров.
*Мои логи (по IP)
+
# Нажмите на кнопку ''Поиск''.<br />Чтобы отменить фильтр, нажмите на кнопку ''Сброс''.
*Проблемные выписки
 
*Частичные выписки
 
*Проблемные бронирования
 
*Проблемные аннуляции
 
  
===Записи логов===
+
{| class="wikitable"
Таблица логов состоит из набора параметров:
+
|-
*'''Запуск''' - время запуска действия
+
|[[Файл:Кнопка_Таблица_логов_поисковых_запросов.png|500px]]
*'''Пользователь''' - кто запустил данное действие
+
|-
*'''Компонент''' - к какой компоненте системы относится данное действие
+
|Ссылка на таблицу логов поисковых запросов
*'''Действие''' - формальное наименование действия
+
|}
*'''Сообщение''' - короткое идентификационное сообщение для поиска логов  
 
*'''Объект''' -  любое вспомогательное числовое значение (например количество результатов в поиске)
 
*'''Заказ''' - номер заказа
 
*'''Поиск''' - номер поиска
 
*'''Поставщик''' - формальное наименование задействованного поставщика услуг
 
*'''Время выполнения''' - численное значение (в секундах)
 
*'''IP''' - адрес хоста, с которого запущено действие
 
*'''доп.''' - дополнительная информация по действию. Обычно в этом поле указывается статус действия ("Успешно"/"Неуспешно"; количество ошибок, если они произошли; режим работы системы, в котором было выполнено действие )
 
  
[[Файл:Фрагмент_логов.png]]
+
{| class="wikitable"
 +
|-
 +
|[[Файл:Поиск_логов_поиска.png|500px]]
 +
|-
 +
|Пример поиска логов поисковых запросов
 +
|}
  
Одна запись лога называется '''действием''' (по сути эквивалент одного php-скрипта). Действие содержит множество '''Операций'''.
+
===Поиск восстановленных логов===
  
[[Файл:Детальная_информация_лога.png]]
+
После перехода по ссылке '''Поиск восстановленных логов''',  поиск будет вестись в специальном хранилище логов, которые по какой-либо причине были утрачены, а затем восстановлены.
  
На каждое действие (лог) присутствует ссылка.           
+
=== Примеры поиска логов ===
Дополнительно могут быть ссылки на '''Выгрузить архивом xml логи''', '''Просмотр заказа''', '''Просмотр результатов поиска''', '''Форма поиска''' и др.
 
[[Файл:Детальная_информация_лога_2.png]]
 
  
====Данные====
+
* '''По номеру заказа''':
'''Данные''' - дополнительная информация о событии (операции). Там может быть тело XML-запроса, набор параметров, полное сообщение (если краткое обрезалось по длине) и т.п.
+
*# введите номер заказа в поле ''Заказ'',
 +
*# нажмите кнопку ''Поиск''.
 +
{| class="wikitable"
 +
|-
 +
|[[Файл:Поиск_логов_по_номеру_заказа.png|500px]]
 +
|-
 +
|Поиск логов по номеру заказа
 +
|}
 +
* '''По ошибке''' — если искомые заказы содержат известную ошибку:
 +
*# введите текст ошибки в поле ''Сообщение''.
 +
*# нажмите кнопку ''Поиск''.
 +
{| class="wikitable"
 +
|-
 +
|[[Файл:Поиск заказов пользователя по ошибке.png|500px]]
 +
|-
 +
|Поиск логов с ошибкой среди заказов указанного пользователя.png
 +
|}
  
 
== Логирование XML-данных ==
 
== Логирование XML-данных ==
Строка 198: Строка 312:
 
Если в содержимом события находится не только XML, то из всего содержимого вычленяется и выводится только XML (например, выгрузка Немо/Софи).
 
Если в содержимом события находится не только XML, то из всего содержимого вычленяется и выводится только XML (например, выгрузка Немо/Софи).
  
Для того чтобы браузер не “подвисал” из-за большого объема лога события (более 64000 символов) на главной странице логов (settings/logs) вместо содержимого выводится соответствующее сообщение. XML можно просмотреть в отдельном окне через специальный плагин.
+
Для того, чтобы браузер не подвисал из-за большого объема лога события (более 64000 символов), на главной странице логов (settings/logs) вместо содержимого выводится соответствующее сообщение. XML можно просмотреть в отдельном окне через специальный плагин.
  
 
== Примеры логирования ==
 
== Примеры логирования ==
=== Реквизиты подключения к GDS ===
+
В {{NameSystem}} логируются следующие действия:
*При изменении реквизитов подключения к GDS, эти изменения и состояние настроек до них логируются.
+
* изменение настроек в панели администрирования,
*При удалении реквизитов логируется id самих удаляемых реквизитов и какие данные содержались в этом id.
+
* действие с заказом (в т.ч. нотификации, выгрузки, оплаты, фиксации статусов и т.д.),
 +
* поиск,
 +
* авторизация / регистрация на сайте,
 +
* действие в ЛК (экспорт заказов, отправка сообщений/заявок и т.д.).
  
=== Логирование изменения значения настройки ===
+
===Особенности логирования действий в {{NameSystem}}===
Любое изменение настройки логируется:
+
* Реквизиты подключения к ГРС:
* дата и время изменения значения настройки;
+
** При изменении реквизитов подключения к ГРС эти изменения и состояние настроек до них логируются.
* полное название настройки;
+
** При удалении реквизитов логируется id самих удаляемых реквизитов и какие данные содержались в этом id.
* пользователь, изменивший значение настройки;
 
* предыдущее значение настройки;
 
* текущее значение настройки.
 
  
 +
* Логирование изменения значения настройки — изменение настроек также логируется:
 +
** дата и время изменения значения настройки;
 +
** полное название настройки;
 +
** пользователь, изменивший значение настройки;
 +
** предыдущее значение настройки;
 +
** текущее значение настройки.<br />
 
Пример:
 
Пример:
 
<pre>
 
<pre>
Строка 222: Строка 342:
 
)
 
)
 
</pre>
 
</pre>
 +
<!--
 +
== Возможные ошибки ==
 +
=== SOAP ERROR ошибки ===
  
== Возможные ошибки ==
+
В случае если тело SOAP запроса не соответствует схеме запроса, то в сообщении лога можно будет увидеть <pre>Ошибка "SoapFault exception: [WSDL] SOAP-ERROR: Parsing WSDL: Couldn't load from '%адрес_схемы%' : faile"</pre>
 +
 
 +
-->
 +
 
 +
== Ошибки возникающие при оплате ==
 +
* '''Блокировка "Оплата запрещена для данного заказа"''' - эту ошибку можно встретить в Админ-панели Nemo в логах когда заказ еще не забронирован и пользователь попытался оплатить; либо когда заказ забронирован, но нет в доступных действиях по заказу операции выписки; либо когда заказ выписан и нет доп.услуг для довыписки. При попытке оплаты система осуществляет эти проверки и блокирует оплату в указанных случаях.
  
 
== См. также ==
 
== См. также ==
[[Пользователь]]<br>
+
* [[Пользователь]]
[[Настройка]]<br>
+
* [[Настройка]]
[[Ошибка]]<br>
+
* [[Ошибка]]
[[Служба поддержки]]
+
* [[Служба поддержки]]

Текущая версия на 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 в логах когда заказ еще не забронирован и пользователь попытался оплатить; либо когда заказ забронирован, но нет в доступных действиях по заказу операции выписки; либо когда заказ выписан и нет доп.услуг для довыписки. При попытке оплаты система осуществляет эти проверки и блокирует оплату в указанных случаях.

См. также