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

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

Версия 19:20, 1 апреля 2016

Пример окна логов системы Nemo.Travel

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

Принципы

Сокращенная форма фильтров логов

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

Логи могут быть индексируемые и не индексируемые (определяются типом, например «сообщение» не индексируется, «ошибка» или «ворнинг» — индексируются). Индексированные логи можно найти через фильтры в административной панели управления (/settings__logs), остальные только при подробном рассмотрении одного лога-действия. Если после отработанного скрипта не было собрано ни одного лога с индексацией — логи не сохраняются.

Принципы:

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

Пользовательский интерфейс

Интерфейс пользователя состоит из 3 основных частей:

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

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

Форма фильтров

Для удобства выбора определенных записей логов на странице присутствует форма фильтров. Изначально в ней доступны наиболее используемые параметры фильтрации. Чтобы получить доступ ко всем параметрам фильтра, необходимо раскрыть форму, кликнув по ссылке «Дополнительные фильтры». Чтобы фильтр применился к логам, необходимо нажать на кнопку «Поиск», чтобы отменить фильтр, нужно воспользоваться кнопкой «Сброс».

Упрощенная форма фильтров

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

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

Полная форма фильтров

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

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

Ввод в поле «Идентификатор пользователя» ограничен использованием целых положительных чисел. На остальные поля ввода строгие ограничения не накладываются, однако, необходимо вводить значения логически подходящие под конкретное поле, иначе фильтр просто не вернет результатов.

Успешность действия

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

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

Для удобства пользователей, ряд фильтров вынесен в отдельный блок и для их использования нет необходимости заносить какие-либо значения в форму с параметрами фильтра. В блоке предустановленных фильтров доступны следующие варианты:

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

Записи логов

Таблица логов
Детальная информация лога
Пример детальной информации лога

Таблица логов состоит из набора параметров:

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

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

На каждое действие (лог) присутствует ссылка.

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

Данные

Данные — дополнительная информация о событии (операции). Там может быть тело XML-запроса, набор параметров, полное сообщение (если краткое обрезалось по длине) и т.п.

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

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

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

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

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

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

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

Реквизиты подключения к GDS

  • При изменении реквизитов подключения к GDS, эти изменения и состояние настроек до них логируются.
  • При удалении реквизитов логируется id самих удаляемых реквизитов и какие данные содержались в этом id.

Логирование изменения значения настройки

Любое изменение настройки логируется:

  • дата и время изменения значения настройки;
  • полное название настройки;
  • пользователь, изменивший значение настройки;
  • предыдущее значение настройки;
  • текущее значение настройки.

Пример:

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

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

Возможные ошибки

SOAP ERROR ошибки

В случае если тело SOAP запроса не соответствует схеме запроса, то в сообщении лога можно будет увидеть

Ошибка "SoapFault exception: [WSDL] SOAP-ERROR: Parsing WSDL: Couldn't load from '%адрес_схемы%' : faile"

См. также