Следим за здоровьем NOMAD

17 5

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

При разработке версии сервера NOMAD 2.5, которая вошла в состав DIRECTUM 5.4, мы постарались учесть эти моменты, для чего:

  • расширили логирование. Добавили информацию о том, в каком приложении работают пользователи, о статистике выполненных операций и IP пользователя;
  • включили в поставку утилиту AppHealth с шаблоном для обработки лог-файлов сервера NOMAD. О работе данной утилиты поговорим подробнее.

Как поставить диагноз

AppHealth – это внутренняя утилита, которая используется для формирования отчётов по статистике использования и стабильности различных сервисов. Сам AppHealth – это заменитель bat-файла c XML-описанием. Он умеет выполнять несколько задач, последовательность и параметры выполнения которых задаются в файле конфигурации в виде XML-тегов, например:

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

  • количество мобильных пользователей, с разрезами по приложению и ОС;
  • количество ошибок и уведомлений, возникших в ходе работы пользователей;
  • статистика по операциям (количество и длительность);
  • статистика по конвертации в PDF документов различных форматов (актуально для DIRECTUM Solo).

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

Отчет позволяет:

  • контролировать ход опытно-промышленной эксплуатации;
  • «вылавливать» сложные дефекты и узкие места;
  • готовить статистику по результатам внедрения и использования приложений.

Формировать отчёт рекомендуется каждый день, чтобы проанализировать данные за прошлый день и оперативно реагировать на возникающие изменения. Обычно для этого используется периодическое назначенное задание.

Как настроить

Чтобы настроить формирование такого отчета, необходимо:

  1. Разархивировать содержимое архива AppHealth.zip. Архив находится в подпапке App_Data папки, в которую установлен сервер NOMAD: «<Каталог установки сервиса>\App_Data\AppHealth.zip».
  2. В файле «application.config» задать параметры:
    • "WWWLog" – расположение лог-файлов сервиса;
    • "IISLog" – расположение лог-файлов IIS-сайта;
    • параметры для отправки почты (параметры сервера, реквизиты отправки).

Далее запускаем утилиту для формирования отчёта за интересующий нас период для первоначального анализа ситуации, и настраиваем назначенное задание для периодического (например, ежедневного) формирования отчёта:

В документации описания работы пока нет, но утилита довольно "общительна" в консоли и имеет весьма подробный файл конфигурации, поэтому корректировка отчета под ваши задачи не должна составить труда. Тем более, что «под капотом» для работы с лог-файлами утилита использует LogParser.

Если у вас возникнут вопросы или сложности при использовании утилиты, задавайте их в комментариях.

Успешных внедрений!

Тарас Мартынов

Михаил, в рамках настройки данного решения не получается сделать так, чтобы формировался выходной отчет.

В выходном архиве находятся только лог-файл и tsv-файлы с различными статистическими данными, но html-отчета в архиве нет.

Подскажите, в чем может быть причина?

 

Mikhail Kislitsyn

У Вас будет возможность отправить мне конфигурацию утилиты, логи с сервера и письмо на ящик kislitsyn_mg@directum.ru?

Mikhail Kislitsyn

Разобрались, как выяснилось, не требуется отправка по почте, а только формирование файлов отчёта.
HTML отчёт по умолчанию не формируется, он заполняется в параметр и устанавливается в тело письма.
<Task type="Message" templateFile="%ConfigurationPath%/Templates/Message.tpl" template="" outputParam="Body">

<Task type="Mail" to="%MailTo%" copy="%MailCopy%" subject="%MailSubject%" body="%Body%" attachment="%ReportsPath%\%FilePrefix%_%FromDate%_%ToDate%.zip"
                                               from="%MailFrom%" user="%MailUser%" password="%MailPassword%" server="%MailServer%" port="%MailPort%" useSSL="%MailUseSSL%" />

Соответственно вместо отправки письма потребуется указать:


<!--Сохранить значение параметра Body на диск-->
<Task type="SaveParam" name="Body" filePath=" %ReportsPath%\Report.htm"/>

Чтобы он попал в архив, то до команды Zip.

Рустам Нуретдинов

с Nomad 1.9 будет работать?

Mikhail Kislitsyn

Рустам, только если настроить шаблоны вручную. "Из коробки" утилита не поддерживает формат лога NOMAD 1.9.

Авторизуйтесь, чтобы написать комментарий