Esporta (0) Stampa
Espandi tutto
Il presente articolo è stato tradotto automaticamente. Passare il puntatore sulle frasi nell'articolo per visualizzare il testo originale. Ulteriori informazioni.
Traduzione
Originale

Monitorare le applicazioni nella distribuzione con Microsoft Monitoring Agent

È possibile monitorare localmente le applicazioni web ASP.NET ospitate da IIS e le applicazioni SharePoint 2010 o 2013 per errori, problemi di prestazioni, o altri problemi tramite Microsoft Monitoring Agent. È possibile salvare gli eventi di diagnostica dall'agente in un file di log IntelliTrace (.iTrace). È quindi possibile aprire i log in Visual Studio Ultimate 2013 per eseguire il debug dei problemi con tutti gli strumenti diagnostici di Visual Studio.

Se si utilizza System Center 2012, utilizzare anche Microsoft Monitoring Agent con Operations Manager per ottenere gli avvisi relativi ai problemi e per creare elementi di lavoro di Team Foundation Server collegati ai log IntelliTrace salvati. È quindi possibile assegnare questi elementi di lavoro ad altri per un'ulteriore debug. Vedere Integrare Operations Manager nei Processi di Sviluppo e Monitoraggio con Microsoft Monitoring Agent.

Prima di iniziare, verificare di disporre di sorgenti e simboli corrispondenti per il codice generato e distribuito. Questo consente di passare direttamente al codice dell'applicazione quando si avvia il debug e la navigazione degli eventi di diagnostica nel log IntelliTrace. Configurare le compilazioni in modo da consentire automaticamente a Visual Studio di trovare e aprire i sorgenti corrispondente al codice distribuito.

  1. Installazione di Microsoft Monitoring Agent.

  2. Avviare il monitoraggio dell'app.

  3. Salvare gli eventi registrati.

Installare l'agente autonomo sul server web per eseguire il monitoraggio locale senza modificare l'applicazione. Se si utilizza System Center 2012, vedere Installare Microsoft Monitoring Agent.

Installare l'agente autonomo

  1. Assicurarsi quanto segue:

  2. Scaricare Microsoft Monitoring Agent gratuito, la versione MMASetup-i386.exe a 32 bit o la versione MMASetup-AMD64.exe a 64 bit, dall'Area download Microsoft nel server web.

  3. Eseguire il file eseguibile scaricato per avviare l'installazione guidata.

  4. Creare una directory sicura sul server Web per l'archiviazione dei log IntelliTrace, ad esempio, C:\IntelliTraceLogs.

    Assicurarsi di creare la directory prima di iniziare il monitoraggio. Per evitare di rallentare l'applicazione, scegliere una posizione in un disco locale ad alta velocità che non è molto attivo.

    Nota sulla sicurezza Nota sulla sicurezza

    I log IntelliTrace possono contenere dati personali e riservati. Limitare questa directory solo alle identità che devono utilizzare i file. Verificare le informative sulla privacy della società.

  5. Per eseguire un dettagliato monitoraggio a livello di funzione o per monitorare le applicazioni SharePoint, fornire al pool di applicazioni che ospita l'applicazione web o SharePoint le autorizzazioni di lettura e di scrittura per la directory dei log IntelliTrace. Come è possibile configurare le autorizzazioni per il pool di applicazioni?

Hh398365.collapse_all(it-it,VS.120).gifD & R

Hh398365.collapse_all(it-it,VS.120).gifD: Che cosa accade se si dispone di Windows PowerShell 2.0?

R: è consigliabile utilizzare PowerShell 3.0. In caso contrario, sarà necessario importare i cmdlet PowerShell di Microsoft Monitoring Agent ogni volta che si esegue PowerShell. Inoltre non è possibile accedere al contenuto scaricabile della guida.

  1. Aprire una finestra del prompt dei comandi Windows PowerShell ISE o Windows PowerShell come amministratore.

  2. Importare il modulo PowerShell di Microsoft Monitoring Agent dal percorso di installazione predefinito:

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

  3. Visitare Technet per ottenere il contenuto della Guida più recente.

Hh398365.collapse_all(it-it,VS.120).gifD: Come è possibile configurare le autorizzazioni per il pool di applicazioni?

R: È possibile utilizzare il comando icacls di Windows oppure utilizzare Esplora risorse (o Esplora file). Ad esempio:

  • Per configurare le autorizzazioni con il comando icacls di Windows:

    • Per un'applicazione web nel pool di applicazioni DefaultAppPool:

      icacls "C:\IntelliTraceLogs" /grant "IIS APPPOOL\DefaultAppPool":RX

    • Per un'applicazione SharePoint nel pool di applicazioni SharePoint - 80:

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

    In alternativa

  • Per configurare le autorizzazioni con Esplora risorse (o Esplora file):

    1. Aprire Proprietà per la directory del log IntelliTrace.

    2. Nella scheda Sicurezza, selezionare Modifica, Aggiungi.

    3. Assicurarsi che Entità di sicurezza incorporate sia visualizzato nella casella Selezionare questo tipo di oggetto. Se non è visualizzato, scegliere Tipi di oggetto per aggiungerlo.

    4. Assicurarsi che il proprio computer locale sia visualizzato nella casella Da questo percorso. Se non è visualizzato, scegliere Percorsi per modificarlo.

    5. Nella casella Immettere i nomi degli oggetti da selezionare, aggiungere il pool di applicazioni per l'applicazione web o per l'applicazione SharePoint.

    6. Scegliere Controlla nomi per risolvere il nome. Scegliere OK.

    7. Assicurarsi che il pool di applicazioni disponga delle autorizzazioni Lettura & esecuzione.

Utilizzare il comando Start-WebApplicationMonitoring di Windows PowerShell per monitorare l'applicazione. Se si utilizza System Center 2012, vedere Monitoraggio di Applicazioni Web con Microsoft Monitoring Agent.

  1. Nel server web, aprire una finestra Windows PowerShell o Windows PowerShell ISE del prompt dei comandi come amministratore.

    Aprire Windows PowerShell come amministratore

  2. Eseguire il comando Start-WebApplicationMonitoring per monitorare l'applicazione. Verranno riavviate tutte le applicazioni web sul server web.

    Di seguito è riportata la sintassi breve:

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

    Di seguito è riportato un esempio che utilizza solo il nome dell'applicazione web e la modalità Monitor leggera:

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

    Di seguito è riportato un esempio che utilizza il percorso di IIS e la modalità Monitor leggera:

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

    Dopo aver iniziato il monitoraggio, Microsoft Monitoring Agent potrebbe essere sospeso durante il riavvio delle applicazioni.

    Avvio del monitoraggio con conferma MMA

    "<appName>"

    Specificare il percorso del sito web e il nome dell'applicazione web in IIS. È possibile includere anche il percorso di IIS, se si preferisce.

    "<IISWebsiteName>\<IISWebAppName>"

    In alternativa

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

    È possibile trovare il percorso in Gestione IIS. Ad esempio:

    Percorso dell'app Web e del sito Web IIS

    È inoltre possibile utilizzare i comandi Get-WebSite e Get WebApplication.

    <monitoringMode>

    Specificare la modalità di monitoraggio:

    • Monitor: Registra dettagli minimi sugli eventi di eccezione e gli eventi di prestazioni. Questa modalità utilizza il piano di raccolta predefinito.

    • Trace: Registra dettagli di livello funzione o monitora applicazioni SharePoint 2010 e SharePoint 2013 utilizzando il piano di raccolta specificato. Questa modalità potrebbe eseguire l'applicazione più lentamente.

      In questo esempio vengono registrati gli eventi per un'applicazione SharePoint ospitata in un sito SharePoint:

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

    • Custom: Registra dettagli personalizzati utilizzando un piano di raccolta personalizzato specificato. Sarà necessario riavviare il monitoraggio se si modifica il piano di raccolta dopo che il monitoraggio è stata avviato.

    "<outputPath>"

    Specificare il percorso completo della directory per archiviare i log IntelliTrace. Assicurarsi di creare la directory prima di iniziare il monitoraggio.

    <UInt32>

    Specificare la dimensione massima per il file di log. La dimensione massima predefinita del log IntelliTrace è 250 MB.

    Quando il log raggiunge il limite, l'agente sovrascrive le voci precedenti per fare spazio a ulteriori voci. Per modificare questo limite, utilizzare l'opzione -MaximumFileSizeInMegabytes o modificare l'attributo MaximumLogFileSize nel piano di raccolta.

    "<collectionPlanPathAndFileName>"

    Specificare il percorso completo o relativo e il nome del file del piano di raccolta. Questo piano è un file .xml che configura le impostazioni dell'agente.

    Questi piani vengono importati con l'agente e funzionano con le applicazioni web e applicazioni SharePoint:

    • collection_plan.ASP.NET.default.xml

      Raccoglie solo gli eventi, come eccezioni, eventi di prestazioni, chiamate a database e richieste del server Web.

    • collection_plan.ASP.NET.tr ace.xml

      Raccoglie le chiamate a livello di funzione e tutti i dati presenti nel piano di raccolta predefinito. Questo piano è adatto per l'analisi dettagliata ma potrebbe rallentare l'applicazione.

    È possibile trovare le versioni localizzate di questi piani nelle sottocartelle dell'agente. E' possibile personalizzare questi piani o crearne di propri per evitare di rallentare l'applicazione. Inserire tutti i piani personalizzati nella stessa posizione sicura dell'agente.

    In quale altra maniera è possibile ottenere il maggior numero possibile di dati senza rallentare l'applicazione?

    Per ulteriori informazioni sulla sintassi completa e altri esempi, eseguire il comando get-help Start-WebApplicationMonitoring –detailed o il comando get-help Start-WebApplicationMonitoring –examples.

  3. Per controllare lo stato di tutte le applicazioni web, eseguire il comando Get-WebApplicationMonitoringStatus.

Hh398365.collapse_all(it-it,VS.120).gifD & R

Hh398365.collapse_all(it-it,VS.120).gifD: Come è possibile ottenere il maggior numero possibile di dati senza rallentare l'applicazione?

R: Microsoft Monitoring Agent può raccogliere moltissimi dati e influisce sulle prestazioni dell'applicazione in base ai dati che si sceglie di raccogliere e a come avviene la raccolta. Di seguito sono elencati alcuni metodi per ottenere il maggior numero possibile di dati senza rallentare l'applicazione:

  • Per le applicazioni web e per le applicazioni SharePoint, l'agente registra i dati per ogni applicazione che condivide il pool di applicazioni specificato. Ciò potrebbe rallentare qualsiasi applicazione che condivide lo stesso pool di applicazioni, anche se è possibile restringere la raccolta ai moduli per una singola applicazione. Per evitare di rallentare le altre applicazioni, inserire ogni applicazione nel proprio pool di applicazioni.

  • Rivedere gli eventi per i quali l'agente colleziona dati nel piano di raccolta. Modificare il piano di raccolta disabilitando gli eventi che non sono pertinenti o non interessano. Ciò può migliorare le prestazioni di avvio e le prestazioni di runtime.

    Per disabilitare un evento, impostare l'attributo enabled per l'elemento <DiagnosticEventSpecification> a false:

    <DiagnosticEventSpecification enabled="false">

    Se l'attributo enabled non esiste, l'evento viene abilitato.

    Ad esempio:

    • Disabilitare gli eventi di Windows Workflow per le applicazioni che non utilizzano Windows Workflow.

    • Disabilitare gli eventi di registro per le applicazioni che accedono al registro di sistema ma non mostrano problemi con le impostazioni del registro di sistema.

  • Rivedere i moduli per i quali l'agente raccoglie i dati nel piano di raccolta. Modificare il piano di raccolta per includere solo i moduli che interessano.

    Questo riduce la quantità di informazioni relative alle chiamate ai metodi e altri dati di strumentazione che l'agente raccoglie durante l'avvio e l'esecuzione dell'applicazione. Questi dati consentono di scorrere il codice quando si esegue il debug e rivedere i valori passati e restituiti dalle chiamate di funzione.

    1. Aprire il piano di raccolta. Trovare l'elemento <ModuleList>.

    2. In <ModuleList> impostare l'attributo isExclusionList su false.

    3. Utilizzare l'elemento <Name> per specificare ogni modulo con uno dei seguenti elementi: nome file, valore stringa per includere i moduli il cui nome contiene la stringa e chiave pubblica.

    In questo esempio viene creato un elenco che raccoglie i dati solo dal modulo principale dell'applicazione web Fabrikam Fiber:

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

    Per raccogliere i dati da qualsiasi modulo il cui nome include "Fabrikam", creare un elenco analogo a quello riportato di seguito:

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

    Per raccogliere i dati dai moduli specificando i relativi token di chiave pubblica, creare un elenco analogo a quello riportato di seguito:

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

    D: Perché non escludere i moduli?

    R: Per impostazione predefinita, i piani di raccolta escludono i moduli impostando l'attributo isExclusionList a true. Tuttavia, anche escludendo determinati moduli è possibile che vengano raccolti dati relativi a moduli che non soddisfano i criteri dell'elenco o che non interessano, come ad esempio moduli di terze parti o open source.

Hh398365.collapse_all(it-it,VS.120).gifD: Quali valori raccoglie l'agente?

R: Per ridurre l'impatto sulle prestazioni, l'agente raccoglie unicamente i valori seguenti:

  • Tipi di dati primitivi che vengono passati e restituiti dai metodi

  • Tipi di dati primitivi nei campi per gli oggetti di livello superiore passati e restituiti dai metodi

Ad esempio, si supponga di avere una firma del metodo AlterEmployee che accetta un id Integer e un oggetto Employeeoldemployee:

public Employee AlterEmployee(int id, Employee oldemployee)

Il tipo Employee ha i seguenti attributi: Id, Name e HomeAddress. Esiste una relazione di associazione tra Employee e il tipo Address.

Relazione tra dipendente e indirizzo

L'agente registra i valori per id, Employee.Id, Employee.Name e l'oggetto Employee restituito dal metodo AlterEmployee. Tuttavia, l'agente non registra informazioni sull'oggetto Address diversamente dal caso in cui sia null oppure no. Inoltre, l'agente non registra i dati sulle variabili locali nel metodo AlterEmployee a meno che non vengano utilizzate da altri metodi come parametri, in questo caso vengono registrate come parametri di metodo.

Quando si individua un errore o un problema di prestazioni, salvare gli eventi registrati in un log IntelliTrace. L'agente crea il log solo se ha registrato degli eventi. Se si utilizza System Center 2012, vedere Monitoraggio di Applicazioni Web con Microsoft Monitoring Agent.

Hh398365.collapse_all(it-it,VS.120).gifSalvare gli eventi registrate ma continuare a monitorare

Seguire questi passaggi quando si desidera creare il log IntelliTrace ma non si desidera riavviare l'applicazione o interrompere il monitoraggio. L'agente continua a monitorare anche se l'applicazione o il server viene riavviato.

  1. Nel server Web, aprire una finestra Windows PowerShell del prompt dei comandi come amministratore.

  2. Eseguire il comando Checkpoint-WebApplicationMonitoring per salvare uno snapshot del log IntelliTrace:

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

    - oppure -

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

    Ad esempio:

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

    In alternativa

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

    Per ulteriori informazioni, eseguire il comando get-help Checkpoint-WebApplicationMonitoring –detailed o il comando get-help Checkpoint-WebApplicationMonitoring –examples.

  3. Copiare il log in una cartella condivisa sicura e aprire il log da un computer con Visual Studio Ultimate 2013.

    Nota sulla sicurezza Nota sulla sicurezza

    Prestare attenzione quando si condividono i log IntelliTrace perché potrebbero contenere dati personali e sensibili. Assicurarsi che chiunque possa accedere a questi log disponga delle autorizzazioni per esaminare tali dati. Verificare le informative sulla privacy della società.

Dopo: Esaminare gli eventi registrati in Visual Studio Ultimate 2013

Hh398365.collapse_all(it-it,VS.120).gifSalvare eventi registrati e fermare il monitoraggio

Seguire i passaggi riportati di seguito quando si desidera ottenere informazioni diagnostiche durante la riproduzione di un problema specifico. Verranno riavviate tutte le applicazioni web sul server web.

  1. Nel server Web, aprire una finestra Windows PowerShell del prompt dei comandi come amministratore.

  2. Eseguire il comando Stop-WebApplicationMonitoring per creare il log IntelliTrace e arrestare il monitoraggio di una specifica applicazione Web:

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

    - oppure -

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

    In alternativa, per arrestare il monitoraggio di tutte le applicazioni Web:

    Stop-WebApplicationMonitoring -All

    Ad esempio:

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

    - oppure -

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

    Per ulteriori informazioni, eseguire il comando get-help Stop-WebApplicationMonitoring –detailed o il comando get-help Stop-WebApplicationMonitoring –examples.

  3. Copiare il log in una cartella condivisa sicura e aprire il log da un computer con Visual Studio Ultimate 2013.

Dopo: Esaminare gli eventi registrati in Visual Studio Ultimate 2013

Aggiunte alla community

AGGIUNGI
Microsoft sta conducendo un sondaggio in linea per comprendere l'opinione degli utenti in merito al sito Web di MSDN. Se si sceglie di partecipare, quando si lascia il sito Web di MSDN verrà visualizzato il sondaggio in linea.

Si desidera partecipare?
Mostra:
© 2014 Microsoft