1

, мы только что добавили Application Insights к нашему приложению WebAPI 2.2, и он выглядит как победитель. Однако у нас есть некоторые контроллеры, которые получают конфиденциальную информацию, которую мы не можем хранить в соответствии с правилами соблюдения, даже в Application Insights. Мы хотим захватить события отслеживания уровня информации на некоторых наших контроллерах, но нам не нужно захватывать или скрывать информацию при отправке через другие контроллеры. Может ли кто-нибудь предложить способ, которым мы можем это достичь?Ограниченные или неясные данные, присланные в Application Insights

+0

Не могли бы вы немного подробнее рассказать? Вы хотите не собирать данные запроса для запросов к конкретным контроллерам? Или не собирать некоторые поля запроса? – tomasr

+0

Мы собираем информацию TRACE со всех контроллеров. Некоторые из событий TRACE включают полезную нагрузку json. Это полезно для некоторых контроллеров, но на других контроллерах полезная нагрузка содержит конфиденциальную информацию, которую мы НЕ ДОЛЖНЫ хранить из-за наших требований соответствия. Нам нужен способ отключения информации о приложениях для этих конкретных событий. –

+0

Вы имеете в виду использование пакета Microsoft.ApplicationInsights.TraceListener? – tomasr

ответ

1

Я задал тот же вопрос на веб-сайте Azure MS и получил ответ, который хорошо работает.

Любой, кто ищет здесь ответ, должен посмотреть там.

https://azure.microsoft.com/en-us/documentation/articles/app-insights-get-started/#comment-2309233065

+0

этот комментарий больше не существует, какой ответ они вам дали? Было ли о https://docs.microsoft.com/en-us/azure/application-insights/app-insights-api-filtering-sampling#filtering? – dgaspar

+0

Привет, @dgaspar. Комментарий касался версии 1 приложений, которая, вероятно, почему ее больше нет. Я не могу вспомнить подробные сведения, и я переместил работу, так как я разместил этот вопрос. Ссылка, которую вы указали, предназначена для версии> = 2. Похоже, она должна делать именно то, что я хотел, и я бы использовал это в то время, если он был доступен. Это похоже на хороший выбор, если ваша проблема похожа на мою. –

1

Поскольку вы используете пакет Microsoft.ApplicationInsights.TraceListener, я не думаю, что есть возможность напрямую фильтровать данные. Если вы можете добавить что-то особенное к вызову Trace.WriteXxx(), то одним из вариантов может быть реализация TraceFilter и регистрация его через вашу конфигурацию для ApplicationInsights Trace Writer.

Затем в вашем TraceFilter.ShouldTrace() вы можете проверить это специальное значение (возможно, это идентификатор события, может быть, некоторый префикс в сообщении трассировки или что-то в этом роде) и просто вернуть false, чтобы он был пропущен.

+0

Спасибо tomasr. Я рассмотрю эту идею. –