Идеальное рабочее место администратора системы DIRECTUM #4. Инструменты для анализа логов

15 5

Мы продолжаем наш цикл статей по идеальному месту администратора системы DIRECTUM. Давайте вспомним, что было в предыдущих статьях данного цикла:

Эта статья является продолжением предыдущей. В #3 мы узнали, где хранятся логи ошибок, произошедших в DIRECTUM, и как их получить. Теперь мы подберём подходящие для этого инструменты.

Чем пользоваться?

У современного администратора есть различные программы для анализа логов на все случаи жизни. На сайте сообщества уже указывались многие инструменты, которые помогут администратору анализировать логи. Давайте же вспомним эти инструменты:

  1. Для объёмных логов (>100 мб – Полезный сценарий, чтобы лог-файлы не переполнялись) можно использовать TotalCommander, т.к. он быстро подгружает содержимое экрана, и не выгружает весь документ сразу.
  2. Программа, которая автоматически парсит логи после несложной предварительной настройки, описана в статье Парсим логи DIRECTUM.
  3. Утилита AppHealth с шаблоном для обработки файлов сервера NOMAD (Следим за здоровьем NOMAD).
  4. Для логов малых объёмов можно использовать Notepad ++, т.к. в нём можно использовать синтаксисы разных языков программирования для удобного восприятия текста логов на экране (даже есть бонус: Подсветка синтаксиса ISBL в Notepad++).

Указанные инструменты были довольно подробно рассмотрены в статьях по ссылка за исключением TotalCommander и Notepad ++. Для данной статьи мы выбрали в качестве инструмента Notepad ++. Давайте посмотрим на практике как им пользоваться.

Полезные функции

В данном разделе будет рассмотрен стандартный функционал Notepad ++. Скачать данный инструмент можно с официального сайта.

Применение синтаксиса

Когда администратор открывает лог-файл, первым делом ему хочется, чтобы стек ошибки выглядел информативно. Сверху вы видите сравнение текста в Notepad ++ (с применённым синтаксисом Ada) с текстом в простом блокноте. Постарайтесь найти слово RAISE справа и слева. Становится очевидно, что с подсветкой синтаксиса в Notepad ++ это сделать намного проще.

Заметим, что указанный синтаксис хорош тем, что выделяет: кириллицу красным цветом, ключевые слова языков программирования (например, RAISE, if, else, not), слова в кавычках, дату, время и числа. Применение синтаксиса к тексту показано на рисунке ниже.

Разделение строк

Приложение умеет разделять текст по строкам – это удобно, когда каждая строка является отдельным стеком ошибки, и можно посмотреть дату и время возникновения всех ошибок, чтобы найти были ли ошибки в определённый период времени. Если нужно, чтобы строки помещались в экран, то Notepad ++ может их переносить (Вид -> Перенос строк). Тогда одна строка сама разделится на несколько строк на экране, если её содержимое не умещается в размер окна Notepad ++:

Работа с текстом

Также приложение может подсвечивать выделенные слова во всём документе. Для этого достаточно даблкликнуть по слову, и программа сама подсветит все схожие слова во всём документе. Например, нужно отследить, до какого момента в стеке ошибки идут вычисления интерпретатора IS-Builder, выполняющего математические операции с переменными (показано на рисунке выше). Даблкликаем по SBInter и сразу видим, что вычисления идут практически до самого конца стека.

Меню поиска


 

Если в логах есть ошибки с одинаковым названием или просто нам нужно найти схожие операции, то можно воспользоваться поиском по всему документу: Ctrl + F –> Найти всё в текущем документе (как на рисунке выше). С помощью этой функции можно просмотреть все ошибки и время их возникновения – это удобно, когда лог-файл большой. В нашем случае мы, допустим, хотели найти, как часто запускались системные операции в стеке ошибки, получаем ответ 13 hits.

Работа с кодом программы

Из дополнительных функций можно отметить, что Notepad++ часто используют для написания небольших программ на скриптовых языках, например, python и vbs. Давайте посмотрим исходные коды проекта на C#. При открытии файла редактор сразу применит нужную подкраску синтаксиса:

Порядок анализа

Итак, с функциями редактора мы познакомились. Теперь выведем примерный план действий того, как применять их на практике.

  1. Находим лог-файл.
  2. Если лог-файл большой – открываем его в TotalCommander и находим нужный участок, который затем копируем и открываем в Notepad++. Если лог-файл меньше 100 мб – сразу открываем в Notepad++.
  3. Применяем удобный синтаксис (например, Ada).
  4. Включаем режим без переноса строк и находим нужный временной период.
  5. Отмечаем точками останова начало и конец временного периода. Чтобы установить точку останова, нужно нажать мышкой рядом с номером строки, и строка отметится.

  1. Переключаемся в режим с переносом строк, начинаем читать лог, находим ошибку.
  2. Делаем поиск всех вхождений этой ошибки в лог и определяем периодичность её проявления.
  3. Анализируем после каких действий в системе она возникает, устанавливаем причину появления ошибки.
  4. Устраняем ошибку/находим обходные варианты решения.

Итоги

Чтение лог-файлов довольно трудоёмкое занятие. Поэтому нужно применять инструменты, которые ускоряли бы работу администратору. Анализируя лог-файлы с Notepad ++, можно упростить себе работу с текстом и подсвечивать важные события, искать слова по всему файлу и пользоваться другими функциями, которые были указаны в статье. Конечно, одно только скачивание Notepad ++ не превратит вас в эксперта по логам, но облегчит эту непростую задачу однозначно. В этом деле главное – практика. Надеюсь, что рассмотренные мною функции принесут вам реальную пользу в работе и помогут вам стать идеальным администратором.

А теперь настала ваша очередь рассказывать, с помощью чего вы анализируете лог-файлы. Ответы – в комментарии.

UPD:

Выкладываю инструмент для анализа логов по вашей просьбе: SBLogViewer64SBLogViewer

15
Авторизуйтесь, чтобы оценить материал.
2
Александр Чугунов

А кто-нибудь пользуется SBLogViewer? Может кто-нибудь в курсе чей этот очень удобный софт, заточенный по Directum, и какая у него лицензия?
 

Михаил Извеков

Это внутренний инструмент отдела разработки IS-Builder. Никакой особой лицензии у него нет, т.к. наружу его не публиковали (но и делиться не запрещали).

Анатолий Придыбайло

Если делиться не запрещено, то прошу поделиться SBLogViewer, сообществу будет полезно!

Дан Олейников

присоединяюсь

а еще неплохо бы какой-нибудь инструмент для анализа клиентского профайлинга

Олег Андриянов

Выкладываю инструмент для анализа логов по вашей просьбе: SBLogViewer64, SBLogViewer

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