Обзор сбора данных диагностики в службах Business Connectivity Services (SharePoint Server 2010)

 

Применимо к: SharePoint Server 2010

Последнее изменение раздела: 2016-11-30

Проблемы, связанные с Microsoft Business Connectivity Services на серверах, где запущен Microsoft SharePoint Server 2010, и в клиентских приложениях Microsoft Office 2010, можно устранять с помощью журналов событий и журналов трассировки как на клиенте так и на сервере. Кроме того, каждой записи в журнале событий или журнале трассировки назначен идентификатор действия, который можно использовать для отслеживания проблемы от клиента или сервера и до внешнего источника данных.

Примечание

Кроме обсуждаемых в этом разделе методов ведения журнала, можно воспользоваться пакетом управления Microsoft System Center Operations Manager для контроля решения на основе служб Microsoft Business Connectivity Services. Дополнительные сведения о настройке пакета управления System Center Operations Manager см. в руководстве, входящем в комплект загрузки пакета управления Microsoft SharePoint 2010 Products Management Pack (https://go.microsoft.com/fwlink/?linkid=184971&clcid=0x419).

Содержание:

  • Сбор данных диагностики в службах Business Connectivity Services

  • Сведения об идентификаторах действий

  • Сбор данных диагностики на сервера

  • Сбор данных диагностики на клиентах Office 2010

  • Пример. Использование сбора данных диагностики

Сбор данных диагностики в службах Business Connectivity Services

Для решений, основанных на Microsoft Business Connectivity Services, сбор данных диагностики выполняется как на серверах, на которых запущен SharePoint Server 2010, так и на клиентах Office 2010. Существует два журнала: журнал событий и журнал трассировки. В оба эти журнала записываются сведения диагностики, создаваемые Microsoft Business Connectivity Services. В журналы событий записываются сообщения об ошибках. Журналы трассировки содержат более подробные сведения, например трассировки стека и информационные сообщения. Обычно журналы трассировки предоставляют больше подробностей, чем журналы событий.

Каждый занесенный в журнал элемент информации включает идентификатор действия, который является уникальным значением GUID. При выполнении с элементом операций Create, Update или Delete идентификатор действия можно отправить на внешние системы. Идентификаторы действия позволяют осуществить трассировку действия от клиента или сервера и до внешнего источника данных. Дополнительные сведения об идентификаторах действия см. в разделе Сведения об идентификаторах действий.

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

Уровни для журнала событий

Уровень Определение

Нет

Записи в журнале отсутствуют.

Критический

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

Ошибка

Это сообщение указывает на наличие срочного условия. Необходимо изучить все события ошибок.

Предупреждение

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

Уведомление

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

Подробный

Этот уровень ведения журнала соответствует длительным событиям или длинным сообщениям.

Уровни для журнала трассировки

Уровень Определение

Нет

В журнале трассировки отсутствуют записи.

Непредвиденный

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

Наблюдаемый

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

Высокий

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

Средний

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

Подробный

При установке этого уровня в журнале фиксируются сообщения на всех других уровнях. В этом случае записываются практически все выполняемые действия. При подробной трассировке формируется множество сообщений журнала. Обычно этот уровень используется только для отладки в среде разработки.

Журналы диагностики полезны как в среде разработки, так и в производственной среде, однако в зависимости от типа условий требования к уровню ведения журналов могут отличаться. При планировании сбора данных диагностики в службах Microsoft Business Connectivity Services рекомендуется учесть потребности бизнеса и этап жизненного цикла среды и лишь затем задавать уровень ведения журнала.

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

Сведения об идентификаторах операций

Уникальное значение GUID, которое называется идентификатором действия, создается на сервере и клиенте Office для каждой операции Create, Update или Delete, выполняемой с внешними данными в решении, основанном на Microsoft Business Connectivity Services. Все записываемые в журнал событий или журнал трассировки сведения, которые связаны с указанной операцией, включают в себя значение ее идентификатора действия.

Важно!

В файлах журналов событий и журналов трассировки на сервере значения идентификатора действия помечаются как значения "CorrelationId".

Значение идентификатора действия, созданное для операции Create, Update или Delete, отправляется на внешнюю систему вместе с другими сведениями об операции. Если внешняя система имеет механизм сбора данных, это значение может быть захвачено и внесено в журнал на этой системе. Таким образом, если операция вызывает создание записей в журналах на сервере SharePoint или клиенте Office, то можно выполнить трассировку этой операции до внешней системы с помощью значения идентификатора действия. Это облегчает сквозную диагностику проблем.

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

Совет

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

Сбор данных диагностики на серверах

По умолчанию на серверах SharePoint Server включено ведение журналов служб Microsoft Business Connectivity Services. По умолчанию используются следующие уровни ведения журнала.

  • Для журнала событий: "Критический" и "Ошибка".

  • Для журнала трассировки: "Средний".

Если сбор данных диагностики служб Microsoft Business Connectivity Services отключается, включите его, выбрав Business Connectivity Services на странице "Сбор данных диагностики" в центре администрирования SharePoint Server. Для настройки журналов событий и журналов трассировки на сервере можно воспользоваться Windows PowerShell. Например, можно изменить диск, на который записываются данные, или задать уровень подробности ведения журнала.

Дополнительные сведения о ведении журналов в SharePoint Server, например об установке расположения файлов журнала, см. в разделе Configure diagnostic logging (SharePoint Server 2010).

Windows PowerShell можно использовать для просмотра журналов событий на сервере, кроме того, эти журналы можно экспортировать, например, в редактор электронных таблиц. Дополнительные сведения см. в статье Просмотр журналов диагностики (SharePoint Server 2010).

Microsoft Business Connectivity Services вводит в журнал трассировки на интерфейсных веб-серверах SharePoint Server две категории: BDC_Shared_Services и SS_Shared_Service. Журнал трассировки открывается с помощью средства просмотра событий, после чего выполняется фильтрация связанных записей журнала по условию поиска "SPS_BusinessData" (для результатов Microsoft Business Connectivity Services) и "SPS_SecureStoreService".

Сбор данных диагностики на клиентах Office 2010

Журналы событий и журналы трассировки для решений Microsoft Business Connectivity Services доступны на клиентах Microsoft Office 2010, использующих инфраструктуру Microsoft Business Connectivity Services. По умолчанию ведений журнала событий для Microsoft Business Connectivity Services на клиентах включено. Однако для обеспечения высокой производительности записываются данные только для ошибок и критических ошибок, при чем эту настройку нельзя изменить. На клиентских компьютерах Windows доступно средство просмотра событий, которое можно использовать для просмотра журналов событий. Дополнительные сведения о просмотре журналов событий для определенной версии Windows см. в документации к продукту.

Ведение журнала трассировки на клиентских компьютерах по умолчанию отключено в целях повышения производительности. Ведение журнала трассировки на клиентских компьютерах следует включать только в том случае, если возникли проблемы и требуется провести их диагностику. Например, если запись журнала событий указывает на ошибку, которую могли вызвать действия, связанные с Microsoft Business Connectivity Services, включите ведение журнала трассировки для сбора дополнительных данных при следующем возникновении этого события.

Способ включения ведения журнала трассировки и чтения журналов зависит от установленной на компьютере версии операционной системы Windows. Например, на компьютерах под управлением ОС Windows XP трассировка включается посредством запуска скрипта, использующего команду logman. В ОС Windows Vista и последующих версий в дополнение к команде logman доступны служебные программы, такие как монитор надежности и производительности. Дополнительные сведения о том, как включить трассировку и выполнить захват результатов, см. в документации к продукту Windows.

В следующем образце скрипта для включения трассировки используется команда logman:

rem This script will enable logging, directing log messages to a file specified by the "%FILE_NAME%" given by the user.

@setlocal
@echo off
pushd %~dp0
set PATH_NAME=%TEMP%\BCS
set FILE_NAME=%PATH_NAME%\ETWTraceLog
set TRACE_COLLECTION=BCS
::tracelog -start BCS -guid #b8622a02-c377-46b1-b861-38a787a8e44a -b 128 -flags 0xFFFF -level 5 -f "%FILE_NAME%.etl"
md "%PATH_NAME%" 1>nul 2>nul
logman create trace %TRACE_COLLECTION% -p "{b8622a02-c377-46b1-b861-38a787a8e44a}" 0xFFFF 5 -o "%FILE_NAME%.etl" -ets
echo.
echo Business Connectivity Services tracing has been started. To end press any key.
echo.
pause

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

Важно!

Поскольку требуемая версия трассировки событий для программного интерфейса Windows, от которого зависит создание идентификатора действия, в операционной системе Windows XP не доступна, на клиентах, работающих под управлением ОС Windows XP, создание идентификатора действия не поддерживается.

Пример. Использование сбора данных диагностики.

В данном небольшом упрощенном сценарии показано использование сбора данных диагностики в производственной среде. Предприятие развернуло новое решение по отправке карт табельного учета на основе Microsoft Business Connectivity Services. В этом решении используется внешняя система для хранения сведений табельного учета сотрудников, таких как время отпуска, пребывание на больничном, а также для взаимодействия с сотрудниками и системой оплаты, когда сотрудники отправляют объяснительные записки об отсутствии на работе. Для взаимодействия с системой работники применяют веб-части.

Для Microsoft Business Connectivity Services в ферме серверов уровням ведения журнала заданы значения по умолчанию:

  • Для журнала событий: "Критический" и "Ошибка".

  • Для журнала трассировки: "Средний".

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

Специалист технической поддержки выясняет, что приложение по работе с картами табельного учета основано на службах Microsoft Business Connectivity Services. Он проверяет журнал событий, но не находит ошибок, связанных с подлинностью пользователя в момент отправки им запроса. Затем он проверяет журнал трассировки, где находит подтверждение деятельности: операция обновления, которая связанная с пользователем и выполнена в соответствующее время. Операция обновления в журнале трассировки содержит значение идентификатора операции, который фиксируется специалистом службы техподдержки.

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

See Also

Concepts

Monitoring overview (SharePoint Server 2010)
Configure diagnostic logging (SharePoint Server 2010)
Обзор служб Business Connectivity Services (SharePoint Server 2010)