Làm thế nào để sử dụng SQL Server để phân tích các bản ghi Web

QUAN TRỌNG: Bài viết này được dịch bằng phần mềm dịch máy của Microsoft chứ không phải do con người dịch. Microsoft cung cấp các bài viết do con người dịch và cả các bài viết do máy dịch để bạn có thể truy cập vào tất cả các bài viết trong Cơ sở Kiến thức của chúng tôi bằng ngôn ngữ của bạn. Tuy nhiên, bài viết do máy dịch không phải lúc nào cũng hoàn hảo. Loại bài viết này có thể chứa các sai sót về từ vựng, cú pháp hoặc ngữ pháp, giống như một người nước ngoài có thể mắc sai sót khi nói ngôn ngữ của bạn. Microsoft không chịu trách nhiệm về bất kỳ sự thiếu chính xác, sai sót hoặc thiệt hại nào do việc dịch sai nội dung hoặc do hoạt động sử dụng của khách hàng gây ra. Microsoft cũng thường xuyên cập nhật phần mềm dịch máy này.

Nhấp chuột vào đây để xem bản tiếng Anh của bài viết này:296085
Bài viết này đã được lưu trữ. Bài viết được cung cấp "nguyên trạng" và sẽ không còn được cập nhật nữa.
TÓM TẮT
Internet thông tin máy chủ/dịch vụ cung cấp một số định dạng để thu thập dữ liệu ở dạng Nhật ký web. Cho các trang web bận rộn, các căn cứ văn bản tập tin phẳng đôi khi trở nên quá nhiều gánh nặng để xem lại và được bỏ qua. Một cách tốt hơn để xem xét các dữ liệu sẽ làm các Nhật ký một nguồn lực tốt hơn cho quản trị viên và Thạc sĩ web.

Bài viết này mô tả một phương pháp nhập khẩu IIS Nhật ký ở định dạng World Wide Web Consortium (W3C) mở rộng đăng nhập vào Microsoft SQL Server để tạo thuận lợi cho việc xem xét các tập tin log IIS. Các kỹ thuật được cung cấp cũng có thể được thay đổi cho các định dạng tập tin đăng nhập khác.
THÔNG TIN THÊM
Nhật ký web là các tập tin văn bản delimited theo quy định của RFC 2616, "siêu văn bản chuyển giao thức--HTTP/1.1")http://www.RFC-Editor.org/RFC/rfc2616.txt).

Theo định dạng W3C mở rộng khai thác gỗ các lĩnh vực là phần nào tự giải thích: dữ liệu và thời gian là chỉ những gì họ có vẻ; [c-ip] là địa chỉ IP của khách hàng; [cs-phương pháp] là phương thức HTTP cho yêu cầu đã được đáp ứng; [cs-uri-thân cây] là tài liệu đã được yêu cầu; [cs-uri-truy vấn] là chuỗi truy vấn được gửi như là một phần của yêu cầu đăng; [sc-tình trạng] là mã trạng thái quay trở lại bởi các máy chủ; [sc-byte] là số byte đã được trả lại cho người dùng; [thời gian lấy] là thời gian trong mili giây mà phải mất cho máy chủ để hoàn thành việc xử lý yêu cầu; [cs(Cookie)] là cookie hoặc dữ liệu liên tục trong yêu cầu; và [cs(Referer)] là URL của trang web trước đó truy cập của người dùng. Đối với định dạng W3C mở rộng khai thác gỗ, có một số lĩnh vực bổ sung mà có thể được chọn, được mô tả trong trợ giúp có IIS và tại Web site sau Microsoft:Các bản ghi được định dạng như sau:

ngàythời gianc-ipCS-phương phápCS-uri thân câyCS-uri-truy vấnSC-tình trạngSC-bytethời gian LấyCS(User-Agent)CS(cookie)CS(referrer)


Tiêu đề các tập tin log tương ứng với các lĩnh vực được lựa chọn trong các Thuộc tính các trang Web, các Trang web tab, và trong trường hợp của W3C mở rộng khai thác gỗ, các Thuộc tính mở rộng tab. Nếu các bản ghi web của bạn là đã có trong một bảng trong Microsoft SQL Server, có thể vì của ODBC khai thác gỗ. Tuy nhiên, khi bạn đang sử dụng ODBC đăng nhập các trường là không cấu hình. IIS trợ giúp có hướng dẫn về cách thiết lập ODBC khai thác gỗ, trong đó bao gồm việc sử dụng Logtemp.sql để tạo ra bảng trong cấu trúc dự kiến.

Bạn có thể sử dụng trình quản lý doanh nghiệp để tạo ra bảng, nhưng để làm cho nó nhanh hơn và để hỗ trợ tự động hóa quá trình này, thay vì sử dụng đoạn mã sau trong truy vấn Analyzer để tạo ra bảng:
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 	)				

Lưu ý rằng một số các trường này là khá lớn và có thể không cần thiết để xem xét cụ thể đăng nhập tập tin của bạn.

Một khi các bảng đã được tạo ra, bạn có thể nhập dữ liệu bằng cách sử dụng thuật sĩ chuyển nhập, lập bản đồ từ các tập tin *.log để các cơ sở dữ liệu và bảng.

Dùng thuật sĩ có thể được tẻ nhạt, do đó, sau đây có thể được sử dụng để đẩy nhanh việc chuyển nhập Nhật ký web:
BULK INSERT [dbo].[tablename] FROM 'c:\weblog.log'WITH (    FIELDTERMINATOR = ' ',    ROWTERMINATOR = '\n')				

Lưu ý rằng số lượng lớn chèn sẽ thất bại khi nó gặp dòng bắt đầu với "#". Đối với các bản ghi web, này bao gồm những dòng thứ tư, cũng như bất kỳ trường hợp khác khi máy chủ được ngừng lại và bắt đầu, kể từ khi dòng tiêu đề được viết khi dịch vụ được khởi động lại. Bài viết cơ sở kiến thức Microsoft sau cung cấp một tiện ích và các mã nguồn để loại bỏ những dòng này và chuẩn bị các bản ghi cho chèn số lượng lớn cho SQL Server:
296093 Tập tin: PrepWebLog tiện ích chuẩn bị IIS Logs cho SQL với số lượng lớn chèn
Khi chuyển nhập hoàn tất, bạn có thể sử dụng truy vấn Analyzer để chạy truy vấn để tổ chức các dữ liệu. Ví dụ:
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' 				
Truy vấn này sẽ hiển thị tên của tất cả các trang mà đã nhiều hơn 20 giây để xử lý và đó đã được xử lý từ 4: 30 đến 1: 00 PM, cùng với quá trình thời gian (trong mili giây) cho mỗi.

Lưu ý rằng bởi mặc định web Nhật ký được ghi lại trong nê, do đó trừ khi những thay đổi đã được thực hiện để ghi lại các bản ghi trong giờ địa phương, bạn phải điều chỉnh local tiên khi bạn xem lại các bản ghi.

Một mẫu truy vấn:
Select distinct [cs-uri-stem], [time-taken] from tablename where [time-taken] > (select avg([time-taken]) from tablename)order by [time-taken] desc				
Truy vấn này tìm bình [thời gian-đưa] cho mỗi mục trong tệp nhật ký, và sau đó chọn [cs-uri-cành] và các [thời gian-đưa] và tổ chức điều này theo thứ tự giảm dần bởi [thời gian lấy]. Thêm một khoản "thời gian giữa" hơn nữa có thể cô lập kết quả truy vấn này.
THAM KHẢO
CHÚ Ý: Số lượng lớn chèn sẽ không làm việc với SQL Server 7.0, nhưng nó làm việc với SQL Server 2000. Để biết thêm chi tiết, bấm vào số bài viết dưới đây để xem bài viết trong cơ sở kiến thức Microsoft:
272292 LỖI: Lỗi 7399 khi bạn số lượng lớn chèn vào bảng với cột mặc định trên một số hoặc thập phân cột
For more information on LocalTimeRollover cho các bản ghi IIS và thiết lập LogFileLocaltimeRollover:

Cảnh báo: Bài viết này được dịch tự động

Thuộc tính

ID Bài viết: 296085 - Xem lại Lần cuối: 12/06/2015 02:03:20 - Bản sửa đổi: 3.0

Microsoft Internet Information Server 3.0

  • kbnosurvey kbarchive kbhowto kbmt KB296085 KbMtvi
Phản hồi