Τρόπος χρήσης του SQL Server για την ανάλυση των αρχείων καταγραφής Web

Μεταφράσεις άρθρων Μεταφράσεις άρθρων
Αναγν. άρθρου: 296085 - Δείτε τα προϊόντα στα οποία αναφέρεται το συγκεκριμένο άρθρο.
Ανάπτυξη όλων | Σύμπτυξη όλων

Περίληψη

Internet Information Server/Services παρέχει ένα πλήθος μορφών για τη συλλογή δεδομένων με τη μορφή των αρχείων καταγραφής web. Για τοποθεσίες απασχόλησης, αυτά τα αρχεία απλού κειμένου με κάποια στιγμή γίνονται υπερβολική επιβάρυνση για την αναθεώρηση και παραβλέπονται. Ένας καλύτερος τρόπος για να εξετάσετε τα δεδομένα θα είναι αυτά τα αρχεία καταγραφής πόρου καλύτερα για διαχειριστές και υποδείγματα web.

Αυτό το άρθρο περιγράφει μια μέθοδο για την εισαγωγή αρχείων καταγραφής των υπηρεσιών IIS σε μορφή εκτεταμένου αρχείου καταγραφής World Wide Web Consortium (W3C) στο Microsoft SQL Server για να διευκολυνθεί η αναθεώρηση των αρχείων καταγραφής των υπηρεσιών IIS. Επίσης μπορεί να αλλοιωθεί τις τεχνικές που παρέχονται για άλλες μορφές αρχείων καταγραφής.

Περισσότερες πληροφορίες

Τα αρχεία καταγραφής Web είναι οριοθετημένα αρχεία κειμένου όπως καθορίζεται στο RFC 2616, "Hypertext Transfer Protocol--HTTP/1.1")http://www.RFC-Editor.org/RFC/rfc2616.txt).

Στη μορφή εκτεταμένου αρχείου καταγραφής W3C τα πεδία είναι κάπως αυτόματης επεξηγηματικό: δεδομένα και η ώρα είναι ακριβώς τι τους φαίνεται, [c-ip] είναι η διεύθυνση IP του υπολογιστή-πελάτη, [cs-μέθοδος] είναι η μέθοδος HTTP για την αίτηση που είχε ικανοποιούνται; [cs-uri-στέλεχος] είναι το έγγραφο που έχει ζητηθεί; [cs-uri-ερώτημα] είναι η συμβολοσειρά ερωτήματος που είχε σταλεί ως μέρος της αίτησης που καταγράφεται, [sc-status] είναι ο κωδικός κατάστασης που επιστράφηκε από το διακομιστή; [sc-byte που] είναι ο αριθμός των byte που έχουν επιστραφεί στο χρήστη: [ώρα λήψης] είναι ο χρόνος σε χιλιοστά του δευτερολέπτου που απαιτήθηκε ώστε ο διακομιστής να ολοκληρώσει την επεξεργασία της αίτησης), [cs(Cookie)] είναι το cookie ή μόνιμα δεδομένα στην αίτηση;) και [cs(Referer)] είναι η διεύθυνση URL της τοποθεσίας του προηγούμενου επισκεφθεί ο χρήστης. For the W3C Extended Logging format, there are a number of additional fields that can be chosen, which are described in IIS Help and at the following Microsoft Web site:
http://msdn.microsoft.com/en-us/library/ms525152.aspx
The logs are formatted as follows:

Σύμπτυξη αυτού του πίνακαΑνάπτυξη αυτού του πίνακα
ΗμερομηνίαΏραc-ipcs-methodcs-uri-stemcs-uri-querysc-statussc-bytestime-takencs(User-Agent)cs(Cookie)cs(Referrer)


The header of the log files corresponds to the fields chosen in theΙδιότητες (Properties)of the Web site, on theWeb Sitetab, and in the case of W3C Extended Logging, theExtended PropertiesTAB. If your web logs are already in a table in Microsoft SQL Server, it is likely because of ODBC logging. However, when you are using ODBC logging the fields are not configurable. IIS Help has instructions on setting up ODBC logging, which includes using Logtemp.sql to create the table in the expected structure.

You could use Enterprise Manager to create the table, but to make it faster and to aid in the automation of the process, instead use the following script in Query Analyzer to create the table:
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 
	)
				

Note that some of these fields are quite large and may not be necessary for reviewing your particular log files.

Once the table has been created, you can import the data by using the Import Wizard, mapping from the *.log file to the database and table.

Using the Wizard can be tedious, so the following can be used to expedite importing the web logs:
BULK INSERT [dbo].[tablename] FROM 'c:\weblog.log'
WITH (
    FIELDTERMINATOR = ' ',
    ROWTERMINATOR = '\n'
)
				

Note that the bulk insert will fail when it encounters lines that start with "#". For web logs, this includes the first four lines, as well as any other instances when the server is stopped and started, since the header lines are written when the service is restarted. The following Microsoft Knowledge Base article provides a utility and source code to remove these lines and prepare the log for the bulk insert to SQL Server:
296093FILE: PrepWebLog Utility Prepares IIS Logs for SQL Bulk Insert
When the import has completed, you can use Query Analyzer to run queries to organize the data. Για παράδειγμα:
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' 
				
This query will display the names of all the pages that took more than 20 seconds to process and that were processed between 4:30 and 5:30 PM, along with the process time (in milliseconds) for each.

Note that by default web logs are recorded in Greenwich mean time, so unless the changes have been made to record the logs in local time, you must adjust for local time when you review the logs.

Another sample query:
Select distinct [cs-uri-stem], [time-taken] from tablename where [time-taken] > (select avg([time-taken]) from tablename)order by [time-taken] desc
				
This query finds the average [time-taken] for each entry in the log file, and then selects the [cs-uri-stem] and the [time-taken] and organizes this in descending order by [time-taken]. Adding a "time between" clause could further isolate the results of this query.

Αναφορές

ΣΗΜΕΙΩΣΗ:Bulk insert will not work with SQL Server 7.0, but it does work with SQL Server 2000.Για πρόσθετες πληροφορίες, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft (Knowledge Base):
272292BUG: Error 7399 When You Bulk Insert into Table with Column Default on a NUMERIC or DECIMAL Column
For more information on LocalTimeRollover for the IIS logs and the LogFileLocaltimeRollover setting:
http://msdn.microsoft.com/en-us/library/microsoft.web.administration.sitelogfile.localtimerollover.aspx

Ιδιότητες

Αναγν. άρθρου: 296085 - Τελευταία αναθεώρηση: Κυριακή, 19 Δεκεμβρίου 2010 - Αναθεώρηση: 2.0
Οι πληροφορίες σε αυτό το άρθρο ισχύουν για:
  • Microsoft Internet Information Server 3.0
Λέξεις-κλειδιά: 
kbhowto kbmt KB296085 KbMtel
Μηχανικά μεταφρασμένο
ΣΗΜΑΝΤΙΚΟ: Αυτό το άρθρο είναι προϊόν λογισμικού μηχανικής μετάφρασης της Microsoft και όχι ανθρώπινης μετάφρασης. Η Microsoft σάς προσφέρει άρθρα που είναι προϊόντα ανθρώπινης αλλά και μηχανικής μετάφρασης έτσι ώστε να έχετε πρόσβαση σε όλα τα άρθρα της Γνωσιακής Βάσης μας στη δική σας γλώσσα. Ωστόσο, ένα άρθρο που έχει προκύψει από μηχανική μετάφραση δεν είναι πάντα άριστης ποιότητας. Ενδέχεται να περιέχει λεξιλογικά, συντακτικά ή γραμματικά λάθη, όπως ακριβώς τα λάθη που θα έκανε ένας μη φυσικός ομιλητής επιχειρώντας να μιλήσει τη γλώσσα σας. Η Microsoft δεν φέρει καμία ευθύνη για τυχόν ανακρίβειες, σφάλματα ή ζημίες που προκύψουν λόγω τυχόν παρερμηνειών στη μετάφραση του περιεχομένου ή χρήσης του από τους πελάτες της. Επίσης, η Microsoft πραγματοποιεί συχνά ενημερώσεις στο λογισμικό μηχανικής μετάφρασης.
Η αγγλική έκδοση αυτού του άρθρου είναι η ακόλουθη:296085

Αποστολή σχολίων

 

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