Utilizzo di SQL Server per l'analisi dei registri Web

Traduzione articoli Traduzione articoli
Identificativo articolo: 296085 - Visualizza i prodotti a cui si riferisce l?articolo.
Espandi tutto | Chiudi tutto

Sommario

Internet Information Server/Services fornisce una serie di formati per raccogliere i dati sotto forma di registri web. Per i siti occupati, questi file flat basati su testo a un giorno diventano eccessivo carico di lavoro per esaminare e vengono ignorati. Un modo migliore per esaminare i dati renderebbe questi registri una risorsa migliore per gli amministratori e web master.

In questo articolo viene descritto un metodo per importare i registri IIS in formato esteso W3C (World Wide Web Consortium) in Microsoft SQL Server per semplificare l'analisi dei file di registro IIS. Le tecniche fornite possono essere modificate anche per altri formati di file registro.

Informazioni

I registri Web sono file di delimitato testo come specificato in RFC 2616, "Hypertext Transfer Protocol--HTTP/1.1" (http://www.rfc-editor.org/rfc/rfc2616.txt).

In formato registrazione W3C estesa i campi sono piuttosto self descrittivo: data e ora solo sembrano; [c-IP] Ŕ l'indirizzo IP del client; [cs-method] Ŕ il metodo HTTP per la richiesta che Ŕ stato soddisfatto; [cs-uri-stem] Ŕ il documento che Ŕ stata richiesta; [query uri cs] Ŕ la stringa di query che Ŕ stata inviata come parte della richiesta in corso la registrazione; [sc-status] Ŕ il codice di stato restituito dal server; [sc-byte] Ŕ il numero di byte che sono stati resi all'utente; di [time preso] Ŕ il tempo in millisecondi, impiegato per completare l'elaborazione della richiesta il server, di [cs(Cookie)] Ŕ il cookie o dei dati permanenti nella richiesta; e [cs(Referer)] Ŕ l'URL del sito precedente visitato dall'utente. Per il formato registrazione W3C estesa, esistono numerosi campi aggiuntivi che possono essere scelti, descritti nella Guida di IIS e il seguente sito Web Microsoft:
http://msdn.microsoft.com/en-us/library/ms525152.aspx
I registri sono il seguente formati:

Riduci questa tabellaEspandi questa tabella
Dataorac-ipcs-methodcs-uri-stemuri cs-querysc-statosc-byteTime presocs(User-Agent)cs(Cookie)cs(Referrer)


L'intestazione del file di registro corrisponde ai campi scelto nella finestra ProprietÓ del sito Web, nella scheda sito Web e, nel caso di registrazione W3C estesa, la scheda ProprietÓ estese . Se i registri web sono giÓ in una tabella di Microsoft SQL Server, Ŕ probabile causa della registrazione ODBC. Tuttavia, quando si utilizza ODBC registrazione i campi non sono configurabili. Guida in linea di IIS include istruzioni sulla configurazione di registrazione ODBC, che include l'utilizzo di Logtemp.sql per creare la tabella nella struttura del prevista.

╚ possibile utilizzare Enterprise Manager per creare la tabella, ma per rendere pi¨ veloce e per aiutare l'automazione del processo, utilizzare lo script seguente in Query Analyzer per creare la tabella:
CREATE TABLE [dbo].[tablename] (
	[date] [datetime] NULL,
	[time] [datetime] NULL ,
	[c-ip] [varchar] (50) NULL ,
	[cs-method] [varchar] (50) NULL ,
	[cs-uri-stem] [varchar] (255) NULL ,
	[cs-uri-query] [varchar] (2048) NULL ,
	[sc-status] [int] NULL ,
	[sc-bytes] [int] NULL ,
	[time-taken] [int] NULL ,
	[cs(User-Agent)] [varchar] (255) NULL ,
	[cs(Cookie)] [varchar] (2048) NULL ,
	[cs(Referer)] [varchar] (2048) NULL 
	)
				

Si noti che parte di questi campi sono di grandi dimensioni e potrebbe non essere necessari per la revisione dei file di log specifico.

Una volta creata la tabella, Ŕ possibile importare i dati utilizzando l'importazione guidata, mapping dal file *.log il database e la tabella.

Mediante la creazione guidata pu˛ essere noioso, Ŕ possibile utilizzare quanto segue per velocizzare l'importazione i registri web:
BULK INSERT [dbo].[tablename] FROM 'c:\weblog.log'
WITH (
    FIELDTERMINATOR = ' ',
    ROWTERMINATOR = '\n'
)
				

Si noti che l'inserimento di massa avrÓ esito negativo quando incontra righe che iniziano con "#". Per i registri web, questo include le prime quattro righe, cosý come eventuali altre istanze quando il server viene interrotto e avviato, poichÚ le linee di testata vengono scritte quando il servizio viene riavviato. Il seguente articolo fornisce un utilitÓ e di un codice sorgente per rimuovere tali righe e preparare il registro per l'inserimento di massa in SQL Server:
296093FILE: UtilitÓ PrepWebLog Prepara registri IIS per l'inserimento di massa SQL
Una volta completata l'importazione, Ŕ possibile utilizzare Query Analyzer per eseguire query per organizzare i dati. Ad esempio:
Select [cs-uri-stem], [time-taken] from tablename where [time-taken] >= 20000 and time between '1899-12-30 16:30:00.000' and '1899-12-30 17:30:00.000' 
				
questa query Ŕ in verrÓ di visualizzare i nomi dei tutte le pagine che Ŕ durata pi¨ di 20 secondi per elaborare e che sono stati elaborati compreso tra 4: 30 e 5: 30 PM, insieme con il tempo di processo (in millisecondi) per ogni.

Si noti che da web predefinito vengono annotati nei registri ora di Greenwich, pertanto, a meno che le modifiche apportate per registrare i registri in ora locale, Ŕ necessario modificare per ora locale quando si esaminano i registri.

Un'altra query di esempio:
Select distinct [cs-uri-stem], [time-taken] from tablename where [time-taken] > (select avg([time-taken]) from tablename)order by [time-taken] desc
				
questa query trova la media [time-preso] per ogni voce nel file di registro e quindi seleziona il [cs-uri-stem] e la [time-preso] e consente di organizzare in decrescente da [time preso]. Aggiungendo una clausola "intervallo tra" Impossibile isolare ulteriormente i risultati della query.

Riferimenti

Nota: Inserimento di massa non funzionerÓ con SQL Server 7.0 ma funziona con SQL Server 2000. Per ulteriori informazioni, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito:
272292BUG: Errore 7399 quando si massa Inserisci in tabella con colonne di default su un NUMERIC o DECIMAL colonna
Per ulteriori informazioni su LocalTimeRollover per i registri di IIS e l'impostazione LogFileLocaltimeRollover:
http://msdn.microsoft.com/en-us/library/microsoft.web.administration.sitelogfile.localtimerollover.aspx

ProprietÓ

Identificativo articolo: 296085 - Ultima modifica: martedý 21 novembre 2006 - Revisione: 3.3
Le informazioni in questo articolo si applicano a:
  • Microsoft Internet Information Server 3.0
  • Microsoft Internet Information Server 4.0
  • Microsoft Internet Information Services 5.0
Chiavi:á
kbmt kbhowto KB296085 KbMtit
Traduzione automatica articoli
Il presente articolo Ŕ stato tradotto tramite il software di traduzione automatica di Microsoft e non da una persona. Microsoft offre sia articoli tradotti da persone fisiche sia articoli tradotti automaticamente da un software, in modo da rendere disponibili tutti gli articoli presenti nella nostra Knowledge Base nella lingua madre dell?utente. Tuttavia, un articolo tradotto in modo automatico non Ŕ sempre perfetto. Potrebbe contenere errori di sintassi, di grammatica o di utilizzo dei vocaboli, pi¨ o meno allo stesso modo di come una persona straniera potrebbe commettere degli errori parlando una lingua che non Ŕ la sua. Microsoft non Ŕ responsabile di alcuna imprecisione, errore o danno cagionato da qualsiasi traduzione non corretta dei contenuti o dell?utilizzo degli stessi fatto dai propri clienti. Microsoft, inoltre, aggiorna frequentemente il software di traduzione automatica.
Clicca qui per visualizzare la versione originale in inglese dell?articolo: 296085
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO.

Invia suggerimenti

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com