Trong Quản trị mạng, tần suất trích mẫu thu thập thông tin càng lớn thì việc chẩn đoán hoạt động của mạng càng chính xác Ví dụ: chẩn đoán lỗi, nhưng việc xử lý và lưu trữ dữ liệu theo th
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG
NGUYỄN THỊ MỸ HẠNH
THUẬT TOÁN XOAY VÒNG VỚI QUẢN LÝ DỮ LIỆU CHUỖI THỜI GIAN
VÀ ỨNG DỤNG TRONG QUẢN TRỊ MẠNG MÁY TÍNH
LUẬN VĂN THẠC SỸ CÔNG NGHỆ THÔNG TIN
Thái Nguyên - 2016
Trang 2ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG
NGUYỄN THỊ MỸ HẠNH
THUẬT TOÁN XOAY VÒNG VỚI QUẢN LÝ DỮ LIỆU CHUỖI THỜI GIAN
VÀ ỨNG DỤNG TRONG QUẢN TRỊ MẠNG MÁY TÍNH
Chuyên ngành: Khoa học máy tính
Trang 3LỜI CAM ĐOAN
Tôi xin cam đoan rằng:
Số lượng và kết quả nghiên cứu trong luận văn này là hoàn toàn trung thực và chưa từng được sử dụng hoặc công bố trong bất cứ công trình nào khác
Mọi sự giúp đỡ cho việc thực hiện luận văn này đã được cảm ơn và các thông tin trích dẫn trong luận văn đều được ghi rõ nguồn gốc
Tác giả luận văn
Nguyễn Thị Mỹ Hạnh
Trang 4LỜI CẢM ƠN
Lời đầu tiên học viên xin gửi lời cảm ơn trân thành tới các Thầy, Cô
giáo trường Đại học Công nghệ thông tin và Truyền thông, Đại học Thái Nguyên, các thầy cô đã tận tình dạy bảo, truyền đạt các kiến thức quý báu cho học viên trong suốt quá trình học tập
Xin trân trọng cảm ơn Khoa, Phòng, Ban và các cán bộ đã tạo điều kiện tốt nhất cho học viên học tập và hoàn thành đề tài tốt nghiệp của mình
Đặc biệt, học viên xin được gửi lời cảm ơn sâu sắc đến Thầy giáo hướng dẫn học viên PGS TS Nguyễn Văn Tam, Thầy đã tận tình chỉ bảo giúp
đỡ học viên trong suốt quá trình nghiên cứu để hoàn thành luận văn
Cuối cùng học viên xin gửi lời cảm ơn gia đình, bạn bè, đồng nghiệp đã giúp đỡ, động viên ủng hộ học viên rất nhiều trong toàn bộ quá trình
học tập cũng như nghiên cứu để hoàn thành luận văn này
Trân trọng cảm ơn!
Trang 5MỤC LỤC
LỜI CAM ĐOAN ………… ……….i
LỜI CẢM ƠN ……….ii
MỤC LỤC …… ……… iii
DANH MỤC CHỮ VIẾT TẮT ……… …………v
DANH MỤC HÌNH VẼ ……… ……… vi
MỞ ĐẦU 1
1 Đặt vấn đề: 1
3 Ý nghĩa khoa học, thực tiễn của đề tài: 2
4 Phương pháp nghiên cứu: 2
5 Bố cục của luận văn: 2
CHƯƠNG I: MÔ HÌNH QUẢN LÝ LUỒNG DỮ LIỆU CHUỖI THỜI GIAN 4
1.1 Kiến trúc tổng quát của hệ thống quản lý luồng dữ liệu chuỗi thời gian 4
1.1.1 Giới thiệu chung 4
1.1.2 Khái niệm chuỗi thời gian 6
1.1.3 Kiến trúc tổng quát 6
1.2 Mô hình dữ liệu và truy vấn 7
1.2.1 Mô hình dữ liệu 7
1.2.2 Ngữ nghĩa truy vấn liên tục 9
1.3 Một số ứng dụng của hệ quản lý luồng dữ liệu 10
1.3.1 Ứng dụng trong mạng cảm biến (Sensor Networks) 10
1.3.2 Ứng dụng trong phân tích lưu lượng mạng 11
1.3.3 Ứng dụng trong phân tích nhật ký giao dịch 12
CHƯƠNG II : THUẬT TOÁN XOAY VÒNG VỚI CƠ SỞ DỮ LIỆU CHUỖI THỜI GIAN TRONG QUẢN TRỊ MẠNG 14
2.1 Thuật toán xoay vòng với cơ sở dữ liệu chuỗi thời gian 14
Trang 62.1.1 Nguyên lý của thuật toán xoay vòng RR( Round Robin) 14
2.1.2 Thuật toán xoay vòng với cơ sở dữ liệu chuỗi thời gian RRD 17
2.1.2.1 Nguyên lý của RRD 17
2.1.2.2 Dữ liệu trong RRD 18
2.2 RRD trong quản trị mạng[1] 23
2.2.1 RRD trong thu thập dữ liệu và hiển thị kết quả 24
2.2.2 RRD trong phát hiện bất thường 26
CHƯƠNG 3 : CHƯƠNG TRÌNH THỬ NGHIỆM 37
3.1 Bài toán thử nghiệm 37
3.2 Bộ công cụ phục vụ xây dựng cơ sở dữ liệu chuỗi thời gian RRDtool 38
3.2.1 Tập các hàm thư viện của RRDtool 38
3.2.2 Hoạt động của RRDtool 39
3.2.3 Giám sát dữ liệu bất thường 42
3.3 Kỹ thuật tích hợp RRDTool vào hệ quản trị mạng CACTI 45
3.4 Một số kết quả thử nghiệm 47
3.4.1 Mô hình thử nghiệm 47
3.4.2 Triển khai mô hình thử nghiệm 48
3.4.3 Kết quả thử nghiệm ……… ……… 61
3.4.4 Đánh giá ……… 61
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 63
TÀI LIỆU THAM KHẢO 65
PHỤ LỤC 66
Trang 7
DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT
ATM Automated Teller Machine
CF Consolidation Function
CPU Central Processing Unit
IAP Internet Access Provider
IP Internet Protocol
ISP Internet Service Provider
PDP Primary Data Point
PHP Personal Hompe Page
RRA Round Robin Archives
RRD Round Robin Database
SNMP Simple Network Managerment Protocol
SQL Structured Query Language
TCP Tranfer Control Protocol
TSD Time Series Database
URL Uniform Resource Locator
XML Extensible Markup Language
Trang 8DANH MỤC CÁC HÌNH VẼ
Hình 1.1 - Kiến trúc tổng thể của hệ quản lý luồng Dữ liệu 7
Hình 2.1 - Nguyên lý của cơ sở dữ liệu RRD 18
Hình 2.2 - Vấn đề tỷ lệ và thời gian 1 19
Hình 2.3 - Vấn đề tỷ lệ và thời gian 2 21
Hình 2.4 - Hợp nhất trong Cơ sở dữ liệu RRD 23
Hình 2.5 - Sơ đồ khối của hệ quản trị mạng 23
Hình 2.6 - Biểu diễn đồ thị trong RRD 25
Hình 3.1 - Lưu đồ chung Chương trình tích hợp RRDTool vào Cacti 47
Hình 3.2 - Chạy lệnh tích hợp RRDTool 48
Hình 3.3 - Mô hình thử nghiệm 49
Hình 3.4 - Màn hình đăng nhập hệ thống 52
Hình 3.5 - Giao diện chính của Cacti 52
Hình 3.6 - Cài đặt dịch vụ SNMP cho thiết bị mới 53
Hình 3.7 - Tìm file SNMP Services 54
Hình 3.8 - Đặt cấu hình SNMP Services 55
Hình 3.9 - Cài đặt thiết bị vào Cacti 55
Hình 3.10 - Danh sách các nội dung cần giám sát 56
Hình 3.11 - Trạng thái kết nối thiết bị trong Cacti 56
Hình 3.12 - Thể hiện việc lựa chọn thiết bị cần tạo đồ thị 57
Hình 3.13 - Danh sách các máy có trong cây đồ thị 58
Trang 9Hình 3.14 - Biểu đồ tình trạng các thiết bị 59
Hình 3.15 - Import Templates mới 60
Hình 3.16 - Import Templates data trong cacti 60
Hình 3.17 - Thông tin quản lý các thiết bị trong hệ thống mạng 61
Hình 3.18 - Quản lý theo lịch thời gian 61
Hình 3.19 - Thông tin giới hạn của hệ thống 62
Trang 10MỞ ĐẦU
1 Đặt vấn đề:
Vấn đề quản lý luồng dữ liệu chuỗi thời gian hiện nay đang được quan tâm rất nhiều, cũng như những ứng dụng của nó trong đời sống xã hội nói chung và ứng dụng trong quản trị mạng máy tính nói riêng Thuật toán xoay vòng với quản lý dữ liệu chuỗi thời gian RRD (Round Robin Database) là một giải pháp nhằm tối ưu hóa hệ thống, tránh tốn kém tài nguyên và giảm độ phức tạp Trong một cơ sở dữ liệu Round - Robin (RR) thường là dữ liệu chuỗi thời gian như: băng thông mạng, nhiệt độ, giá cổ phiếu … vv, rất nhiều các ứng dụng mới nổi gần đây yêu cầu hỗ trợ cho việc phân tích trực tuyến thay đổi nhanh chóng các dòng dữ liệu như: thống kê lưu lượng truy cập internet, đấu giá trên mạng [4], [6]
Trong Quản trị mạng, tần suất trích mẫu thu thập thông tin càng lớn thì việc chẩn đoán hoạt động của mạng càng chính xác (Ví dụ: chẩn đoán lỗi), nhưng việc xử lý và lưu trữ dữ liệu theo thời gian là cực lớn, các giải pháp về
cơ sở dữ liệu truyền thống không đáp ứng được, thuật toán RRD là giải pháp
hữu hiệu Do đó, học viên lựa chọn đề tài luận văn Thạc sỹ “ Thuật toán xoay vòng với quản lý dữ liệu chuỗi thời gian và ứng dụng trong quản trị mạng máy tính”
Trong đề tài này học viên sẽ thực hiện thu thập dữ liệu mạng để có thể biểu diễn dưới dạng đồ thị trạng thái hoạt động của các thiết bị cần giám sát,
sử dụng RRDtool để lưu trữ dữ liệu và hiển thị dữ liệu theo chuỗi thời gian
Để thực hiện được điều đó học viên sẽ tiến hành nghiên cứu về mô hình quản
lý luồng dữ liệu chuỗi thời gian, thuật toán xoay vòng với các dữ liệu chuỗi
Trang 11thời gian RRD( Round Robin Database) trong quản trị mạng và thử nghiệm ứng dụng vào giám sát và quản trị mạng máy tính
2 Đối tượng và phạm vi nghiên cứu:
a Đối tượng nghiên cứu
Dữ liệu chuỗi thời gian
b Phạm vi nghiên cứu:
- Xếp lịch xoay vòng
- RRD trong quản trị mạng
3 Ý nghĩa khoa học, thực tiễn của đề tài:
- Ý nghĩa khoa học: Hiểu được Ứng dụng của Thuật toán xoay vòng với quản lý dữ liệu chuỗi thời gian vào trong quản trị mạng máy tính
- Ý nghĩa thực tiễn: Vận dụng các phương pháp nghiên cứu để giải quyết một bài toán về quản trị mạng, đó là thuật toán xoay vòng với quản lý
dữ liệu chuỗi thời gian trong quản trị mạng Kết quả này có thể hoàn thiện, triển khai và ứng dụng trong thực tiễn
4 Phương pháp nghiên cứu:
- Nghiên cứu các kết quả đã công bố trong lĩnh vực quản lý dữ liệu chuỗi thời gian và ứng dụng của quản lý dữ liệu chuỗi thời gian, thuật toán xoay vòng với cơ sở dữ liệu chuỗi thời gian RRD trong quản trị mạng
- Phân tích, tổng hợp, đánh giá các kết quả
- Phân tích lý thuyết và xây dựng chương trình để thử nghiệm bài toán
5 Bố cục của luận văn:
Luận văn được trình bày thành các chương như sau:
Trang 12Chương 1: MÔ HÌNH QUẢN LÝ LUỒNG DỮ LIỆU CHUỖI THỜI
GIAN
Chương 2: THUẬT TOÁN XOAY VÒNG VỚI CƠ SỞ DỮ LIỆU
CHUỖI THỜI GIAN TRONG QUẢN TRỊ MẠNG
Chương 3: CHƯƠNG TRÌNH THỬ NGHIỆM
Trang 13
CHƯƠNG I
MÔ HÌNH QUẢN LÝ LUỒNG DỮ LIỆU CHUỖI THỜI GIAN
Bộ cơ sở dữ liệu lưu trữ truyền thống bao gồm các bản ghi tương đối tĩnh không có khái niệm được xác định trước thời gian, trừ khi thuộc tính dấu thời gian được bổ sung rõ ràng Trong khi mô hình này rất thuận lợi cho việc biểu diễn cơ sở dữ liệu thương mại hay thông tin cá nhân thì nhiều ứng dụng quan trọng hiện hành yêu cầu hỗ trợ cho việc phân tích trực tuyến sự thay đổi nhanh chóng của các luồng dữ liệu
Trên cơ sở phân tích thấy rõ các hạn chế của cơ sở dữ liệu truyền thống trong việc hỗ trợ quản lý trực tuyến các ứng dụng, nhiều nghiên cứu đã được tiến hành để bổ sung các công nghệ hiện có và xây dựng mới hệ thống quản lý
dữ liệu trực tuyến
1.1 Kiến trúc tổng quát của hệ thống quản lý luồng dữ liệu chuỗi thời gian
1.1.1 Giới thiệu chung
Cơ sở dữ liệu truyền thống đã được sử dụng trong các ứng dụng yêu cầu lưu trữ dữ liệu liên tục và truy vấn phức tạp Thông thường, một cơ
sở dữ liệu bao gồm một tập các đối tượng không sắp xếp theo thứ tự và tương đối tĩnh Việc chèn, cập nhật và xóa xảy ra ít thường xuyên hơn so với các truy vấn Truy vấn được thực hiện khi có yêu cầu và câu trả lời phản ánh tình trạng hiện tại của các cơ sở dữ liệu Tuy nhiên, trong thời gian gần đây, chúng ta đã chứng kiến sự nổi lên của các ứng dụng mà mô hình dữ liệu và
mô hình truy vấn này không phù hợp Thay vào đó, các sự kiện xảy ra và thông tin xuất hiện một cách tự nhiên trong các dạng thức một luồng các giá
Trang 14trị dữ liệu; ví dụ bao gồm dữ liệu từ cảm biến [5], lưu lượng Internet [4], các
mã cổ phiếu, tài chính [5], đấu giá trực tuyến [6], nhật ký sử dụng Web và bản ghi các cuộc gọi điện thoại [1]
Một luồng dữ liệu là chuỗi các mục dữ liệu được sắp xếp theo thời gian thực, liên tục, có trình tự (ví dụ ngầm định theo thời gian xuất hiện hoặc được đánh bởi nhãn thời gian (timestamp) một cách rõ ràng Thật khó có thể kiểm soát thứ tự đến của các mục dữ liệu và cũng không khả thi để lưu trữ toàn bộ luồng dữ liệu Tương tự như vậy, các truy vấn luồng dữ liệu chạy liên tục trong một khoảng thời gian và từng bước sẽ trả về kết quả mới khi dữ liệu mới đến Với các đặc điểm của luồng dữ liệu và cách truy vấn liên tục đặt ra các yêu cầu sau đây cho hệ thống quản lý luồng dữ liệu:
Các mô hình dữ liệu và ngữ nghĩa truy vấn phải cho phép hoạt động dựa trên trật tự và dựa trên thời gian (ví dụ như các truy vấn được thực trên một cửa sổ động, năm phút một)
Do không có khả năng lưu trữ toàn bộ luồng dữ liệu đầy đủ nên có thể sử dụng các cấu trúc tóm lược, gần đúng Kết quả là, các truy vấn trên các bản tóm lược có thể không trả về dữ liệu chính xác
Việc truy vấn dữ liệu trực tuyến có thể không thể sử dụng thao tác blocking
Do hiệu suất và khả năng lưu trữ hạn chế, việc theo dõi lại toàn bộ luồng dữ liệu nguyên gốc là không khả thi Các thuật toán xử lý luồng dữ liệu chỉ sử dụng được luồng dữ liệu một lần
Các ứng dụng giám sát luồng dữ liệu trong thời gian thực phải phản ứng nhanh với các giá trị dữ liệu bất thường
Truy vấn chạy thời gian dài có thể gặp phải những thay đổi điều kiện của hệ thống
Trang 15 Thực hiện chia sẻ nhiều truy vấn liên tục là cần thiết để đảm bảo khả năng mở rộng
1.1.2 Khái niệm chuỗi thời gian
Một chuỗi thời gian là một dãy các giá trị quan sát X : ={x1, x2, xn} được xếp thứ tự diễn biến thời gian với x1 là các giá trị quan sát tại thời điểm đầu tiên, x2 là quan sát tại thời điểm thứ 2 và xn là quan sát tại thời điểm thứ n
Ví dụ: Các báo cáo tài chính mà ta thấy hằng ngày trên báo chí, tivi hay Internet về các chỉ số chứng khoán, tỷ giá tiền tệ, chỉ số tăng cường hay chỉ số tiêu dùng đều là những thể hiện rất thực tế của chuỗi thời gian hay doanh số của công ty trong 20 năm gần đây, hoặc nhiệt độ ghi nhận tại một trạm quan trắc khí tượng, hoặc công suất điện năng tiêu thụ trong một nhà máy hoặc lưu lượng mạng đo được với chu kỳ 5 phút …đó là các ví dụ điển hình cho một chuỗi thời gian
Với chuỗi thời gian ta thường biểu thị trong một mặt phẳng với trục hoành biểu thị thời gian và trục tung biểu thị giá trị biến quan sát Phân tích chuỗi thời gian có mục đích nhận dạng và tập hợp lại các yếu tố, những biến đổi theo thời gian mà nó có ảnh hưởng đến giá trị của biến quan sát
1.1.3 Kiến trúc tổng quát
Kiến trúc tổng quát của hệ thống hệ quản lý luồng dữ liệu thể hiện trong hình 1.1
Trang 16Hình 1.1 Kiến trúc tổng thể của hệ quản lý luồng dữ liệu
Modul theo dõi đầu vào dữ liệu sẽ điều chỉnh tốc độ thu thập dữ liệu cho phù hợp, có thể sẽ phải loại bỏ một số gói tin nếu hệ thống không thể tiếp nhận hết các gói tin đến Dữ liệu thường được lưu trữ trong ba phân vùng: Kho lưu trữ làm việc, kho lưu trữ bản tóm lược của luồng dữ liệu, kho lưu trữ tĩnh cho meta-data Các truy vấn chạy lâu phải được đăng ký tới hàng đợi truy vấn và đặt vào nhóm chia sẻ Bộ xử lý truy vấn Vì chỉ có thể truy vấn một lần vào trạng thái hiện tại của luồng dữ liệu Bộ xử lý truy vấn liên lạc với Bộ theo dõi đầu vào nhằm có thể tái tối ưu hóa các kế hoạch truy vấn đáp ứng với
sự thay đổi tốc độ đầu vào Kết quả truy vấn có đưa trực tiếp tới người sử dụng hoặc lưu tạm thời tại bộ đệm Sau đó người dùng có thể tùy chỉnh các truy vấn của họ dựa trên các kết quả mới nhất
1.2 Mô hình dữ liệu và truy vấn
1.2.1 Mô hình dữ liệu
Một luồng dữ liệu theo thời gian thực là một chuỗi các mục dữ liệu dữ liệu đến theo một trình tự và chỉ có thể được nhìn thấy một lần [3] Vì các
Trang 17mục dữ liệu có thể đến theo chùm, một luồng dữ liệu có thể được mô hình hóa như một danh sách các phần tử
Mục dữ liệu của luồng dữ liệu riêng có thể biểu diễn dưới dạng các các bộ đối tượng quan hệ hoặc các thể hiện của đối tượng Trong mô hình dựa trên quan hệ, mục dữ liệu là các bộ chuyển tiếp được lưu trữ trong mối quan
hệ ảo qua nút từ xa Trong mô hình dựa trên đối tượng, các nguồn và các loại mục dữ liệu được mô hình hóa như các loại (phân cấp) dữ liệu với các phương pháp liên quan
Các mục dữ liệu của luồng dữ liệu có thể không đến theo trình tự và / hoặc dưới dạng tiền xử lý, do vậy có thể có các mô hình dữ liệu sau:
1 Ghi đệm không có thứ tự: Các mục dữ liệu từ các lĩnh vực khác
nhau đến không theo thứ tự đặc biệt và không có bất kỳ tiền xử lý nào
2 Ghi đệm có thứ tự: các mục dữ liệu từ các lĩnh vực khác nhau
không được tiền xử lý nhưng đến trong một trình tự đã biết
3 Tổng hợp không có thứ tự: các mục dữ liệu riêng từ cùng một
miền được tiền xử lý và chỉ có một mục dữ liệu đến đối với mỗi miền, không theo thứ tự cụ thể
4 Tổng hợp có thứ tự: các mục dữ liệu riêng từ cùng một miền được
tiền xử lý và chỉ có một mục dữ liệu đến đối với mỗi miền theo một trật tự cho trước
Trong nhiều trường hợp, chỉ quan tâm một đoạn trích từ luồng dữ liệu tại một thời điểm do vậy mô hình cửa sổ được đưa ra với ba lớp như sau:
Hướng chuyển động của các điểm đầu cuối: Hai đầu cuối cố định
xác định một cửa sổ cố định Hai điểm đầu cuối có thể trượt(hoặc trượt tiến hoặc trượt lùi), định nghĩa một cửa sổ trượt Nếu một đầu cuối cố định và
Trang 18một điểm cuối di chuyển (về phía trước hoặc phía sau) định nghĩa một cửa sổ giới hạn Như vậy có tổng cộng chín loại cửa sổ khác nhau
Cửa sổ vật lý và logic: Cửa sổ vật lý là cửa sổ được định nghĩa dựa trên khoảng thời gian Cửa sổ logic được định nghĩa dựa trên bộ đếm
Cập nhật khoảng: Việc tái đánh giá cập nhật cửa sổ được thực hiện mỗi khi có một bộ dữ liệu mới đến Đối với tiến trình xử lý theo nó có thể gây ra một "bước nhảy cửa sổ " Nếu khoảng thời cập nhật là lớn hơn so với kích thước cửa sổ, thì sẽ tạo ra một loạt cửa số không chồng lấn nhau
1.2.2 Ngữ nghĩa truy vấn liên tục
Bất kỳ truy vấn kiên trì, đơn điệu mà cập nhật được từng bước, có thể được thực hiện như một truy vấn liên tục trên một cơ sở dữ liệu truyền thống Trong một cơ sở dữ liệu chỉ được thêm vào cuối, tất cả các truy vấn nối tiếp là đơn điệu: Mỗi lần một bộ dữ liệu được thêm vào, hoặc là nó đáp ứng các truy vấn hoặc không và điều kiện thỏa mãn không thay đổi theo thời gian Ngược lại, thêm phủ định có thể vi phạm tính đơn điệu Tương tự như vậy, nếu các cơ sở dữ liệu không chỉ được thêm vào cuối, thì không có truy vấn đơn điệu, khi các bộ dữ liệu được cập nhật có thể ngừng đáp ứng một truy vấn nhất định
Ngữ nghĩa ít hạn chế các truy vấn liên tục, đơn điệu và không đơn điệu trên luồng dữ liệu đã đưa ra [6] Giả sử rằng thời gian được biểu diễn như là một tập hợp các số tự nhiên và rằng tất cả các truy vấn liên tục được
tái định giá tại mỗi nhịp (tick) đồng hồ Cho A (Q, t) là tập hợp câu trả lời của một truy vấn liên tục Q tại thời điểm t, τ là thời gian hiện tại, và 0 là thời điểm bắt đầu Tập trả lời cho một truy vấn liên tục, đơn điệu Q tại τ là:
Trang 19Nghĩa là, chỉ cần tái đánh giá các truy vấn trên các mục dữ liệu mới đến và gắn thêm các bộ chất lượng vào kết quả Ngược lại, các truy vấn không đơn điệu có thể cần phải được tái tính từ đầu trong mọi tái đánh giá, theo ngữ nghĩa sau đây:
Ngôn ngữ truy vấn luồng dữ liệu
Ba mô hình truy vấn cho hệ thống quản lý luồng dữ liệu đã được đề xuất Hệ thống dựa trên quan hệ sử dụng ngôn ngữ SQL-like để truy vấn gần giống như truy vấn cơ sở dữ liệu quan hệ với sự cải tiến đưa thêm cơ chế cửa
sổ và trình tự Ngôn ngữ dựa trên đối tượng cũng giống như SQL, nhưng hỗ trợ cho luồng dữ liệu, định nghĩa thêm kiểu dữ liệu trừu tượng (ADT) và các phương pháp xử lý tín hiệu liên quan Hệ thống hướng thủ tục, xây dựng truy vấn bằng cách định nghĩa luồng dữ liệu các toán tử khác nhau
1.3 Một số ứng dụng của hệ quản lý luồng dữ liệu
1.3.1 Ứng dụng trong mạng cảm biến (Sensor Networks)
Mạng cảm biến có thể được sử dụng cho quản lý hệ thống địa lý, giám sát tắc nghẽn đường cao tốc, theo dõi chuyển động, giám sát dấu hiệu của sự sống và giám sát của các quá trình sản xuất Các ứng dụng này liên quan đến việc lọc thông tin phức tạp và kích hoạt báo động khi phát hiện các mẫu bất thường trong dữ liệu Trong các ứng dụng cần tập hợp và kết nối nhiều luồng dữ liệu thì cần thiết phải phân tích dữ liệu từ nhiều nguồn, còn nếu ứng dụng chỉ tập hợp trên một luồng dữ liệu duy nhất thì có thể chỉ cần phân tích dữ liệu từ một nguồn, ví dụ như phục vụ cho việc phát hiện và thay thế những bộ cảm biến gặp lỗi (do bị hư hỏng vật lý hoặc sự suy giảm của
Trang 20nguồn nuôi) Việc khai phá dữ liệu của bộ cảm biến có thể yêu cầu truy cập vào dữ liệu lịch sử của bộ cảm biến Một số ví dụ về truy vấn tương đối điển hình trong mạng cảm biến như:
Kích hoạt bộ nhảy (trigger) nếu có một vài cảm biến trong trong miền có báo cáo đo vượt quá ngưỡng cho phép
Vẽ đường viền bản đồ nhiệt độ cho dự báo thời tiết:
Thực hiện kết nối luồng dữ liệu nhiệt độ từ các trạm theo dõi thời tiết Liên kết các kết quả vào bảng tĩnh chứa các kinh độ và vĩ độ của mỗi trạm, kết nối tất cả các điểm tạo bản tin dự báo thời tiết vùng miền
Phân tích một luồng các thống kê sử dụng điện gần đây, báo cáo cho nhà máy điện để điều chỉnh công suất phát điện nếu cần thiết
1.3.2 Ứng dụng trong phân tích lưu lượng mạng
Hệ thống Ad hoc để phân tích lưu lượng Internet trong thời gian thực
đã được sử dụng, ví dụ [2] Tương tự như các mạng cảm biến, việc kết nối dữ liệu từ nhiều nguồn khác nhau như theo dõi, lọc gói tin và phát hiện các điều kiện bất thường (ví dụ như tắc nghẽn hoặc tấn công từ chối dịch vụ) là cần thiết Hệ thống phải hỗ trợ cho các truy vấn lịch sử và khai phá dữ liệu trực tuyến trên mạng Ví dụ so sánh dấu hiệu của lưu lượng mạng hiện tại với các mẫu lưu lượng được lưu trữ để phát hiện một cuộc tấn công từ chối dịch
vụ Một ví dụ khác như theo dõi URL của các yêu cầu Web gần đây để tìm ra khách hàng tiêu thụ băng thông nhiều nhất Sau đây là các truy vấn điển hình trong phân tích lưu lượng mạng:
Ma trận lưu lượng: Xác định tổng lượng băng thông sử dụng bởi mỗi cặp nguồn - đích và nhóm theo địa chỉ IP, mặt nạ mạng con, và loại giao thức Lưu ý rằng lưu lượng IP được dồn kênh theo thống kê, do đó một luồng lưu lượng phải được tách kênh để tái tạo lại các phiên TCP/IP
Trang 21 So sánh số lượng các cặp nguồn - đích trong luồng logic có chứa các bước thứ hai và thứ ba, tương ứng quá trình bắt tay ba bước TCP Nếu sự sai khác là quá lớn, là dấu hiệu của tấn công từ chối dịch vụ SYN Flood
1.3.3 Ứng dụng trong phân tích nhật ký giao dịch
Khai phá dữ liệu trực tuyến, sử dụng các bản ghi truy nhập web, bản ghi cuộc gọi điện thoại, và bản ghi các giao dịch Ngân hàng qua ATM cũng
là bài toán phù hợp với các mô hình luồng dữ liệu Mục đích của việc khai phá dữ liệu này là để tìm kiếm các mẫu hành vi quan tâm của khách hàng, xác định các hành vi nghi ngờ, từ đó có thể chỉ ra hành vi gian lận và dự báo giá trị dữ liệu cho tương lai Cũng tương tự như trong ứng dụng trực tuyến khác, điều này đòi hỏi phải kết nối nhiều luồng dữ liệu, thực hiện các phép lọc phức tạp và phân tích thống kê Sau đây là một số ví dụ:
Tìm tất cả các trang web trên một máy chủ cụ thể đã được truy nhập trong mười lăm phút cuối với một tỷ lệ lớn hơn mức trung bình hàng ngày ít nhất là 40%
Kiểm tra nhật ký của máy chủ Web trong thời gian thực và nếu máy chủ chính bị quá tải thì tái định tuyến người dùng đến các máy chủ dự phòng
Xác định đường kính chuyển vùng (Roaming) của khách hàng sử dụng điện thoại di động: Khai phá nhật ký về điện thoại di động đối với mỗi khách hàng và xác định số lượng lớn nhất của các trạm gốc khác nhau mà khách hàng sử dụng trong một cuộc gọi điện thoại di động
Bên cạnh các ứng dụng mang tính kỹ thuật, hệ quản lý luồng dữ liệu còn có nhiều ứng dụng trong lĩnh vực tài chính ngân hàng, thị trường chứng khoán Tuy nhiên các vấn đề này nằm ngoài phạm vi nghiên cứu của luận văn
Trang 22Chương 1 đã trình bày kiến trúc, mô hình dữ liệu, mô hình truy vấn
và một số lĩnh vực ứng dụng của hệ quản lý luồng dữ liệu chuỗi thời gian Một trong các ứng dụng nổi bật là sử dụng hệ thống này trong quá trình thu thập, lưu trữ tạm thời, truy vấn, xử lý phục vụ quản trị, theo dõi và phát hiện các hoạt động bất thường trên mạng Trong quản trị mạng, tần suất trích mẫu thu thập thông tin càng lớn thì việc chẩn đoán hoạt động của mạng càng chính xác (Ví dụ: chẩn đoán lỗi), nhưng việc xử lý và lưu trữ dữ liệu theo thời gian
là cực lớn, Thuật toán xoay vòng với cơ sở dữ liệu chuỗi thời gian RRD (Round Robin Database) là một giải pháp nhằm tối ưu hóa hệ thống, tránh tốn kém tài nguyên và giảm độ phức tạp của hệ thống Thuật toán RRD và ứng dụng trong quản trị mạng là nội dung của chương 2
Trang 23CHƯƠNG II THUẬT TOÁN XOAY VÒNG VỚI CƠ SỞ DỮ LIỆU CHUỖI THỜI GIAN
TRONG QUẢN TRỊ MẠNG
2.1 Thuật toán xoay vòng với cơ sở dữ liệu chuỗi thời gian
Thuật toán xoay vòng với quản lý dữ liệu chuỗi thời gian cho phép lưu trữ và hiển thị dữ liệu chuỗi thời gian, thu thập thông tin từ mạng hay chuyển
đổi từ MySQL và lưu trữ các dữ liệu dưới dạng đã xử lý, giảm thiểu vận hành
I/ O để cập nhật thời gian thực và trình bày đồ thị hữu ích bằng cách xử lý dữ liệu độ phân giải ở các khoảng thời gian khác nhau
Thông thường cơ sở dữ liệu chuỗi thời gian RRD sử dụng bộ quét thiết
bị để lấy dữ liệu của các máy tính trên mạng như: tải trung bình, sử dụng CPU, tình trạng liên thông của mạng, bộ vi xử lý… Sau đó sẽ thực kết xuất và hiển thị kết quả dưới dạng đồ thị các thông số đó của các máy tính trên mạng.Như vậy, để thấy rõ các điểm giống nhau và sự khác biệt giữa thuật toán xoay vòng RR( Round Robin) truyền thống được sử dụng trong hệ điều hành máy tính và thuật toán thuật toán xoay vòng trong cơ sở dữ liệu chuỗi thời gian RRD ( Round Robin Database), trước tiên chúng ta nhắc lại nguyên
lý thuật toán RR và tiếp theo sẽ trình bày về thuật toán RRD
2.1.1 Nguyên lý của thuật toán xoay vòng RR( Round Robin)
Trong thuật toán này, hệ thống quy định một lượng tử thời gian (time quantum) khoảng từ 10-100 mili giây (ms)
Mỗi tiến trình trong hàng đợi lần lượt được phân phối một lượng tử thời gian để thực hiện Sau khoảng thời gian đó, nếu tiến trình chưa kết thúc hoặc không rơi vào trạng thái đợi thì nó được chuyển về cuối hàng đợi
Trang 24Hàng đợi các tiến trình được tổ chức theo kiểu vòng tròn và các tiến trình luôn luôn đảm bảo được phục vụ Khi có tiến trình mới phát sinh, nó sẽ được đưa vào hàng đợi vòng tròn và được đặt ở vị trí phục vụ ngay Các tiến trình dù ngắn hay dài đều có độ ưu tiên phục vụ như nhau
Ví dụ minh hoạ: về thuật toán Round Robin
Tiến trình
Thời điểm vào hàng đợi
Thời gian xử lý (ms)
Thời gian chờ đợi trung bình sẽ là (0+6+3+5)/3 = 4.66 milisecondes
Nếu có n tiến trình trong hàng đợi sẵn sàng và sử dụng quantum q, thì mỗi tiến trình sẽ được cấp phát CPU 1/n trong từng khoảng thời gian q Mỗi
Trang 25tiến trình sẽ không phải đợi quá (n-1)q đơn vị thời gian trước khi nhận được
CPU cho lượt kế tiếp
Nhận xét: Vấn đề đáng quan tâm đối với giải thuật RR là độ dài của quantum Nếu thời lượng quantum quá bé sẽ phát sinh quá nhiều sự chuyển đổi giữa các tiến trình và khiến cho việc sử dụng CPU kém hiệu quả Nhưng nếu sử dụng quantum quá lớn sẽ làm tăng thời gian hồi đáp và giảm khả năng tương tác của hệ thống
Trên thực tế, để đảm bảo độ ưu tiên cho các tiến trình dài, hệ thống sẽ phân chia các tiến trình thành m lớp Số lần đươc phục vụ và thời gian một
lần phục vụ tiến trình tại mỗi lớp khác nhau (giả sử ở lớp thứ i, tiến trình được phục vụ k i lần và mỗi lần với thời gian q i)
Nếu sau khoảng thời gian đã được phân phối mà tiến trình chưa kết
thúc hoặc không bị ngắt thì nó sẽ được chuyển sang lớp thứ i + 1 ( với k i+1 và
q i+1 lớn hơn ) Lượng tử thời gian sẽ tăng dần cho đến khi tiến trình rơi vào
lớp ngoài cùng (lớp m) Ở đó nó sẽ được phục vụ với lượng tử q m không đổi Như vậy thứ tự ưu tiên của các tiến trình sẽ tăng dần theo thời gian xếp hàng đợi
Ưu điểm của phương pháp phục vụ đồng mức theo lớp sẽ cho phép hệ thông ưu tiên những tiến trình ngắn (vì nó kết thúc sớm) nhưng nó không gây tổn hại lớn cho các tiến trình dài
Nhược điểm là do phải thường xuyên phân phối lại giờ CPU nên thời gian chờ đợi trung bình của Round Robin có thể lớn
Trang 262.1.2 Thuật toán xoay vòng với cơ sở dữ liệu chuỗi thời gian RRD ( Round Robin Database)
2.1.2.1 Nguyên lý của RRD
Nhu cầu xây dựng hệ thống quản trị mạng cho phép giám sát theo thời gian thực cũng như phân tích tốc độ mạng cao là cần thiết Để tăng độ chính xác của các phép đo lường, quản trị mạng thường làm tăng tần số lấy mẫu Hậu quả của xu hướng này là hệ thống giám sát sản xuất một số lượng
dữ liệu lớn cần được lưu trữ và phân tích trong thời gian rất ngắn Cơ sở dữ liệu quan hệ không thích hợp cho việc lưu trữ và xử lý dữ liệu đo lường phục
vụ quản trị mạng vì các lý do sau:
• Tại mỗi khoảng thời gian đo lường, các bảng sẽ cập nhập dữ liệu mới
và như vậy làm tăng số bản ghi Hậu quả là bảng dữ liệu cũng như các không gian thực trên đĩa tăng cùng với số phép đo
• Ngay sau khi chỉ số bảng trở nên đủ lớn sẽ cản chở việc lưu (cached) xuống RAM và việc lấy dữ liệu sẽ trở nên chậm chạp đáng kể, đăc biệt đối với các ứng dụng có dữ liệu ở phần đầu cơ sở dữ liệu
Để giải quyết những vấn đề này với cơ sở dữ liệu quan hệ, cơ sở dữ liệu chuỗi thời gian (Time series database, TSDs) đã được tạo ra Cơ sở dữ liệu xoay vòng (Round - Robin, Database, RRD) là một bổ sung tuyệt vời để
cơ sở dữ liệu quan hệ lưu trữ chuỗi thời gian Nó thực hiện một bộ đệm quay vòng cố định dựa trên tệp tin, nơi dữ liệu được lưu trữ theo dấu thời gian Khi
cơ sở dữ liệu được tạo ra, phải xác định thời gian tồn tại dữ liệu cũng như các tần số (tên bước của RRD) dữ liệu được lưu trữ Ví dụ, cứ mỗi 5 phút thực hiện phép đo và lưu giá trị đo lâu nhất 30 ngày Hình 2.1: mô tả nguyên lý giải thuật của một cơ sở dữ liệu RRD Vì tất cả các thông tin được quy định tại thời điểm tạo cơ sở dữ liệu, các file RRD không phát triển theo thời gian:
Trang 27kích thước của chúng là tĩnh và bằng bộ đệm quay vòng Mỗi cơ sở dữ liệu RRD có thể lưu trữ nhiều chuỗi thời gian, không nhất thiết tất cả chia sẻ cùng thông số thời gian sống và tần số Thường cơ sở dữ liệu RRD có kích thước nhỏ (64 KB hoặc ít hơn) và được lưu trữ như các tập tin trên đĩa
Hình 2.1 Nguyên lý của cơ sở dữ liệu RRD (RRA)
2.1.2.2 Dữ liệu trong RRD
Cơ sở dữ liệu chuỗi thời gian RRD lưu trữ dạng “tỷ lệ” trong khoảng thời gian Những khoảng thời gian được xác định rõ ràng về ranh giới theo thời gian Tuy nhiên, dữ liệu đầu vào không phải là luôn luôn là một tỷ lệ và rất có thể sẽ không trong ranh giới đó Điều này có nghĩa là dữ liệu đầu vào cần phải được xử lý
Quá trình chuyển đổi dữ liệu chia làm ba giai đoạn:
Chuyển đổi dữ liệu về dạng tỷ lệ
Chuẩn hóa các khoảng thời gian
Hợp nhất các khoảng thời gian vào một khoảng thời gian lớn hơn
Trang 28Tất cả các giai đoạn đều áp dụng cho tất cả các dữ liệu đầu vào, không
có trường hợp ngoại lệ Dữ liệu đầu vào có bốn kiểu được sử dụng là: GAUGE, COUNTER, ABSOLUTE, DERIVE
Đối với từng kiểu dữ liệu đầu vào sẽ có quy tắc chuyển đổi khác nhau:
DERIVE:
Kiểu dữ liệu này tương tự như COUNTER, tuy nhiên có thể tăng hoặc giảm Tỷ lệ có thể có giá trị dương hoặc âm
Trong cả bốn trường hợp, kết quả dữ liệu sau chuyển đổi đều là một tỷ
lệ Tỷ lệ này có hiệu lực giữa lần truy nhập trước và hiện tại Như vậy công cụ RRDtool không cần phải biết bất cứ điều gì về các dữ liệu đầu vào mà chỉ cần biết khi bắt đầu, kết thúc và tỷ lệ
Trang 29Vấn đề tỷ lệ và thời gian
Hình 2.2 Vấn đề tỷ lệ và thời gian 1
Hãy quan sát ví dụ như hình 2.2 nếu máy tính chuyển dữ liệu tốc độ 60 byte/giây trong 1 giây, hay chuyển cùng một lượng dữ liệu với tốc độ 30 byte/giây trong 2 giây, hoặc 20 byte/giây trong 3 giây, hoặc 15 byte/giây trong 4 giây,
Chúng ta nhận thấy: tỷ lệ nhân với thời gian là một hằng số Nếu chúng
ta quan tâm số byte dữ liệu được truyền, trong hình trên, diện tích các miền là quan trọng, không cần quan tâm chiều rộng cũng như chiều cao của nó Chính vì vậy sau khi chuyên đổi về dạng tỷ lệ dữ liệu cần phải được chuẩn hóa
Giai đoạn 2: Chuẩn hóa khoảng thời gian
Các đầu vào bây giờ là một tỷ lệ nhưng nó không xác định rõ ranh giới
thời gian Chính vì vậy cần chuẩn hóa khoảng thời gian Giả sử chúng ta đọc
một bộ đếm mỗi phút Chúng ta biết nội dung bộ đếm tại một thời điểm cụ thể (MM: SS) Nhưng chúng ta không biết: số đếm tăng lên với tỷ lệ cao trong một khoảng thời gian ngắn (1 giây ở 60 byte/giây) hoặc trong một thời gian dài ở một tỷ lệ nhỏ (60 giây ở 1 byte/giây) Trên hình 2.2, các thời điểm (MM: SS) sẽ được ở đâu đó trong vùng trắng
Trang 30Điều này có nghĩa rằng tỷ lệ chúng ta biết không phải là tỷ lệ thực! Trong ví dụ trên, chúng ta chỉ biết rằng máy tính chuyển 60 byte trong 60 giây, ở đâu đó giữa MM: SS và MM: SS tiếp theo Tỷ lệ tính toán được sẽ là
1 byte/giây trong mỗi khoảng thời gian 60 giây
Hình 2.3 cho thấy một số khoảng thời gian và mức đo Các mẫu được lấy tại giây thứ 30 của mỗi phút, mỗi miền có màu đại diện cho các lần đo lường khác nhau
Hình 2.3 Vấn đề tỷ lệ và thời gian 2
Phần dưới của hình 2.3 là kết quả dữ liệu sau khi chuẩn hóa hóa Mỗi tỷ
lệ đã chuẩn hóa có giá trị trong một khoảng thời gian nhất định Chúng ta gọi chung là điểm dữ liệu chính PDP (Primary Data Point) Mỗi PDP là có giá trị trong một bước
Giai đoạn 3: Hợp nhất các khoảng thời gian
Giả sử chúng ta có dữ liệu như trên hình 2.3 Chúng ta muốn xem mười ngày của dữ liệu trên một biểu đồ Nếu mỗi PDP là một phút, bạn cần
10 * 24 * 60 PDP (10 ngày 24 giờ 60 phút) 14400 PDP là rất nhiều, đặc biệt
là nếu màn hình ảnh nhỏ chỉ là 360 pixels Có một cách để hiển thị dữ liệu đó
là để gộp một số PDP với nhau và hiển thị chúng như một điểm ảnh Ví dụ gộp 40 PDP vào một thời gian, cho mỗi điểm ảnh, để có được tổng cộng mười
Trang 31ngày Việc kết hợp 40 PDP vào một điểm gọi là hợp nhất (Consolidation) và
có thể được thực hiện bằng nhiều cách:
Lấy tỷ lệ chuẩn hóa cuối cùng
Các hàm hợp nhất CF (Consolidation Function ) này được sử dụng phụ thuộc vào mục tiêu khác nhau
Các dữ liệu thu thập của các hệ thống sử dụng cơ sở dữ liệu chuỗi thời gian được xử lý và lưu trữ trong các cơ sở dữ liệu RRD dưới dạng các tập tin
Do lượng dữ liệu thu thập được rất lớn và để theo dõi hoạt động trong một quá khứ dài, các hệ thống cũng sử dụng nguyên lý “Hợp nhất các khoảng thời gian” Từ các dữ liệu thu thập được trong RRD, hệ thông có thể thiết đặt để tính toán các giá trị AVERAGE, MIN, MAX, and LAST trong những khoảng thời gian nhất định và lưu vào cơ sở dữ liệu lưu trữ (Round Robin Archives, RRA)
Trong một hệ thống, có thể có nhiều cơ sở dữ liệu RRA, có thể thiết đặt
để hợp nhất khoảng thời gian với các hàm AVERAGE, MIN, MAX, and LAST của các thông số thu được cho từng cơ sở dữ liệu lưu trữ RRA Hình 2.4 Minh họa cơ chế tổ hợp dữ liệu này
Trang 32Hình 2.4 Hợp nhất trong cơ sở dữ liệu RRD 2.2 RRD trong quản trị mạng[1]
RRD là từ viết tắt của Cơ sở dữ liệu Round Robin là một hệ thống quản
lý, lưu trữ dữ liệu và hiển thị dữ liệu theo chuỗi thời gian
Hình 2.5 cho thấy sơ đồ khối của một hệ thống quản trị mạng:
Hình 2.5 Sơ đồ khối của hệ quản trị mạng
Việc quản trị mạng được thực hiện thông qua trình duyệt Web Để cấu hình, bổ sung mẫu thiết bị cần quản trị, phát triển công cụ người quản trị chỉ cần đăng nhập vào các trang web Các dữ liệu quản trị hệ thống sẽ được lưu trữ trong các bảng dữ liệu MySQL Trên cùng một máy chủ, các modul quét các thiết bị để (poller) truy vấn, thu thập các thông số mạng của các thiết bị,
Trang 33ví dụ bộ định tuyến, chuyển mạch, máy chủ, ứng dụng Kết quả thu thập từ những mục tiêu đang được lưu trữ trong các cơ sở dữ liệu chuỗi thời gian RRD Hệ quản trị mạng sử dụng những dữ liệu RRD để tổ hợp và biểu diễn kết quả dưới dạng đồ thị RRD cũng được sử dụng để phát hiện các lưu lượng bất thường trong mạng và qua đó đánh giá hoạt động hay phát hiện các tấn công mạng
2.2.1 RRD trong thu thập dữ liệu và hiển thị kết quả
Một hệ thống lưu trữ chuyên ngành được biết đến như một cơ sở dữ liệu Round Robin cho phép lưu trữ một lượng lớn thông tin chuỗi thời gian như nhiệt độ, băng thông mạng và giá cổ phiếu với một dung lượng đĩa không đổi Nó làm điều này bằng cách tận dụng nhu cầu thay đổi cho chính xác Như chúng ta sẽ thấy sau này, các "round - robin" một phần xuất phát từ cấu trúc
dữ liệu cơ bản được sử dụng để lưu trữ các điểm dữ liệu: danh sách tròn
Nhiệm vụ đầu tiên trong thu thập dữ liệu là để lấy dữ liệu và được thực hiện bằng cách sử dụng bộ quét thiết bị Tần số quét có thể được thực hiện từ lịch của hệ điều hành
Sau khi thu thập được dữ liệu, để có thể tạo ra những đồ thị về trạng thái hoạt động của các thiết bị cần giám sát sử dụng RRDTool (Round Robin Database Tool) để lưu trữ dữ liệu RRDTool là một hệ thống lưu trữ dữ liệu
và hiển thị dữ liệu theo chuỗi thời gian Nó lưu trữ các dữ liệu một cách rất nhỏ gọn mà độ lớn của tệp sẽ không thay đổi theo thời gian, dựa trên dữ liệu của RRDTool, RDDTool hỗ trợ trong hệ thống đồ họa, tạo ra các sơ đồ thể hiện dữ liệu mà nó thu thập được
Một trong những tính năng được đánh giá cao nhất của RRDTool là tích hợp chức năng đồ họa Điều này càng hữu ích khi kết hợp với máy chủ web
Trang 34Như vậy, dữ liệu được thể hiện qua các thông số của hệ thống và khoảng thời gian dữ liệu được thu thập Hình ảnh của các dữ liệu này thường được minh họa thể hiện theo những cách rất khác nhau trên cơ sở đó người quản trị có thể đánh giá được ngưỡng của thiết bị
Trong hệ quản trị mạng, ngoài việc sử dụng cơ sở dữ liệu RRD để lưu trữ dữ liệu thu thập và tổ hợp theo chuỗi thời gian, các nhà công nghệ còn phát triển cơ sở dữ liệu RRD để biểu diễn dữ liệu dưới dạng đồ thị Hình 2.6 Minh họa nguyên lý hiển thị kết quả các thông số mạng từ RRD
Hình 2.6 Biểu diễn đồ thị trong RRD
Hệ thống giám sát mạng quy mô lớn yêu cầu lưu trữ và tổ hợp dữ liệu
đo lường hiệu quả cơ sở dữ liệu quan hệ và cơ sở dữ liệu xoay vòng RRD Có những hạn chế khi xử lý một lượng lớn số chuỗi thời gian Thời gian truy cập
dữ liệu làm tăng đáng kể khi tập số dữ liệu, số phép đo lường lớn Chính vì vậy hệ thống quản trị và theo dõi mạng buộc phải giảm số các thông số đo lường số liệu và tần suất lấy thông số để thời gian truy cập dữ liệu giới hạn
Trang 35trong phạm vi chấp nhận được Có thể khai thác giải pháp nén cơ sở dữ liệu chuỗi thời gian và cải tiến RRD để có thể lưu trữ và tổ hợp dữ liệu trong thời gian thực với mạng quy mô lớn
Quản lý thời gian thực của một cơ sở hạ tầng mạng lưới dịch vụ tại các IAP cấp / ISP không phải là một công việc tầm thường[1] Đầu tiên, đó là
số lượng tuyệt đối của dữ liệu được tạo ra trên cơ sở một thời gian ngắn Các
cơ sở hạ tầng phục vụ mạng lưới hoạt động lớn gồm hàng chục thiết bị chuyển mạch và định tuyến, hàng trăm máy tính host, và hàng ngàn trường hợp ứng dụng daemon để hỗ trợ một số thuê bao của hơn 1 triệu người sử dụng Thứ hai, có rất nhiều loại trong các loại dữ liệu thu thập được Các dịch
vụ mạng doanh nghiệp theo dõi các bộ đếm SNMP trên các liên kết mạng, thống kê như tải của CPU và hoạt động của thiết bị I/O, và các bản ghi sự kiện cho daemon ứng dụng Mọi biến giám sát, có một đơn vị lưu trữ dữ liệu trên một cổng thiết bị chuyển mạch, tải CPU của một máy chủ, hoặc yêu cầu
xử lý bởi một chương trình chạy như một tiến trình nền, tạo ra một chuỗi thời gian Tất cả những chuỗi thời gian phản ánh một phần của hệ thống mạng dịch vụ tổng thể Do đó, thách thức đầu tiên là thu thập, lưu trữ và cung cấp thời gian truy cập dữ liệu rộng lớn và đa dạng Các phần mềm mã nguồn mở [7] thường gặp thử thách đầu tiên này Khi sử dụng trình duyệt web, kỹ thuật viên mạng có thể nhanh chóng xem một loạt biểu đồ thời gian cho một mục tiêu và biến của tần suất
Các kỹ thuật viên mạng có thể sẽ quan tâm đến hành vi khác thường; nghĩa là, những thay đổi trong hành vi ngắn hạn của một chuỗi thời gian (phút hoặc giờ) mà không phù hợp với lịch sử quá khứ Các kỹ thuật viên có thể sẽ không quan tâm tới xu hướng dài hạn (tuần hoặc tháng) bởi vì họ hy vọng
Trang 36chuỗi thời gian phải được phát triển trong một môi trường năng động Hành vi khác thường có thể chỉ là một phần rất nhỏ trong hiệu suất, sự thất bại trong ứng dụng, hoặc hệ thống thời gian chết Trong một số trường hợp, hành vi khác thường có thể được dự đoán; một số hành vi lại không thể dự đoán được
Thách thức thứ hai của mạng lưới giám sát là việc tự động xác định hành vi khác thường ở giữa hàng ngàn chuỗi thời gian mạng dịch vụ Một khi hành vi đó được xác định, thì sẽ kích hoạt được cảnh báo để thu hút sự chú ý của kỹ thuật viên về các vấn đề tiềm năng Hiện có các công cụ phần mềm cung cấp một số chức năng này, nhưng các giải pháp này thường dựa trên các quy tắc đơn giản hoặc một mức nào đó (ví dụ, sử dụng bộ nhớ là dưới 80%) Những quy định đơn giản này và mức này là đủ cho nhiều ứng dụng, nhưng
họ không thể phát hiện những thay đổi tinh tế hơn trong hành vi và họ áp dụng một tiêu chí tĩnh để phát hiện hành vi khác thường hơn là một tiêu chí năng động
Khái niệm về hành vi khác thường
Giả sử một mô hình thống kê tồn tại mô tả hành vi của một chuỗi thời gian (hoặc ít nhất là mô tả những điểm cần chú ý) Với một mô hình như vậy, người ta có thể xác định hành vi khác thường là những hành vi không phù hợp với các mô hình (hoặc không được mô tả hiệu quả bởi các mô hình)
Tất nhiên, hành vi bất thường đối với một mô hình thống kê có thể hoặc không thể mang lại kết quả thực từ quyền lợi của các kỹ thuật viên Trong trường hợp phát hiện nhầm từ kết quả bình thường thành bất thường thì gọi là sai tuyệt đối (false positive) Rõ ràng, ý tưởng là để giảm thiểu tỷ lệ sự kiện bình thường sai khi xác định tất cả các sự kiện thực Tuy nhiên, ý tưởng này hiếm khi có thể đạt được Trong hầu hết các hệ thống phát hiện, có một
sự cân bằng giữa các sự lựa chọn (để tránh nhầm kết quả bình thường, cung
Trang 37cấp tính đặc trưng và chính xác cao) và độ nhạy cảm (khả năng phát hiện kết quả bình thường, cũng như khả năng gợi lại) Trong khi điều quan trọng để duy trì nhận thức về những vấn đề này là các hệ thống đó sẽ trở nên ít quan trọng nếu ta coi mô hình thống kê cho hành vi bất thường như là một cơ chế sàng lọc chứ không phải là một sự thay thế cho sự phán đoán của các kỹ thuật viên
Chú ý: định nghĩa này áp dụng cho mỗi chuỗi thời gian độc lập Có thể có nhiều cách để đạt được mô hình thống kê các hành vi khác thường bằng cách tận dụng các mối quan hệ giữa các biến mạng lưới dịch vụ nhưng điều đó không được để cập trong bài viết này
Nhiều mạng lưới dịch vụ chuỗi thời gian cần phải có các quy tắc (hoặc đặc điểm) sau đây và những quy tắc này cũng rất cần cho một mô hình:
1 Một xu hướng theo thời gian (ví dụ, một sự gia tăng dần dần trong các yêu cầu ứng dụng daemon trong khoảng thời gian hai tháng do tăng tải thuê bao)
2 Một xu hướng mùa vụ hoặc theo chu kỳ (ví dụ, hàng ngày số bytes sẽ tăng theo giây, tăng nhiều vào những giờ sáng, đỉnh điểm vào buổi chiều và giảm muộn vào ban đêm)
3 Biến thiên theo mùa (ví dụ, yêu cầu ứng dụng dao động rất mạnh từng phút trong giờ cao điểm từ 4-8 giờ tối, nhưng lúc 1 giờ sáng yêu cầu ứng dụng hầu như không thay đổi)
4 Tiến hóa dần dần của những qui luật (1) đến (3) theo thời gian (ví dụ, chu kỳ hàng ngày thay đổi dần dần khi số lượng các giờ ban ngày buổi tối tăng từ tháng Một đến tháng Sáu)
Trang 38Những quy định này có thể không đầy đủ nhưng nó là những quy định quan trọng nhất
Ngoài hàng loạt những qui luật thời gian cho mô hình thì thiết kế mô hình phải xem xét bối cảnh giám sát thời gian thực Các kỹ thuật viên cũng biết rất rõ là mô hình thống kê hết sức phức tạp và khó có thể tính toán khả thi trong bối cảnh thời gian thực
Phát hiện hành vi bất thường này được chia thành ba phần:
- Một thuật toán để dự đoán các giá trị của một chuỗi thời gian tương lai
- Một thước đo về độ lệch giữa các giá trị dự đoán và các giá trị quan sát
- Một cơ chế để quyết định liệu rằng và khi nào một giá trị quan sát hoặc chuỗi các giá trị quan sát là “bị lệch” so với giá trị dự đoán
Các mô hình được đề xuất là một phần mở rộng của Holt - Winters
Dự báo, trong đó hỗ trợ mô hình gia tăng cập nhật thông qua làm thông suốt Các phần sau đây thảo luận về các mô hình ở một số chi tiết và yêu cầu một
Phương pháp làm trơn theo lũy thừa
Phương pháp làm trơn theo lũy thừa là một thuật toán đơn giản để dự đoán giá trị tiếp theo trong một chuỗi thời gian, thuật toán này sẽ cho những
Trang 39giá trị hiện tại và những dự đoán hiện tại Cho ŷ t + 1 biểu thị các giá trị dự đoán
cho thời điểm t + 1 , sau đó: ŷ t + 1 = αy t +( 1 – α) ŷ t
Dự đoán thực sự là trung bình về lượng tất cả các quan sát trong quá khứ trong chuỗi thời gian Những tiền đề của Phương pháp làm trơn theo lũy thừa là giá trị hiện tại cung cấp nhiều thông tin nhất cho dự đoán các giá trị tiếp theo, và rằng trọng lượng của sự quan sát cũ sẽ giảm theo cấp số nhân bởi
vì những quan sát này thiên về quá khứ Nó là một thuật toán gia tăng vì các
dự đoán tiếp theo thu được bằng cách cập nhật các dự báo hiện tại với các giá trị quan sát hiện tại
α là các tham số mô hình và 0 < α < 1 Nó quyết định tỷ lệ phân rã ( 1
- α) và trọng lượng các giá trị hiện tại được đưa ra trong quá trình cập nhật gia
tăng
Phương pháp dự đoán theo mô hình Holt - Winters
Phương pháp dự báo theo mô hình Holt - Winters là một thuật toán phức tạp hơn là phương pháp làm trơn theo lũy thừa Holt - Winters dựa trên tiền đề rằng các chuỗi thời gian quan sát có thể được chia thành ba phần: đường cơ sở, xu hướng tuyến tính, và hiệu ứng theo mùa Các thuật toán giả định mỗi thành phần này tiến hóa theo thời gian và điều này được thực hiện bằng cách áp dụng phương pháp làm trơn theo lũy thừa để từng bước cập nhật các thành phần
Trang 40được xác định bởi các thông của mô hình (α, β, γ) Nhớ lại m là khoảng thời
gian của chu kỳ theo mùa; vì vậy các hệ số theo mùa tại thời điểm t tham khảo các hệ số tính toán cuối cùng cho cùng thời điểm trong chu kỳ theo mùa
Các ước tính mới của đường cơ sở là giá trị quan sát được điều chỉnh
bởi các ước tính tốt nhất có sẵn của hệ số theo mùa (c t - m) Làm cơ sở cập nhật vào tài khoản cho sự thay đổi do xu hướng tuyến tính, dự đoán xu hướng tuyến tính được thêm vào hệ số đường cơ sở Các ước tính mới của xu hướng tuyến tính chỉ đơn giản là sự khác biệt giữa các cơ sở mới và cũ (như khoảng thời gian giữa các quan sát cố định, nó không liên quan) Các ước tính mới của các thành phần theo mùa là sự khác biệt giữa giá trị quan sát và các cơ sở tương ứng
α, β và γ là các thông số thích nghi của thuật toán và 0 < α, β, γ < 1
Giá trị lớn hơn có nghĩa là các thuật toán thích nghi nhanh hơn và dự đoán phản ánh quan sát gần đây trong chuỗi thời gian; giá trị nhỏ hơn có nghĩa là các thuật toán thích nghi chậm hơn, đặt trọng lượng hơn về lịch sử quá khứ của chuỗi thời gian
Lưu ý rằng các công thức cập nhật bao hàm một sự hỗ trợ cần thiết để lưu trữ các giá trị hiện tại của đường cơ sở và xu hướng tuyến tính, và một giai đoạn duy nhất của hệ số theo mùa, như các giá trị lưu trữ được thay thế tại mỗi lần lặp