LOG Analyser service¶
- Table of contents
- LOG Analyser service
Назначение и функции приложения¶
Данное программное обеспечение является службой Windows, предназначенной для получения, анализа и записи данных из лог файлов папки DBG_LOG, создаваемых приложениями DIGISPOT, в системный журнал Windows. Приложение считывает записи о событиях в приложениях из текстовых лог файлов и записывает данные по ним в системный журнал, распределяя их по группам (типам).
Определение группы, в которую войдет каждая конкретная запись из лог файла, производится путем проверки на соответствие записи логическому условию, заданному для каждой группы. Если сообщение не соответствует логическому условию группы, производится проверка на соответствие логическому условия следующей по приоритету группы. Запись попадет в ту группу, логическому условию которой соответствовует. Если запись не соответствует логическому условию ни одной из групп, она будет отнесена к группе Exclude.
Сообщения разделяются на 4 группы, и в ниже приведенном списке расположены в порядке приоритета проверки:
1. Exclude (исключения) - все запись, соответствующая логическому выражению данной группы, не попадают в системный журнал и проверка на соответствие условиям следующих по приоритету групп не производится. Если логическое выражение для данной группы не задано, проверка на вхождение сообщения в данную группу не производится, а проверяется на соответствие следующей по приоритету группе (Error);
- Error (ошибки) - запись, соответствующая логическому выражению данной группы содержит информацию об ошибке, или причинах не корректной работы приложения, к которому данная запись относится. По приоритету, проверка на соответствие записи логическому выражению данной группы, производится после проверки на соответствие группе Exclude в случае, если данная проверка вернула отрицательный результат;
- Warning (предупреждения) - запись, соответствующая логическому выражению данной группы носит предупредительный характер. По приоритету, проверка на соответствие записи логическому выражению данной группы производится после проверки на соответствие группе Errors в случае, если данная проверка вернула отрицательный результат;
- Information (информационная) - запись, соответствующая логическому выражению данной группы являются информационной. По приоритету, проверка на соответствие записи логическому выражению данной группы производится после проверки на соответствие группе Warning в случае, если данная проверка вернула отрицательный результат. Если логическое выражение для данной группы не задано, значит результат проверки будет всегда истинным. Таким образом можно указать, что все записи, которые не прошли проверку на соответствие логическим выражениям старших по приоритету групп (кроме Exclude), попадут в информационную группу.
Если запись соответствует логическому выражению группы, то данные по ней записываются в системный журнал с соответствующим группе признаком (ошибка, предупреждение, информация), либо не записывается вообще в случаях, когда запись соответствует логическому условию группы Exclude или не соответствует логическому выражению группы Information и первых по приоритету групп до Exclude.
Обрабатываются данные из лог файлов не старше суток назад, если они небыли обработаны. При переходе на следующие сутки еще 10 минут отслеживаются файлы с датой и временем создания, указанном в имени файла, которое не младше 10 минут до полуночи.
Правила построения логических выражений¶
Логические выражения могут иметь два оператора: "&" (или " AND ", запись с пробелами) - логическое ‘И’ и "|" (или " OR ", запись с пробелами) - логическое ‘ИЛИ’. Также для записи более сложных логических выражений используются скобки. Основным элементом логического выражения является ‘слово’ и их сочетание (слова, разделенные пробелом либо переносом на другую строку), вхождения которых в строку записи из лог файла и проверяется логическим выражением. В редакторе логических выражений, могут быть использованы символы переноса строки, который интерпретируются как символ пробела. Самое простое логическое выражение состоит из одного слова, вхождение которого в текст записи будет проверяться.
Пример:
(Error | Fatal error) & MSG_ERR
Данное выражение вернет положительный результат, если в текст записи входит слово ‘Error’ или словосочетание ‘Fatal error’ и слово ‘MSG_ERR’.
Также данное логическое выражение можно записать как:
(Error OR Fatal error) AND MSG_ERR
или с символами переноса строки, например:
(Error OR Fatal error) AND
MSG_ERR
или
(Error | Fatal
error) AND MSG_ERR
Записанные слова в логическом выражении являются не зависимой от регистра. При проверке на соответствие записи логическому выражению регистр также не учитывается.
Запрещено использовать в качестве ‘слова’ логического выражения символы (по одному, либо в сочетании) ‘+’,‘-’ и пробел. Также в составе слов нельзя использовать символы ‘(’,‘)’,‘&’,‘|’.
Предварительные настройки перед началом работы с приложением¶
Предварительные настройки производятся с помощью предназначенного для этого окна, которое можно вызвать нажатием кнопки ‘Configure’, расположенной на главном окне программы.
В окне конфигураций обязательно необходимо указать путь к лог файлам, а также описать логические выражения для групп. Для установки логических выражений по умолчанию необходимо нажать кнопку "Set default" и сохранить настройки
Перед запуском на выполнение службу необходимо инсталлировать, что будет предложено при первом запуске. После чего запись о данной службе появится в разделе инструментов администратора "Службы", и после этого ее можно запускать на выполнение либо там же, либо с помощью ее собственного интерфейса.
При деинсталляции службы данные о конфигурации из реестра не удаляются и записи из системного журнала не очищаются.
Описание раздела системного журнала¶
В процессе работы службы LOG Analyser, по мере поступления сообщений в лог файлы от приложений, расположенные по указанному в настройках пути, данные по ним будут обрабатываться и заноситься в системный журнал в раздел под названием LOG Analyser. Записи в журнале будут разбиты по группам (типам) в зависимости от того, к какой группе они были отнесены в процессе проверки на соответствие логическим выражениям. Также в данный журнал будут попадать и события, относящиеся к самой службе LOG Analyzer (основные события и сообщения об ошибках в работе). Если у приложения LOG Analyser возникла проблема с записью сообщений в системный журнал, она запишет данные о этой и иных проблемах в текстовый лог файл log_analyser_serviced_YYYY-MM-DD…txt, расположенный в папке DBG_LOG.
В системном журнале запись будет иметь следующие основные критерии:
- Level - тип записи (ошибка, предупреждение, информация);
- Date and Time - дата и время записи в журнал;
- Source - наименование приложения, с работой которого связана данная запись в журнале;
- EventID - идентификатор потока;
- Message - сообщение, содержащее текст всех полей записи лог файла.
Ветка с данными в реестре¶
Путь к ветке в реестре для данного приложения: HKEY_USERS\.DEFAULT\Software\DIGISPOT II\LOG_Analyser
В реестре приложение хранит данные о наблюдаемых ей файлах, дату и время начала наблюдения и последнюю считанную позицию по каждому файлу. Программа получает данные из файлов в случае, если размер файла стал больше последней считанной позиции и дата начала отслеживания входит в отслеживаемый временной период. Если дата и время начала отслеживания перестает входить во временной период, записи о этих файлах из реестра удаляются и изменения в соответствующих им файлах более программой не отслеживаются.
Также в реестре, в разделе HKEY_USERS\.DEFAULT\Software\DIGISPOT II\LOG_Analyser\Settings, хранятся настройки приложения (путь к лог файлам, логические выражения по каждой из групп).
Диагностика неисправности работы приложения¶
Если возникают проблемы с работой данной службы, необходимо первым делом проанализировать лог файлы данного приложения, либо записи системного журнала, раздел LOG Analyser (если таковые были) и согласно требованиям в тексте данных сообщениях выполнить соответствующие действия. Основные проблемы, которые могут возникнуть:
1. Не был указан путь к лог файлам;
- Одно или несколько логических выражений записаны с ошибкой;
- Пользователь, запустивший на выполнение данное приложение не имеет достаточно прав, дающих возможность приложению писать в системный реестр и журнал.