Дополнительные возможности сбора логов

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

Порядок выполнения перезагрузки

  1. УС выводится из режима обслуживания.

  2. На дисплее показывается служебная заставка.

  3. Выключается терминальное ПО.

  4. Выполняется сбор логов.

  5. УС перезагружается.

Порядок действий при плановой перезагрузке УС рекомендуется задавать в файле %SystemDrive%\FS365\Starter\ATM\restart_ATM.cmd.

Инициатором перезагрузки м.б. задание планировщика (рекомендуется «Restart_ATM»), время запуска которого можно настроить.

Период плановой перезагрузки УС. Чтобы его изменить в планировщике заданий на вкладке «Триггеры» измените условие запуска задания.

../../_images/Restart_ATM.png

Рисунок 65. Окно свойств задания «Restart_ATM», вкладка «Триггеры»

Листинг 13. Пример содержимого файла, выполняющего плановую перезагрузку УС
 1@ECHO OFF
 2SET "LogFile=%~dpn0.log"
 3
 4ECHO [%DATE% %TIME%] Запуск: changestate.exe -outofservice -wait 60  >> "%LogFile%" 2>&1
 5CALL C:\FS365\Applications\changestate.exe -outofservice -wait 60    >> "%LogFile%" 2>&1
 6ECHO [%DATE% %TIME%] Результат: %ERRORLEVEL%                         >> "%LogFile%" 2>&1
 7
 8ECHO [%DATE% %TIME%] Запуск: SCHTASKS /Run /I /TN "LogCatcher_PleaseWait"    >> "%LogFile%" 2>&1
 9SCHTASKS /Run /I /TN "LogCatcher_PleaseWait"                         >> "%LogFile%" 2>&1
10ECHO [%DATE% %TIME%] Результат: %ERRORLEVEL%                         >> "%LogFile%" 2>&1
11
12ECHO [%DATE% %TIME%] Запуск: FS365.Starter.exe -SHUTDOWN             >> "%LogFile%" 2>&1
13CALL C:\FS365\Starter\FS365.Starter.exe -SHUTDOWN                    >> "%LogFile%" 2>&1
14ECHO [%DATE% %TIME%] Результат: %ERRORLEVEL%                         >> "%LogFile%" 2>&1
15
16ECHO [%DATE% %TIME%] Запуск: Log_collector.bat                               >> "%LogFile%" 2>&1
17CALL C:\FS365\Applications\Log_collector.bat                         >> "%LogFile%" 2>&1
18ECHO [%DATE% %TIME%] Результат: %ERRORLEVEL%                         >> "%LogFile%" 2>&1
19
20SET "shmode=r"
21ECHO [%DATE% %TIME%] Запуск: shutdown /%shmode% /f /t 20             >> "%LogFile%" 2>&1
22shutdown /%shmode% /f /t 20 /d p:4:1 /c "DORS. Плановая периодическая перезагрузка УС."              >> "%LogFile%" 2>&1
23ECHO [%DATE% %TIME%] Результат: %ERRORLEVEL%                         >> "%LogFile%" 2>&1
24
25ECHO.                                                                        >> "%LogFile%" 2>&1

Вывод УС из обслуживания

Для вывода УС из обслуивания рекомендуется применить утилиту ChangeState.

changestate.exe -outofservice -wait 60

Служебная заставка на УС

В общем случае (часто в реальной эксплуатации) терминальное ПО и дисплей, используемый клиентом, работают под разными учетными записями УС. Такая система обусловлена ограничениями безопасности, не позволяющими, пользователю при помощи доступных манипуляторов (сенсорный дисплей) получить доступ к терминальному ПО и операционной системе.

Заставку, отображаемую на экране УС во время логов, рекомендуется задавать файле в html-файле %SystemDrive%\FS365\Starter\ATM\LogCatcher_PleaseWait.html и запускать при помощи задания планировщика (рекомендуется «LogCatcher_PleaseWait»).

Заменить заставку можно в планировщике заданий на вкладке «Действия» задания.

../../_images/LogCatcher_PleaseWait.png

Рисунок 66. Окно свойств задания «LogCatcher_PleaseWait», вкладка «Действия»

../../_images/wait_page.png

Рисунок 67. Пример заставки на экране УС во время сбора логов

Внимание

Задание «Restart_ATM» выполняется с наивысшими правами, а «LogCatcher_PleaseWait» – под ограниченной учетной записью. Для правильной работы механизма сбора логов не изменяйте эти настройки.

Выключение терминального ПО

Для выключения терминального ПО рекомендуется применить утилиту FS365.Starter.

FS365.Starter.exe -SHUTDOWN

Также можно закрыть необходимые приложения системными инструментами.

Выполнение сборки логов

Сборка пакетов логов может выполнятся при помощи любого доступного инструмента. Ниже описано расширение утилиты LogCatcher, переименование имени файла которой в Log_collector изменяет порядок ее работы.

В результате работы Log_collector в папке %SystemDrive%\FS365\Logs будут созданы полный и сокращенный архивы логов и настроек за предыдущий и текущие дни работы УС. Имя полного архива – Logs_F.zip, сокращенного – Logs_S.zip. Файл архива логов содержит архивы логов за предыдущие дни с соответсвующими именами YYYYMMDD.7z (YYYY – год, MM – месяц, DD – день). Состав собираемых материалов не отличается от собираемого LogCatcher и кратко описан далее.

Год, месяц и день определяют дату предыдущего дня, т.к. он полностью попадает в собираемый пакет логов.

Полный архив включает в себя:

  1. Системные логи и настройки:

    • файловая структура системного диска (в файл dir.txt);

    • даты версий драйверов устройств (в файл drivers.txt);

    • сведения о системе и подробная информация об установленных компонентах и драйверах DirectX (в файл dxdiaginfo.txt);

    • список локальных групп (в файл users.txt);

    • конфигурации разрешенных программ для пользователей, конфигурации для различных профилей, другие конфигурации и информации о брандмауэре (в файл firewall.txt);

    • планы электропитания, используемый план отмечен символом «*» (звездочка) (в файл powercfg.txt);

    • состояние системных служб (в файл services.txt);

    • задания планировщика (в файл schtasks.txt);

    • шаблон используемых локальных политик безопасности (в файл secedit.inf);

    • имена и значения переменных среды (в файл set.txt);

    • сведения о конфигурации ОС (в файл systeminfo.txt);

    • данные BIOS и материнской платы (в файл motherboard.txt);

    • список установленных программ (в файл version.txt);

    • сведения об учетных записей системы (в файл useraccount.txt);

    • дополнительная системная информация (в файл compinfo.csv);

    • параметры ветки реестра [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet] (в файл CurrentControlSet.TXT);

    • настройки Internet Explorer в ветке реестра [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer] (в файл IExplore.TXT);

    • настроки умолчаний для учетных записей в ветке реестра [HKEY_USERS\.DEFAULT] (в файл HKU.Default.TXT);

    • системные журналы (в папку EventLogs) за предыдущий день;

    • дампы отказа системы (в папку файл Minidump).

  2. Логи и настройки ГК DORS:

    • настройки ПроАТМ/XFS ([HKEY_LOCAL_MACHINE\SOFTWARE\XFS]);

    • настройки ПроАТМ ([HKEY_LOCAL_MACHINE\SOFTWARE\FS365]);

    • логи установки ПроАТМ/XFS и ПроАТМ (%temp%\@@@_ProATM*_Temp_@@@);

    • шаблоны чеков (%SystemDrive%FS365\Applications\receipts);

    • шаблоны экранных форм (%SystemDrive%\FS365\Applications\Web);

    • электронный журнал (%SystemDrive%\FS365\Journal) за предыдущий день;

    • чековый журнал (%SystemDrive%\FS365\LogReceipt) за предыдущий день;

    • протокольный журнал (%SystemDrive%\FS365\Protocollog) за предыдущий день;

    • базы службы логирования RedLabel (%SystemDrive%\FS365\RedLabel) за предыдущий день;

    • журнал обновлений (%SystemDrive%\FS365\Update).

  3. Логи и настройки PowerCom:

    • логи работы UPSMonPro (%SystemDrive%\Users\Public\UPSMON-Pro);

  4. Логи и настройки SCS:

    • настройки XFS ([HKEY_CLASSES_ROOT\WOSA/XFS_ROOT]);

    • настройки Tellme ([HKEY_LOCAL_MACHINE\SOFTWARE\SCS]);

    • логи работы Tellme (%SystemDrive%\SCS\ATM_H);

    • прочие логи Tellme (%SystemDrive%\SCS\LOGS).

Сокращенный архив включает в себя те же логи и настройки, кроме электронного и чекового журналов.

Примечание

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

При успешном получении системой мониторинга полного архива, должен появиться файл %SystemDrive%\FS365\Logs\Download.OK. При его наличии полный пакет логов перезаписывается, а при отсутсвии - дополняется архивом за предыдущий день. Получаются следующие файловые структуры C:\FS365\Logs\Logs_F.7z\YYYYMMD.7z и C:\FS365\Logs\ID_F.ZIP\YYYYMMD1.7z+YYYYMMD2.7z+... для успешного и неуспешного мониторинга соответственно.

Перезагрузка УС

Рекомендуемый способ перезагрузки УС DORS: принудительно закрыть все приложения и выключить системный блок, после чего контроллер специальной электроники автоматически включит УС.

Пример команды выключения УС:

shutdown /r /f /t 20 /d p:4:1 /c "Плановая периодическая перезагрузка УС."

Отчёты по сбойным операциям

Инструмент ClaimReporter.cmd разработан для анализа проводимых на УС операций и сборки сбойных в файлы отчётов. Утилита проверяет электронный журнал ПроАТМ по критериям и на предмет наличия сбойных операций и создаёт *.csv-файл, содержащий реквизиты сбоев. Для обработки большого количества операций (от нескольких десятков) утилите может требоваться некоторое время (десятки секунд).

Формат запуска:

ClaimReporter.cmd [ГГГГ_ММ_ДД]

Параметры:

  • ГГГГ_ММ_ДД – дата, за которую формируется отчет.

Пример запуска:

ClaimReporter.cmd 2022_07_20

Если утилита запущена без параметра, то она ищет файл журнала за предыдущие сутки.

Поиск обрабатываемого файла журнала выполняется в директории С:\FS365\Journal. Результирующие отчёты размещаются в директории С:\FS365\Logs\Pretension (формат имени файла - ГГГГММДД_ClaimReport.csv, где ГГГГММДД - дата, за которую сформирован отчёт). В случае отсутствия директории для размещения отчётов будет выполнена попытка её создания.

Утилита перебирает и отбирает записи журнала:

  • Относящиеся к одной операции, и записывает их во временный файл ClaimReporter.tmp. Временный файл хранится в той же папке, в которой размещена утилита. Если во временном файле есть признаки сбоя, то в отчет добавляется строка с данными об операции, после чего файл ClaimReporter.tmp автоматически удаляется.

  • Не относящиеся к операции, но содержащей признаки сбоя ранее выполненной операции. В отчет добавляется запись о сбое без реквизитов операции.

Операции для анализа ограничиваются по следующим критериям:

  • Начало. Записи «Card inserted» или «ТРАНЗАКЦИЯ НАЧАЛАСЬ».

  • Завершение. Записи «КАРТА ПРЕДЪЯВЛЕНА», «КАРТА ЗАБРАНА», «СЦЕНАРИЙ ОБСЛУЖИВАНИЯ ЗАВЕРШЁН» или «Application started».

  • Завершение. Записи «Card inserted» или «ТРАНЗАКЦИЯ НАЧАЛАСЬ» (в этом случае после обработки завершившейся операции начинается запись и анализ следующей).

  • Завершение. Окончание файла журнала после «начала» записи операции во временный файл.

Анализ операции на предмет сбойной выполняется по следующим критериям:

  • наличие записи «ВЫЯВЛЕНЫ СПОРНЫЕ БАНКНОТЫ» добавляет к причинам сбоя запись «спорные банкноты»;

  • наличие записи «??? -» добавляет к причинам сбоя запись «неизвестные банкноты»;

  • отсутсвие записи «СИНХРОННЫЙ ЗАПРОС: -» при наличии «ИТОГОВАЯ СУММА ПРИНЯТЫХ НАЛИЧНЫХ» добавляет к причинам сбоя запись «операция не авторизована».

  • (в редких случаях наличие записи «В ХОДЕ ОПЕРАЦИИ СБРОСА» добавляет к причинам сбоя запись «спорные банкноты, неизвестные банкноты», что иногда приводит к дублированию причин)

Для каждой сбойной операции в отчёт заносятся:

  • дата (из имени обрабатываемого файла);

  • время (из времени записи «Card inserted» или «ТРАНЗАКЦИЯ НАЧАЛАСЬ»);

  • номер УС (из MACHINE_NO или « «);

  • сумма (из записи «] ИТОГОВАЯ СУММА ПРИНЯТЫХ НАЛИЧНЫХ»);

  • валюта (из записи «] ИТОГОВАЯ СУММА ПРИНЯТЫХ НАЛИЧНЫХ»);

  • карта (из записи «НОМЕР КАРТЫ. NM»);

  • счёт (из записей чека);

  • тип транзакции («внесение наличных»);

  • КА (из записей чека);

  • UTRNNO (из записей чека);

  • номер чека (из записей чека);

  • причина сбоя (согласно критериям сбоя).

Сбойные записи вне операций фиксируются по следующим критериям:

  • Запись «CIM30: В ХОДЕ ОПЕРАЦИИ СБРОСА (НАЧАЛЬНОЙ ИНИЦИАЛИЗАЦИИ ИЛИ ПРИВЕДЕНИЯ В ИСХОДНОЕ СОСТОЯНИЕ) ОБНАРУЖЕНА(Ы) БАНКНОТА(Ы)».

В отчёт заносятся:

  • дата (из имени обрабатываемого файла);

  • время (из времени записи);

  • номер УС (из MACHINE_NO или « «);

  • сумма («-«);

  • валюта («RUB»);

  • тип транзакции («внесение наличных»);

  • причина сбоя («спорные банкноты, неизвестные банкноты»).

Прочие реквизиты не заполняются.

В случае отсутствия сбойный операций после обработки электронного журнала будет сформирован пустой файл отчёта, не содержащий данных.

Для исключения дублирования записей отчётов, не относящихся к операциям, предусмотрен механизм сохранения между запусками ClaimReporter идентификатора последнего сбоя в файле ClaimReport.res (размещается в директории с утилитой ClaimReporter.cmd).