Udostępnij za pośrednictwem


Gromadzenie danych diagnostycznych i danych dotyczących wydajności funkcji IntelliTrace w środowisku produkcyjnym za pomocą programu Microsoft Monitoring Agent

Aplikacje 2013 błędy, problemy z wydajnością lub innych problemów i programu SharePoint 2010, aplikacji sieci web ASP.NET hostowanej w programie IIS można monitorować lokalnie przy użyciu agenta Microsoft Monitoring Agent.Zdarzenia diagnostyczne od agenta można zapisać w pliku dziennika (.iTrace) IntelliTrace.Następnie możesz otworzyć dziennika w Visual Studio Ultimate 2013 do debugowania problemów ze wszystkich narzędzi diagnostycznych programu Visual Studio.Można również zbierać dane diagnostyczne IntelliTrace i metody danych uruchomić agenta w śledzenia trybu.Microsoft Monitoring Agent można zintegrować z Application Insights i menedżera operacji centrum systemowego.Microsoft Monitoring Agent wpływu środowiska systemu docelowego podczas instalacji.

[!UWAGA]

Możliwe jest również zbieranie danych diagnostycznych i metody IntelliTrace dla sieci web, Sharepoint, WPF i formularza aplikacji systemu Windows na komputerach zdalnych bez zmiany środowiska docelowego przy użyciu autonomiczny moduł zbierający IntelliTrace.Autonomiczny moduł zbierający ma wpływ na wydajność większa niż uruchomienie agenta Microsoft Monitoring Agent Monitor trybu.Zobacz Gromadzenie danych diagnostycznych w środowisku produkcyjnym przy użyciu autonomicznego modułu zbierającego dane funkcji IntelliTrace.

Jeśli używasz programu System Center 2012, za pomocą agenta Microsoft Monitoring Agent programu Operations Manager umożliwia otrzymywać alerty o problemie i tworzenie elementów pracy programu Team Foundation Server z łącza do zapisanych dzienników IntelliTrace.Następnie można przypisać te elementy pracy do innych osób do dalszego debugowania.Zobacz integracji programu Operations Manager o programowaniu i monitorowania z firmą Microsoft Monitoring Agent.

Przed rozpoczęciem, należy sprawdzić, czy zgodne źródło i symbole dla kodu wbudowanych i wdrożone.Dzięki temu możesz przejść bezpośrednio do kodu aplikacji, po ponownym uruchomieniu debugowania i przeglądania diagnostyczne zdarzenia w dzienniku IntelliTrace.Konfigurowanie kompilacji tak, aby program Visual Studio może automatycznie znaleźć i otworzyć zgodne źródło dla wdrożonych kodu.

  1. Skonfiguruj agenta Microsoft Monitoring Agent.

  2. Rozpocznij monitorowanie aplikacji.

  3. Zapisz zarejestrowane zdarzenia.

Krok 1: Konfigurowanie agenta Microsoft Monitoring Agent

Skonfiguruj agenta autonomiczny na serwerze sieci web można wykonać lokalne monitorowania bez zmiany aplikacji.Jeśli używasz programu System Center 2012, zobacz instalowania agenta Microsoft Monitoring Agent.

Skonfiguruj agenta autonomiczny

  1. Upewnij się, że:

    • Jest uruchomiona na serwerze sieci web obsługiwane wersje programu Internetowe usługi informacyjne (IIS).

    • Serwer sieci web ma .NET Framework 3.5, 4 lub 4.5.

    • Na serwerze sieci web jest uruchomiony Windows PowerShell 3.0 lub nowszy.Gdzie kierować Windows PowerShell 2.0?

    • Musisz mieć uprawnienia administratora na serwerze sieci web, aby uruchomić polecenia programu PowerShell i recyklingu puli aplikacji podczas uruchamiania monitorowania.

    • Zostały odinstalowane wszelkie wcześniejsze wersje pakietu Microsoft Monitoring Agent.

  2. Pobierz bezpłatne agenta Microsoft, wersja 32-bitowa MMASetup i386.exe lub 64-bitowej wersji MMASetup AMD64.exe, z Microsoft Download Center, aby na serwerze sieci web.

  3. Uruchom pobrany plik wykonywalny, aby uruchomić Kreatora instalacji.

  4. Utwórz katalog bezpiecznego na serwerze sieci web do przechowywania dzienników IntelliTrace, na przykład C:\IntelliTraceLogs.

    Upewnij się, utworzyć ten katalog, przed rozpoczęciem monitorowania.Aby uniknąć spowalniania pracy aplikacji, należy wybrać lokalizację na lokalnym dysku szybkich, który nie jest bardzo aktywne.

    Uwaga dotycząca zabezpieczeńUwaga dotycząca zabezpieczeń

    IntelliTrace Dzienniki mogą zawierać dane osobowe i poufne.Ograniczenia tego katalogu do tylko tożsamości, które musi pracować z plikami.Sprawdź zasady zachowania poufności informacji firmy użytkownika.

  5. Uruchom szczegółowy poziom funkcji monitorowania lub do monitorowania aplikacji programu SharePoint oddać puli aplikacji, który jest hostem sieci web aplikacji lub aplikacji programu SharePoint Odczyt i zapis do katalogu dzienników IntelliTrace.Jak skonfigurować uprawnienia dla puli aplikacji?

Pytania i odpowiedzi

Pyt gdzie kierować Windows PowerShell 2.0?

Odp zdecydowanie zaleca się użycie programu PowerShell 3.0.W przeciwnym razie należy zaimportować poleceń cmdlet programu PowerShell agenta Microsoft Monitoring każdym razem, gdy uruchamiania programu PowerShell.Ponadto nie mają dostępu do treści pomocy do pobrania.

  1. Otwórz programu Windows PowerShell lub Windows PowerShell ISE okna wiersza polecenia jako administrator.

  2. Importuj modułu Microsoft Monitoring Agent PowerShell z domyślną lokalizację instalacji:

    PS C:>Import-Module "C:\Program Files\Microsoft Monitoring Agent\Agent\PowerShell\Microsoft.MonitoringAgent.PowerShell\Microsoft.MonitoringAgent.PowerShell.dll"

  3. Odwiedź witrynę TechNet , aby uzyskać najnowsze zawartość pomocy.

Pyt jak skonfigurować uprawnienia dla puli aplikacji?

Odp użyć Windows icacls polecenia lub za pomocą Eksploratora systemu Windows (lub Eksploratora pliku).Na przykład:

  • Aby skonfigurować uprawnienia z systemem Windows icacls polecenia:

    • Dla aplikacji sieci web w DefaultAppPool puli aplikacji:

      / GRANT "C:\IntelliTraceLogs" icacls "APPPOOL\DefaultAppPool usług IIS": RX

    • Dla aplikacji programu SharePoint w programu SharePoint — 80 puli aplikacji:

      / GRANT "C:\IntelliTraceLogs" icacls "IIS APPPOOL\SharePoint - 80": RX

    —lub—

  • Aby skonfigurować uprawnienia z Eksploratora systemu Windows (lub Eksplorator plików):

    1. Otwórz właściwości dla katalogu dzienników IntelliTrace.

    2. Na zabezpieczeń kartę, wybierz edytować, Dodaj.

    3. Upewnij się, że wbudowane zabezpieczenia główne pojawia się w wybierz ten typ obiektu pola.Jeśli nie ma, wybierz obiekty typu ją dodać.

    4. Upewnij się, że na komputerze lokalnym jest widoczny w w tej lokalizacji pola.Jeśli nie ma, wybierz lokalizacje jego zmiany.

    5. W wprowadź nazwy obiektów do wybrania pozycję Dodaj pulę aplikacji dla aplikacji sieci web lub aplikacji programu SharePoint.

    6. Wybierz Sprawdź nazwy do rozpoznania nazwy.Wybierz przycisk OK.

    7. Upewnij się, pulę aplikacji ma odczytu & Wykonaj uprawnienia.

Krok 2: Rozpocznij monitorowanie aplikacji

Użyj programu Windows PowerShell Start-WebApplicationMonitoring polecenie Rozpocznij monitorowanie aplikacji.Jeśli używasz programu System Center 2012, zobacz monitorowania aplikacji sieci Web za pomocą agenta Microsoft Monitoring Agent.

  1. Na serwerze sieci web, otwórz programu Windows PowerShell lub Windows PowerShell ISE okna wiersza polecenia jako administrator.

    Otwórz Windows PowerShell jako administrator

  2. Uruchom Start-WebApplicationMonitoring polecenie Rozpocznij monitorowanie aplikacji.Uruchom ponownie wszystkie aplikacje sieci web na serwerze sieci web.

    Oto skróconej składni:

    Start-WebApplicationMonitoring"<appName>"<monitoringMode>"<outputPath>"<UInt32>"<collectionPlanPathAndFileName>"

    Oto przykład, w którym jest używana tylko nazwa aplikacji sieci web i niewielkich Monitor tryb:

    PS C:\>Start-WebApplicationMonitoring "Fabrikam\FabrikamFiber.Web" Monitor "C:\IntelliTraceLogs"

    Oto przykład korzystającego ścieżka programu IIS i niewielkich Monitor tryb:

    PS C:\>Start-WebApplicationMonitoring "IIS:\sites\Fabrikam\FabrikamFiber.Web" Monitor "C:\IntelliTraceLogs"

    Po uruchomieniu monitorowania, możesz zobaczyć pause agenta Microsoft Monitoring Agent podczas ponownego uruchomienia aplikacji.

    Uruchomić monitorowania z potwierdzeniem MMA

    "< nazwa aplikacji >"

    Określ ścieżkę do nazwy aplikacji sieci web i witryny sieci web w usługach IIS.Może również zawierać ścieżkę usług IIS, w razie potrzeby.

    "< IISWebsiteName > \ < IISWebAppName >"

    —lub—

    "IIS:\sites\ < IISWebsiteName > \ < IISWebAppName > "

    Ta ścieżka można znaleźć w Menedżerze usług IIS.Na przykład:

    Ścieżka do witryny sieci web usług IIS i aplikacji sieci web

    Można również użyć Get-witryny sieci Web i uzyskać aplikacji sieci Web polecenia.

    < monitoringMode >

    Określ tryb monitorowania:

    • Monitor: Rejestrowania minimalne szczegółów dotyczących zdarzeń wyjątków i zdarzeń wydajności.W tym trybie używana domyślna plan zbierania danych.

    • Trace: Zarejestrować szczegóły na poziomie funkcji lub monitorowania programu SharePoint 2010 i SharePoint 2013 aplikacji za pomocą planu określonej kolekcji.W tym trybie może uniemożliwić aplikacji wykonywania wolniej.

      • Upewnij się, że pula aplikacji ma uprawnienia odczytu i zapisu do katalogu dzienników IntelliTrace.

      • Jak uzyskać największą ilością danych bez spowalniania pracy mojej aplikacji

      W tym przykładzie rejestruje zdarzenia aplikacji programu SharePoint, pracujących w witrynie programu SharePoint:

      Start-WebApplicationMonitoring "FabrikamSharePointSite\FabrikamSharePointApp" Trace "C:\Program Files\Microsoft Monitoring Agent\Agent\IntelliTraceCollector\collection_plan.ASP.NET.default.xml" "C:\IntelliTraceLogs"

    • Custom: Plan niestandardowy szczegóły rekordu przy użyciu określonej kolekcji niestandardowych.Konieczne będzie ponowne uruchomienie monitorowania, gdy edytujesz plan zbierania danych po monitorowanie zostało już rozpoczęte.

    "< outputPath >"

    Określ pełną ścieżką do przechowywania dzienników IntelliTrace.Upewnij się, utworzyć ten katalog, przed rozpoczęciem monitorowania.

    < UInt32 >

    Określ maksymalny rozmiar dziennika IntelliTrace.Domyślny maksymalny rozmiar dziennika IntelliTrace jest 250 MB.

    Gdy dziennika osiągnie ten limit, agent zastępowanie najwcześniejszą wpisów, aby zwiększyć ilość miejsca dla więcej wpisów.Aby zmienić ten limit, należy użyć -MaximumFileSizeInMegabytes opcji lub edytować MaximumLogFileSize atrybutu w planie kolekcji.

    "< collectionPlanPathAndFileName >"

    Określ pełną ścieżkę lub ścieżkę względną i nazwę pliku plan zbierania danych.Ten plan jest plikiem .xml, który służy do konfigurowania ustawień agenta.

    Plany te są uwzględniane przy użyciu agenta i pracy z aplikacji sieci web i aplikacji programu SharePoint:

    • collection_plan.asp.NET.default.XML

      Zbiera tylko zdarzenia, takie jak wyjątki, zdarzeń wydajności, wywołania bazy danych i żądań serwera sieci Web.

    • collection_plan.asp.NET.trace.XML

      Zbiera wywołań funkcji na poziomie oraz wszystkie dane w planie kolekcji domyślny.Ten plan dotyczy szczegółowej analizy, ale może spowolnić działanie aplikacji.

    Zlokalizowane wersje plany te można znaleźć w podfolderach agenta.Można również dostosować te plany lub tworzyć własne plany w celu uniknięcia spowolnieniem aplikacji.Udostępnij wszystkie niestandardowe plany w bezpiecznej lokalizacji agenta.

    Inne sposoby uzyskać najbardziej danych bez spowalniania pracy mojej aplikacji?

    For the more information about the full syntax and other examples, run the get-help Start-WebApplicationMonitoring –detailed command or the get-help Start-WebApplicationMonitoring –examples command.

  3. Aby sprawdzić stan wszystkich monitorowane aplikacje sieci web, uruchom Get-WebApplicationMonitoringStatus polecenia.

Pytania i odpowiedzi

P: jak uzyskać największą ilością danych bez spowalniania pracy mojej aplikacji?

Odp agenta Microsoft Monitoring Agent może zbierać dużej ilości danych i wpływa na wydajność swoją aplikację w zależności od tego, czy dane, które zbierania i jak zbierać.Oto kilka sposobów można uzyskać największą ilością danych bez spowalniania pracy aplikacji:

  • W przypadku aplikacji sieci web i aplikacji programu SharePoint agent rekordy danych dla każdej aplikacji, która udostępnia określonej puli aplikacji.Może to spowolnić dowolna aplikacja, który udostępnia tej samej puli aplikacji, nawet jeśli można ograniczyć kolekcji do modułów dla pojedynczej aplikacji.Aby uniknąć spowalniania pracy innych aplikacjach, hosta poszczególnych aplikacji w własnej puli aplikacji.

  • Przejrzyj zdarzenia, dla których agent służy do zbierania danych w planie kolekcji.Edytuj plan zbierania danych, aby wyłączyć zdarzenia, które nie są istotne lub nie Cię interesują.Może to poprawić wydajność uruchamiania i wydajności w czasie wykonywania.

    Aby wyłączyć zdarzenia, należy ustawić enabled atrybutu dla <DiagnosticEventSpecification> elementu do false:

    <DiagnosticEventSpecification enabled="false">

    Jeśli enabled nie istnieje atrybut, zdarzenie jest aktywne.

    Na przykład:

    • Wyłącz zdarzenia przepływu pracy systemu Windows dla aplikacji, które nie używam programu Windows Workflow.

    • Wyłącz zdarzenia rejestru dla aplikacji, które dostępu do rejestru, ale nie pokazuj problemów dotyczących ustawień rejestru.

  • Przejrzyj modułów, dla których agent służy do zbierania danych w planie kolekcji.Edytuj plan zbierania danych, aby uwzględnić modułów, którymi się interesujesz.

    Zmniejsza to ilość informacji wywołanie metody i innych danych instrumentacji, która gromadzi agenta, gdy aplikacja zostaje uruchomiona i wykonuje.Te dane pomaga śledzić wykonywania kodu podczas debugowania i wyświetleniu wartości przekazywane do i zwrócone w wyniku wywołania funkcji.

    1. Otwórz plan zbierania danych.Znajdź <ModuleList> elementu.

    2. W <ModuleList>, ustaw isExclusionList atrybutu do false.

    3. Użyj <Name> elementu, aby określić poszczególnych kursach z jedną z następujących: Nazwa pliku, wartość ciągu, aby uwzględnić dowolny moduł, którego nazwa zawiera ciąg lub klucza publicznego.

    W tym przykładzie tworzy listę, która gromadzi dane tylko z modułem głównego Fabrikam Fiber aplikacji sieci web:

    <ModuleList isExclusionList="false">
       <Name>FabrikamFiber.Web.dll</Name>
    </ModuleList>
    

    Były zbierane dane z dowolnego modułu, którego nazwa zawiera "Fabrikam", należy utworzyć listę, takich jak ta:

    <ModuleList isExclusionList="false">
       <Name>Fabrikam</Name>
    </ModuleList>
    

    Były zbierane dane z modułów, określając ich tokeny klucza publicznego, Utwórz listę, takich jak ta:

    <ModuleList isExclusionList="false">
       <Name>PublicKeyToken:B77A5C561934E089</Name>
       <Name>PublicKeyToken:B03F5F7F11D50A3A</Name>
       <Name>PublicKeyToken:31BF3856AD364E35</Name>
       <Name>PublicKeyToken:89845DCD8080CC91</Name>
       <Name>PublicKeyToken:71E9BCE111E9429C</Name>
    </ModuleList>
    

    Pyt Dlaczego nie tylko wykluczenia modułów zamiast tego?

    Odp domyślnie plany gromadzenia wykluczenia modułów przez ustawienie isExclusionList atrybutu do true.Jednakże to może nadal zbierać dane z modułów, które nie spełniają kryteria listy lub które nie interesujących Cię, takich jak modułów innych firm lub typu open source.

Pyt.: jakie wartości witryna zbieranie agenta?

Odp To zmniejszyć wpływ na wydajność, agent zbiera tylko następujące wartości:

  • Typy pierwotne dane, które są przekazywane do i zwrócony z metody

  • Typy danych pierwotnych w polach najwyższego poziomu obiektów przekazany do i zwrócony z metody

Załóżmy, że masz AlterEmployee podpis metody, który akceptuje liczbą całkowitą id i Employee obiektu oldemployee:

public Employee AlterEmployee(int id, Employee oldemployee)

Employee Typu ma następujące atrybuty: Id, Name, i HomeAddress.Istnieje relacja skojarzenia między Employee i Address typu.

Relacja między pracownika i adres

Agent rejestruje wartości dla id, Employee.Id, Employee.Name i Employee obiekt zwrócony w wyniku AlterEmployee metody.Jednak agenta nie zapisuje informacje o Address innych obiektów niż określa, czy jest zerowy lub nie.Agent również nie zapisuje dane dotyczące zmienne lokalne w AlterEmployee metody Jeśli inne metody te zmienne lokalne jest używana jako parametry, w którym są rejestrowane jako parametry metody.

Krok 3: Zapisz zarejestrowane zdarzenia

Po znalezieniu błędu lub problemu z wydajnością, Zapisz zdarzenia zarejestrowane w dzienniku IntelliTrace.Agent tworzy dziennik tylko wtedy, gdy jest on rejestrowane zdarzenia.Jeśli używasz programu System Center 2012, zobacz monitorowania aplikacji sieci Web za pomocą agenta Microsoft Monitoring Agent.

Zapisz zarejestrowane zdarzenia, ale nadal monitorowania

Jeśli chcesz utworzyć dziennik IntelliTrace, ale nie chcesz ponownie uruchomić aplikacji lub Zatrzymaj monitorowanie, wykonaj następujące kroki.Agent jest nadal monitorowania, nawet jeśli serwer lub aplikacja zostanie uruchomiony ponownie.

  1. Na serwerze sieci web Otwórz okno poleceń programu Windows PowerShell jako administrator.

  2. Uruchom punktu kontrolnego WebApplicationMonitoring polecenie, aby zapisać migawki IntelliTrace dziennika:

    Checkpoint-WebApplicationMonitoring"< IISWebsiteName > \ < IISWebAppName >"

    —lub—

    Checkpoint-WebApplicationMonitoring "IIS:\sites\ < IISWebsiteName > \ < IISWebAppName > "

    Na przykład:

    PS C:\>Checkpoint-WebApplicationMonitoring "Fabrikam\FabrikamFiber.Web"

    —lub—

    PS C:\>Checkpoint-WebApplicationMonitoring "IIS:\sites\Fabrikam\FabrikamFiber.Web"

    For more information, run the get-help Checkpoint-WebApplicationMonitoring –detailed command or the get-help Checkpoint-WebApplicationMonitoring –examples command.

  3. Kopiuj dziennika do bezpiecznego folder udostępniony, a następnie otwórz dziennik z komputera, który ma programu Visual Studio Ultimate 2013.

    Uwaga dotycząca zabezpieczeńUwaga dotycząca zabezpieczeń

    Należy zachować ostrożność podczas udostępniania dzienników IntelliTrace, ponieważ mogą zawierać dane osobowe i poufne.Upewnij się, kto może uzyskać dostęp do tych dzienników ma uprawnienia do wyszukiwania w danych.Sprawdź zasady zachowania poufności informacji firmy użytkownika.

Next:Diagnose recorded events in Visual Studio Ultimate 2013

Zapisz zarejestrowane zdarzenia i Zatrzymaj monitorowanie

Jeśli chcesz, aby uzyskać informacje diagnostyczne podczas odtwarzania konkretnego problemu, wykonaj następujące kroki.Uruchom ponownie wszystkie aplikacje sieci web na serwerze sieci web.

  1. Na serwerze sieci web Otwórz okno poleceń programu Windows PowerShell jako administrator.

  2. Uruchom Stop-WebApplicationMonitoring polecenie, aby utworzyć dziennik IntelliTrace i Zatrzymaj monitorowanie aplikacji sieci web określonych:

    Stop-WebApplicationMonitoring"< IISWebsiteName > \ < IISWebAppName >"

    —lub—

    Stop-WebApplicationMonitoring "IIS:\sites\ < IISWebsiteName > \ < IISWebAppName > "

    Lub Zatrzymaj monitorowanie wszystkich aplikacji sieci web:

    Stop-WebApplicationMonitoring -All

    Na przykład:

    PS C:\>Stop-WebApplicationMonitoring "Fabrikam\iFabrikamFiber.Web"

    —lub—

    PS C:\>Stop-WebApplicationMonitoring "IIS:\sites\Fabrikam\FabrikamFiber.Web"

    For more information, run the get-help Stop-WebApplicationMonitoring –detailed command or the get-help Stop-WebApplicationMonitoring –examples command.

  3. Kopiuj dziennika do bezpiecznego folder udostępniony, a następnie otwórz dziennik z komputera, który ma programu Visual Studio Ultimate 2013.

Next:Diagnose recorded events in Visual Studio Ultimate 2013

Pytania i odpowiedzi

Pyt gdzie mogę uzyskać więcej informacji?

Blogi

Wprowadzenie do programu Microsoft Monitoring Agent

Optymalizacja kolekcji IntelliTrace na serwerach produkcyjnych

Fora

Diagnostyka programu Visual Studio