Cara menggunakan SQL Server untuk menganalisis Web log

Terjemahan Artikel Terjemahan Artikel
ID Artikel: 296085 - Melihat produk di mana artikel ini berlaku.
Perbesar semua | Perkecil semua

RINGKASAN

Internet Information Server/Services menyediakan sejumlah format untuk mengumpulkan data dalam bentuk web log. Untuk situs yang sibuk, ini berbasis teks flat file kadang-kadang menjadi terlalu banyak beban untuk meninjau dan diabaikan. Cara yang lebih baik untuk mengkaji data log ini akan membuat sumber daya yang lebih baik untuk administrator dan web master.

Artikel ini menjelaskan metode untuk mengimpor IIS log dalam World Wide Web Consortium (W3C) diperpanjang Logging format ke Microsoft SQL Server untuk memfasilitasi review IIS file-file log. Teknik-teknik yang disediakan juga dapat berubah untuk format berkas log lainnya.

INFORMASI LEBIH LANJUT

Web log adalah file teks berpembatas sebagaimana ditentukan oleh RFC 2616, "Hypertext Transfer Protocol--HTTP/1.1")http://www.RFC-editor.org/RFC/rfc2616.txt).

Dalam format W3C diperpanjang Logging bidang yang agak diri jelas: data dan waktu adalah hanya apa yang mereka bisa; [c-ip] adalah alamat IP dari klien; [cs-metode] adalah metode HTTP untuk permintaan yang disambut; [cs-uri-batang] adalah dokumen yang telah diminta; [cs uri permintaan] adalah string permintaan yang dikirimkan sebagai bagian dari permintaan log; [sc-status] adalah kode status yang dikembalikan oleh server; [sc-byte] adalah jumlah byte yang telah kembali ke pengguna; [waktu-mengambil] adalah waktu dalam milidetik bahwa butuh untuk server untuk melengkapi pengolahan permintaan; [cs(Cookie)] adalah cookie, atau persistent data pada permintaan; dan [cs(Referer)] adalah URL situs sebelumnya yang dikunjungi oleh pengguna. Untuk format W3C diperpanjang Logging, ada beberapa bidang tambahan yang dapat dipilih, yang akan dijelaskan di IIS membantu dan pada Website Microsoft berikut:
http://MSDN.Microsoft.com/en-us/library/ms525152.aspx
Log diformat sebagai berikut:

Perkecil tabel iniPerbesar tabel ini
tanggalwaktuc-ipCS-metodeCS-uri-batangCS uri permintaanSC-statusSC-bytemengambil waktuCS(user-agent)CS(cookie)CS(referrer)


Header file-file log yang berkaitan dengan bidang yang dipilih dalam Properti situs Web, Situs web tab, dan dalam kasus W3C diperpanjang Logging, Panjang properti tab. Jika log web Anda yang sudah di meja di Microsoft SQL Server, hal ini mungkin karena ODBC penebangan. Namun, bila Anda menggunakan ODBC penebangan bidang tidak dikonfigurasi. IIS membantu memiliki petunjuk tentang pengaturan ODBC penebangan, yang mencakup menggunakan Logtemp.sql untuk membuat tabel dalam struktur yang diharapkan.

Anda dapat menggunakan Enterprise Manager untuk membuat tabel, tetapi untuk membuatnya lebih cepat dan untuk membantu dalam mengotomatisasi proses, menggunakan script berikut dalam Query Analyzer untuk menciptakan tabel:
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 
	)
				

Perhatikan bahwa beberapa bidang ini cukup besar dan tidak mungkin diperlukan untuk meninjau file log tertentu Anda.

Setelah tabel telah dibuat, Anda dapat mengimpor data dengan menggunakan Wizard Impor, pemetaan dari *.log file untuk database dan meja.

Menggunakan Wisaya dapat membosankan, jadi berikut dapat digunakan untuk mempercepat mengimpor web log:
BULK INSERT [dbo].[tablename] FROM 'c:\weblog.log'
WITH (
    FIELDTERMINATOR = ' ',
    ROWTERMINATOR = '\n'
)
				

Perhatikan bahwa memasukkan sebagian besar akan gagal ketika bertemu baris yang dimulai dengan "#". Untuk web log, ini termasuk baris pertama empat, dan juga contoh-contoh lain ketika server berhenti dan mulai, karena baris header ditulis ketika layanan ulang. Artikel Basis Pengetahuan Microsoft berikut menyediakan utilitas dan kode sumber untuk menghapus baris ini dan mempersiapkan log untuk memasukkan massal untuk SQL Server:
296093 BERKAS: PrepWebLog utilitas mempersiapkan IIS log untuk SQL massal Insert
Ketika impor selesai, Anda dapat menggunakan Query Analyzer untuk menjalankan query untuk mengatur data. Misalnya:
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' 
				
Query ini akan menampilkan nama-nama semua halaman yang mengambil lebih dari 20 detik untuk memproses dan yang diproses antara 4: 30 dan 5: 30 PM, bersama dengan proses waktu (dalam milidetik) untuk masing-masing.

Perhatikan bahwa oleh standar web log dicatat dalam waktu Greenwich, jadi kecuali perubahan telah dibuat untuk merekam log di waktu lokal, Anda harus menyesuaikan waktu setempat ketika Anda meninjau log.

Lain contoh permintaan:
Select distinct [cs-uri-stem], [time-taken] from tablename where [time-taken] > (select avg([time-taken]) from tablename)order by [time-taken] desc
				
Query ini menemukan rata-rata [waktu-diambil] untuk setiap entri dalam log file, dan kemudian memilih [cs-uri-batang] dan [waktu-diambil] dan mengatur ini di urutan atas ke bawah oleh [waktu-mengambil]. Menambahkan klausul "waktu antara" lebih lanjut bisa mengisolasi hasil query ini.

REFERENSI

CATATAN: Masukkan massal tidak akan bekerja dengan SQL Server 7.0, tetapi bekerja dengan SQL Server 2000. Untuk informasi tambahan, klik nomor artikel di bawah ini untuk melihat artikel di dalam Basis Pengetahuan Microsoft:
272292 BUG: Kesalahan 7399 ketika Anda massal sisipkan ke dalam tabel dengan kolom Default pada angka atau DESIMAL kolom
Untuk informasi lebih lanjut tentang LocalTimeRollover untuk log IIS dan pengaturan LogFileLocaltimeRollover:
http://MSDN.Microsoft.com/en-us/library/Microsoft.web.Administration.sitelogfile.localtimerollover.aspx

Properti

ID Artikel: 296085 - Kajian Terakhir: 23 September 2011 - Revisi: 2.0
Berlaku bagi:
  • Microsoft Internet Information Server 3.0
Kata kunci: 
kbhowto kbmt KB296085 KbMtid
Penerjemahan Mesin
PENTING: Artikel ini diterjemahkan menggunakan perangkat lunak mesin penerjemah Microsoft dan bukan oleh seorang penerjemah. Microsoft menawarkan artikel yang diterjemahkan oleh seorang penerjemah maupun artikel yang diterjemahkan menggunakan mesin sehingga Anda akan memiliki akses ke seluruh artikel baru yang diterbitkan di Pangkalan Pengetahuan (Knowledge Base) dalam bahasa yang Anda gunakan. Namun, artikel yang diterjemahkan menggunakan mesin tidak selalu sempurna. Artikel tersebut mungkin memiliki kesalahan kosa kata, sintaksis, atau tata bahasa, hampir sama seperti orang asing yang berbicara dalam bahasa Anda. Microsoft tidak bertanggung jawab terhadap akurasi, kesalahan atau kerusakan yang disebabkan karena kesalahan penerjemahan konten atau penggunaannya oleh para pelanggan. Microsoft juga sering memperbarui perangkat lunak mesin penerjemah.
Klik disini untuk melihat versi Inggris dari artikel ini:296085

Berikan Masukan

 

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