Поделиться через


Работа с событиями с помощью диагностики приложений

Работа с оповещениями — это стандартная часть работы с System Center — Operations Manager. Оповещения для мониторинга приложений .NET показывают информацию, которую вы узнаете из других оповещений, таких как общие сведения и знания о продукте. Однако предупреждение для приложения .NET также содержит ссылку в описании. По этой ссылке в консоли диагностики приложений открывается событие, вызвавшее предупреждение. Здесь вы можете получить гораздо более полную информацию, которая поможет вам в определении причины проблемы и способа ее устранения.

Примечание.

Для глубокой диагностики предупреждений, связанных с наблюдением за производительностью приложений, часто требуется доступ к исходному коду приложений, а также участие со стороны разработчиков. Вы можете установить пакет управления синхронизацией рабочих элементов Team Foundation Server и пересылать предупреждения на сервер Team Foundation Server, используемый командой разработчиков. Пакет управления синхронизацией рабочих элементов Team Foundation Server отслеживает и синхронизирует изменения, вносимые в рабочие элементы Team Foundation Server и соответствующие предупреждения Operations Manager.

Изучение оповещений приложений .NET

Уменьшение времени, необходимого для определения, назначения и устранения проблем, является главной целью мониторинга приложений в Operations Manager. Когда вы получите оповещение, необходимо знать, что вызвало его - система размещения приложения или кода, иметь возможность отображать данные для резервного копирования этого вывода и четко видеть, кто должен устранить проблему. Чтобы узнать, является ли это системной проблемой, необходимо знать состояние системы во время события. А чтобы найти корень проблемы, требуется проследить всю цепочку вызовов. Для дальнейшего изучения необходимо сравнить аналогичные события и связанные события, которые произошли одновременно. Сведения о событиях, счетчики производительности и распределенные цепочки в совокупности помогут вам решить, кто должен заняться этой проблемой в первую очередь. Если это системная ошибка, можно настроить доступные ресурсы или конфигурацию хост-системы и устранить проблему на уровне узла. Если это сбой приложения, проблема потребуется перейти в команду приложений вместе со строкой кода, в которой произошел сбой. Ниже описывается несколько стратегий по использованию представлений, фильтров и параметров в консоли диагностики приложений для определения источника проблемы, поиска решения и определения лиц, которые должны заняться ее устранением.

Открытие диагностики приложений из оповещения

  1. Так как вы отвечаете на оповещения, связанные с определенными группами приложений, которые вы настроили, полезно области активных оповещений и просматривать их по группам приложений. В консоли управления в области навигации выберите "Мониторинг", разверните узел "Мониторинг приложений Monitoring.NET", выберите папку с именем группы приложений, настроенной для мониторинга, оповещения которых требуется исследовать, и выберите "Активные оповещения".

  2. Дважды щелкните предупреждение, которое вы хотите открыть.

  3. На странице "Свойства генерации оповещений" выберите ссылку на панель "Описание оповещения". Откроется функция диагностики приложений, новая функция мониторинга в Operations Manager в веб-браузере. Здесь на вкладке "Свойства события" отображаются такие сведения, как метрики производительности, стек вызовов и заметки о коллекции оповещений. С помощью вкладок вы можете просмотреть аналогичные события, связанные события, цепочки событий и счетчики производительности. Эта подробная информация о событии производительности или исключения поможет вам установить, возникла ли неполадка в самом приложении, в процессе вызова веб-службы или при обращении к базе данных. Дополнительные сведения о вкладке "Свойства события" см. в сведениях о событии производительности. Нажмите кнопку "Да" , чтобы закрыть главное окно после загрузки сведений о событии.

    Примечание.

    Эта ссылка на диагностику приложений также размещена на вкладке Контекст предупреждения .

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

Устранение неполадок с помощью свойств события исключения в диагностике приложений

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

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

    • Цепочка исключения . Отображается для событий исключений. Разверните цепочку исключения, чтобы увидеть, как именно произошло исключение.

    • Данные исключения . Отображается для событий исключений и содержит параметры и переменные, заданные для класса при возникновении исключения.

    • Стек . Это стек вызовов, который показывает порядок возникновения событий. Представление дерева выполнения позволяет развернуть узлы для анализа вызовов. Нажмите переключатель "Представление группы ресурсов", чтобы просмотреть общие сведения о том, где было потрачено время. Таким образом можно узнать, на каком уровне или где возникла проблема.

    • Список модулей отображается для событий исключений и отображает модули, загруженные во время исключения.

    • Примечания . Содержит примечания к событию.

    Совет

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

Устранение неполадок с помощью свойств событий производительности в диагностике приложений

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

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

    • Самые медленные узлы . Это список самых медленных узлов в представлении дерева выполнения, которые являются наиболее вероятной причиной проблем с производительностью в приложении.

    • Стек . Это стек вызовов, который показывает порядок возникновения событий. Представление дерева выполнения позволяет развернуть узлы для анализа вызовов. Нажмите переключатель "Представление группы ресурсов", чтобы просмотреть общие сведения о том, где было потрачено время. Таким образом можно узнать, на каком уровне или где возникла проблема.

    • Примечания . Содержит примечания к событию.

Устранение неполадок состояния системы с помощью счетчиков производительности

  1. Чтобы просмотреть таблицу или схему ключевых счетчиков производительности, перейдите на вкладку счетчиков производительности.

    Примечание.

    В отслеживаемой системе собираются и кэшируются данные о производительности за последние пятнадцать минут. При возникновении производительности или исключения данные производительности отправляются обратно в Operations Manager вместе с событием.

  2. Установите флажки счетчика производительности для счетчиков производительности, которые нужно включить в сведения, и нажмите кнопку "Применить".

  3. Используйте сведения в этом отображении для оценки состояния производительности системы вокруг исследуемого события. Например, если производительность в это время была постоянно низкая, предупреждение скорее всего вызвано проблемой с производительностью системы.

Поиск корневой проблемы с помощью распределенных цепочек

  1. Перейдите на вкладку "Распределенные цепочки ", чтобы просмотреть порядок вызовов — цепочку событий, в которую входит событие. Это помогает понять, как событие, которое вы исследуете, повлияло на другие события из приложения или связанных приложений.

  2. В представлении распределенных цепочек выберите один из вызовов или ссылок в цепочке. Если для одного объекта имеется несколько событий, откроется мастер создания цепочек. Этот мастер позволяет выбрать события, которые могут быть связаны с цепочкой событий. Чтобы начать работу мастера, нажмите кнопку "Далее".

    Примечание.

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

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

  4. То, что вы видите дальше, зависит от типа проблемы, которую вы расследуете. Например, если выбрать транзакцию, в которой сервер не найден, можно перейти на страницу свойств события для этого события. Это позволит вам сопоставить ошибку сервера с событием, которые вы анализировали изначально. Так как это ошибка сервера, вы знаете, что проблема не находится на стороне клиента, а на стороне сервера. Возможно, вы увидите график выбранного события и сможете разбить событие производительности с точки зрения времени загрузки страницы.

  5. В свойствах события выберите вызов на стороне сервера и перейдите на вкладку счетчиков производительности для получения дополнительных сведений.

Устранение неполадок путем просмотра аналогичных событий

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

  2. Есть несколько способов отфильтровать аналогичные события. Выберите "Аналогично" в раскрывающемся меню, чтобы выбрать способ группировки аналогичных событий: по проблемам, действиям, классу исключений или сбою функции. В текстовых полях От и До вы можете указать диапазон дат, для которого нужно просмотреть аналогичные события. Используйте вкладку "Похожие события " для просмотра, если аналогичные оповещения были вызваны больше времени, что может означать, что в приложении возникла проблема.

    • Фильтрация по проблеме позволяет просмотреть аналогичные события того же типа. Например, можно увидеть все аналогичные события, в которых ссылка на объект не задана для экземпляра объекта. Нажмите кнопку "Представление диаграммы", и вы увидите соотношение общего количества событий для текущей проблемы и общее количество событий из других проблем. Таким образом можно быстро получить представление о серьезности проблемы, вызвавшей данное событие. Если многие из текущих аналогичных событий имеют одну и ту же проблему, это может быть более высокая приоритетная проблема, так как она будет иметь большое влияние на уменьшение количества получаемых оповещений.

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

    • При фильтрации по классу исключений аналогичные события группируются в соответствии с их именами, назначенными в ходе настройки. Предположительно, это были бы имена, которые помогут определить тип исключений, таких как класс System.NullReferenceException .

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

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

  1. Выберите вкладку "Связанные события", чтобы просмотреть события, связанные по времени. Это исключения, связанные с другими событиями, которые могут дать вам представление о проблеме.

  2. Чтобы просмотреть сведения о событии в списке, выберите ссылку в столбце "Описание ".

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

Следующие шаги