Логи системы

Материал из Центр поддержки системы бронировании
Версия от 11:56, 3 июля 2015; Сергей Михалёв (обсуждение | вклад) (Возможные ошибки: http://helpdesk.nemo.travel/issues/14533)
Перейти к навигации Перейти к поиску
Пример окна логов системы Nemo

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

Принципы

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

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

Принципы:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Записи логов

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

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

Фрагмент логов.png

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

Детальная информация лога.png

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

Данные

Данные - дополнительная информация о событии (операции). Там может быть тело 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 ошибки

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

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

См. также

Пользователь
Настройка
Ошибка
Служба поддержки