Khanh Hoang - Kenn
Kenn is a user experience designer and front end developer who enjoys creating beautiful and usable web and mobile experiences.
#ff0000;">I. Giới thiệu
Như chúng ta đã biết trong ISA Server 2006 có chức năng Logging, bạn có thể theo dõi việc truy cập Internet của user theo thời gian thực (real time).
Đồng thời bạn cũng có thể lập báo cáo (reporting) mỗi ngày (daily) hoặc lập báo cáo theo mốc thời gian. Ví dụ bạn sử dụng ISA Server từ ngày 01/01/2008, hôm nay đã là 15/02/2009, nhưng bạn vẫn có thể lập báo cáo theo mốc thời gian từ ngày 01/01/2008 đến hết ngày 14/02/2009. Tại sao ISA có thể làm như vậy? Vì ISA lưu các sự kiện đó theo dạng *.mdf và *.ldf trong thư mục C:\Program Files\Microsoft ISA Server\ISALogs. Hình bên dưới chỉ định log file được lưu mặc định theo định dạng MSDE database với tên *.mdf
Các file *.mdf và *.ldf được tạo ra theo định dạng ISALOG_yyyymmdd_FWS_nnn.mdf, ISALOG_yyyymmdd_WEB_nnn.mdf và ISALOG_yyyymmdd_EML_nnn.mdf . Trong đó:
- yyyy: năm tạo file log
- mm: tháng tạo file log
- dd: ngày tạo file log
- FWS log của firewall
- WEB log của proxy
- EML log của Email (SMTP)
- nnn: số thứ tự file log trong trường hợp nhiều file log trong 1 ngày
Quay lại ví dụ trên, hôm nay là 15/02/2009, bạn muốn xem các sự kiện trong ngày 15/2, do bạn không xem logging theo thới gian thực nên bạn lập báo cáo trong ngày 15/2 thì ISA Server không cho phép. ISA chỉ cho xem các sự kiện đến cuối ngày 14/02 mà thôi. Mở thư mục C:\Program Files\Microsoft ISA Server\ISALogs thì có nhiều file *.mdf được tạo ra trong ngày 15/2 . Để mở được file này đòi hỏi phải có SQL Server (phải mua license), attach file *.mdf vào SQL Server và sử dụng các công cụ mà SQL Server có sẵn thì mới đọc đươc nội dung file *.mdf. Và bạn cũng đã từng hỏi tại sao cài xong ISAServer thì tại system tray lại có 1 biểu tượng giống SQL Server, nhưng đó không phải là SQL Server mà là MSDE. Có thể nói MSDE là một dạng SQL thu nhỏ (không phải mua license). Xem thêm MSDE tại đây.
Bài viết này giúp bạn đọc trực tiếp nội dung file *.mdf tại ISA Server mà ISA Server chưa thể lập báo cáo được, và bạn sử dụng công cụ SQL Query Tools để truy cập cơ sở dữ liệu MSDE sẵn có trong ISA mà không phải mua license SQL Server .
#ff0000;">II. Các bước thực hiện
1. Kiểm tra các database được tạo ra trong MSDE
2. Cài đặt SQLQueryTool
3. Kết nối database trong MSDE xem file log
#ff0000;">III. Thực hiện
1. Kiểm tra các database được tạo ra trong MSDE
Chuyển đổi thư mục hiện hành theo hình gõ lệnh cd "C:\Program Files\Microsoft SQL Server\80\Tools\Binn"
gõ osql -S ISA\MSFW -E trong đó ISA là tên máy của ISA
Gõ lệnh như hình, Enter mỗi dòng.
Kết quả các database ISALOG có được trong MSDE. Mỗi database này lưu trong 7 sẽ tự động xóa
Bạn đã biết được trong MSDE có chứa các dabatabase nào rồi, tuy nhiên MSDE không như SQL Server, không có công cụ đi kèm để khai thác nội dung của database. Ta có thể xài sqlquerytool.exe download tại đây
2. Cài đặt SQLQueryTool
Với công cụ SQLQueryTool bạn cũng không cần phải làm bước trên. Chạy file setup SQLQueryTool, chọn Next
Chọn như hình > Next
Chọn Next
Chọn Next
Chọn Next
Chọn Install
Chọn Finish
3. Kết nối database trong MSDE xem file log
Mở chương trình SQLQueryTools, chọn menu Connection > New Connection
Chọn Next
Chọn MS SQL Server > Next
Server name: gõ .\MSFW
Chọn Database cần xem: FWS log của firewall hoặc WEB log của Web proxy > Next
Đặt tên alias cho kết nối này >Next
Chuột phải table muốn xem nội dung, ở đây là table WebProxyLog, chọn Add to New Query
Chọn các field cần xem như hình
Chọn Menu Query > Execute
Kết quả tương tự xem log ở chế độ real time ở đầu bài
Bạn có thể áp dụng tương tự cho các file log khác như Firewall hay SMTP
suthuc - MCT