Tải bản đầy đủ (.pdf) (104 trang)

Ứng dụng bigdata trong việc giám sát và thống kê dữ liệu truy vấn hệ thống DNS quốc gia

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (5.11 MB, 104 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
---------------------------------------

TRẦN CẢNH TOÀN

TRẦN CẢNH TOÀN

KỸ THUẬT PHẦN MỀM

ỨNG DỤNG BIGDATA TRONG VIỆC GIÁM SÁT VÀ THỐNG KÊ
DỮ LIỆU TRUY VẤN HỆ THỐNG DNS QUỐC GIA

LUẬN VĂN THẠC SĨ KHOA HỌC
CHUYÊN NGÀNH KỸ THUẬT PHẦN MỀM

KHOÁ: 2016A
Hà Nội – Năm 2018


BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
--------------------------------------TRẦN CẢNH TOÀN

ỨNG DỤNG BIGDATA TRONG VIỆC GIÁM SÁT VÀ THỐNG KÊ
DỮ LIỆU TRUY VẤN HỆ THỐNG DNS QUỐC GIA

Chuyên ngành : Kỹ thuật phần mềm

LUẬN VĂN THẠC SĨ KHOA HỌC
CHUYÊN NGÀNH KỸ THUẬT PHẦN MỀM



NGƯỜI HƯỚNG DẪN KHOA HỌC :
PGS. TS. Cao Tuấn Dũng

Hà Nội – Năm 2018


LỜI CAM ĐOAN
Tơi xin cam đoan đây là cơng trình nghiên cứu của riêng tôi. Các nội dung và kết
quả trình bày trong luận văn là hồn tồn trung thực và chưa có tác giả nào cơng bố
trong bất kỳ một cơng trình nào khác./.
Tác giả luận văn

Trần Cảnh Tồn


MỤC LỤC
DANH MỤC CÁC CHỮ VIẾT TẮT, CÁC KÝ HIỆU ..................................................1
DANH MỤC CÁC HÌNH VẼ .........................................................................................2
DANH MỤC CÁC BẢNG ..............................................................................................4
MỞ ĐẦU .........................................................................................................................5
Chương 1

: GIỚI THIỆU ĐỀ TÀI ...............................................................................8

1.1. Tổng quan về hệ thống máy chủ DNS Quốc gia ...............................................8
1.1.1.

Mơ hình và chức năng của hệ thống DNS Quốc gia ...............................8


1.1.2.

Hoạt động truy vấn tên miền qua hệ thống máy chủ DNS Quốc gia ......9

1.1.3.

Dữ liệu log truy vấn DNS trên hệ thống DNS Quốc gia .......................11

1.2. Hiện trạng hệ thống phân tích, giám sát và thống kê log truy vấn DNS .........12
1.2.1.

Mơ hình tổng quan và các chức năng của hệ thống ...............................12

1.2.2.

Nguyên tắc hoạt động của hệ thống .......................................................16

1.2.3.

Các hạn chế của hệ thống hiện tại .........................................................19

1.3. Mục tiêu và định hướng giải pháp ...................................................................22
Chương 2

: TỔNG QUAN VỀ CƠ SỞ LÝ THUYẾT VÀ CƠNG NGHỆ ...............25

2.1. Tình hình nghiên cứu lĩnh vực .........................................................................25
2.1.1.

Tình hình nghiên cứu và ứng dụng trên thế giới ...................................25


2.1.2.

Tình hình nghiên cứu và ứng dụng trong nước .....................................30

2.1.3.

Một số giải pháp nổi bật ........................................................................31

2.2. Tổng quan về công nghệ Big Data Hadoop .....................................................35
2.2.1.

Giới thiệu về công nghệ Big Data Hadoop ............................................35

2.2.2.

Các thành phần cơ bản của hệ thống Big Data Hadoop ........................36

2.2.3.

Hệ sinh thái Hadoop ..............................................................................49

2.2.4.

Quản lý cụm máy chủ Big Data Hadoop với giải pháp của Cloudera ...51

Chương 3 : XÂY DỰNG HỆ THỐNG GIÁM SÁT, THỐNG KÊ DỮ LIỆU LOG
TRUY VẤN DNS QUỐC GIA DỰA TRÊN CÔNG NGHỆ BIGDATA ....................55
3.1. Áp dụng cơng nghệ Big Data Hadoop vào bài tốn giám sát và thống kê dữ
liệu log truy vấn DNS ................................................................................................55

3.1.1.
Các thành phần của Big Data Hadoop áp dụng cho bài toán giám sát và
thống kê dữ liệu log. ..............................................................................................55
3.1.2.
Thiết kế mô hình triển khai hệ thống giám sát, thống kê log truy vấn
DNS Quốc gia ........................................................................................................56
3.2. Triển khai cụm máy chủ Big Data Hadoop .....................................................58


3.2.1.

Kích thước và quy mơ hệ thống.............................................................58

3.2.2.

Triển khai cụm máy chủ Big Data Hadoop với giải pháp của Cloudera
59

3.3. Xây dựng hệ thống giám sát và thống kê dữ liệu log truy vấn DNS sử dụng
Big Data Hadoop .......................................................................................................61
3.3.1.

Thu thập và phân tích log truy vấn DNS ...............................................61

3.3.2.

Tổ chức để lưu trữ log truy vấn DNS ....................................................71

3.3.3.


Trực quan dữ liệu log truy vấn DNS để phục vụ giám sát, thống kê ....75

Chương 4

: PHÂN TÍCH KẾT QUẢ ĐẠT ĐƯỢC ...................................................80

4.1. Kết quả triển khai hệ thống ..............................................................................80
4.1.1.

Giao diện tổng thể hệ thống ...................................................................80

4.1.2.

Đồ thị lưu lượng truy vấn DNS .............................................................81

4.1.3.

Danh sách các địa chỉ IP truy vấn nhiều nhất ........................................82

4.1.4.

Danh sách các tên miền GTLD được truy vấn nhiều nhất ....................83

4.1.5.

Danh sách các tên miền .VN được truy vấn nhiều nhất ........................83

4.1.6.

Biểu đồ thống kê nguồn truy vấn DNS theo quốc gia ...........................84


4.1.7.

Bản đồ nhiệt các khu vực trên thế giới về truy vấn DNS Quốc gia ......84

4.1.8.

Biểu đồ thống kê các loại bản ghi được truy vấn ..................................85

4.1.9.

Biểu đồ thống kê về tỷ lệ sử dụng IPv4 – IPv6 trong truy vấn DNS ....86

4.1.10.

Biểu đồ thống kê về tỷ lệ truy vấn DNSSEC ........................................86

4.1.11.

Biểu đồ thống kê về giao thức truyền vận trong truy vấn DNS ............87

4.1.12.

Bảng dữ liệu các truy vấn mới nhất trên hệ thống .................................87

4.2. Thực nghiệm về hiệu năng hệ thống ................................................................88
KẾT LUẬN ...................................................................................................................91
TÀI LIỆU THAM KHẢO .............................................................................................93
Phụ lục 1: Cài đặt và cấu hình máy chủ hệ thống Big Data Hadoop ............................94



DANH MỤC CÁC CHỮ VIẾT TẮT, CÁC KÝ HIỆU
Chữ viết tắt

Nghĩa tiếng Việt

Tiếng Anh

DNS

Domain Name System

Hệ thống máy chủ tên miền

DNSSEC

Domain Name System

Tiêu chuẩn an toàn mở rộng cho hệ

Security

thống máy chủ DNS

GTLD

Genral Top Level Domain

Tên miền cấp cao dùng chung


CCTLD

Country Code Top Level

Tên miền cấp cao mã quốc gia

Domain
IP

Internet Protocol

Giao thức Internet

IPv4

Internet Protocol version 4 Giao thức Internet phiên bản 4

IPv6

Internet Protocol version 6 Giao thức Internet phiên bản 6

HDFS

Hadoop Distributed File

Hệ thống file phân tán của Hadoop

System
MR


Mơ hình lập trình để xử lý song

MapReduce

song tập dữ liệu lớn trên Hadoop.
CSDL

Database

Cơ sở dữ liệu

ISP

Internet Service Provider

Nhà cung cấp dịch vụ Internet

CNTT

Information Technology

Công nghệ thông tin

1


DANH MỤC CÁC HÌNH VẼ
Hình 1: Hoạt động truy vấn tên miền qua hệ thống máy chủ DNS Quốc gia (nguồn
VNNIC) .......................................................................................................................9
Hình 2: Các bước trong quá trình truy vấn tên miền “.vn” (nguồn VNNIC) ...........10

Hình 3: Mơ hình logic hệ thống giám sát, thống kê Log truy vấn DNS hiện tại ......12
Hình 4: Giao diện giám sát chung dữ liệu truy vấn DNS .........................................14
Hình 5: Giao diện giám sát lưu lượng truy vấn trên một cụm máy chủ DNS ..........15
Hình 6: Giao diện giám sát lưu lượng truy vấn trên một máy chủ DNS ..................15
Hình 7: Nguyên tắc hoạt động hệ thống phân tích log truy vấn DNS ......................16
Hình 8. Nguyên tắc hoạt động hệ thống giám sát lưu lượng truy vấn DNS .............17
Hình 9. Mơ hình hoạt động của hệ thống thống kê tập trung ...................................19
Hình 10: Phân tích các nhược điểm của cơng nghệ hiện tại .....................................23
Hình 11: Mơ hình thu thập dữ liệu log để phân tích, đảm bảo an tồn an ninh [4] ..26
Hình 12: Mơ hình phân tích dữ liệu log để đảm bảo an tồn an ninh [4] .................27
Hình 13: Mơ hình hệ thống phân tích dữ liệu DNS của Hà Lan [2] .........................29
Hình 14: Mơ hình giải pháp Splunk để giám sát hệ thống CNTT [14] ....................31
Hình 15: Mơ hình chức năng của các thành phần trong cơng cụ ELK [15] .............33
Hình 16: Các thành phần cơ bản của hệ thống Big Data Hadoop [13] .....................36
Hình 17: Mơ hình triển khai của hệ thống tập tin HDFS [13] ..................................37
Hình 18: Mơ hình lưu trữ file trên hệ thống tập tin HDFS [13] ...............................39
Hình 19: Quá trình đọc file trên HDFS [13] .............................................................40
Hình 20: Quá trình ghi file trên HDFS [13] ..............................................................41
Hình 21: Mơ hình kiến trúc của YARN [13] ............................................................43
Hình 22: Các bước xử lý dữ liệu lớn bằng mơ hình MapReduce [13] .....................44
Hình 23: Quá trình chạy một ứng dụng MR2 trên YARN [13] ................................48
Hình 24: Hệ sinh thái Hadoop [7] .............................................................................50
Hình 25: Giao diện hệ thống Cloudera Manager ......................................................53
Hình 26: Kiến trúc hệ thống Cloudera Manager [13] ...............................................53
Hình 27: Các thành phần Big Data Hadoop trong bài toán giám sát, thống kê log ..56
Hình 28: Mơ hình hệ thống giám sát và thống kê dữ liệu log truy vấn DNS ...........57
Hình 29: Mơ hình cụm máy chủ Big Data Hadoop của VNNIC ..............................59
Hình 30: Mơ hình thu thập log trực tiếp bằng Flume từ các máy chủ DNS .............62
Hình 31: Mơ hình thu thập log bằng Flume gián tiếp qua syslog-ng .......................63
Hình 32: Mơ hình thu thập dữ liệu log DNS sử dụng nhiều trạm Flume Agent.......64

Hình 33: Mơ hình phân tích dữ liệu log DNS sử dụng Flume ..................................66
Hình 34: Truy vấn dữ liệu trên HDFS với HiveQL [13] ..........................................72
Hình 35: Giao diện của Solr Admin..........................................................................75
Hình 36: Trực quan dữ liệu Big Data với Cloudera Search [13] ..............................77
Hình 37: Trực quan dữ liệu Big Data với Lucidworks Banana [12] ........................78
Hình 38: Giao diện hệ thống giám sát và thống kê dữ liệu truy vấn DNS quốc gia .81

2


Hình 39: Đồ thị lưu lượng truy vấn DNS..................................................................82
Hình 40: Bảng danh sách các địa chỉ IP truy vấn nhiều nhất ...................................82
Hình 41: Bảng danh sách các tên miền GTLD được truy vấn nhiều nhất ................83
Hình 42: Bảng danh sách các tên miền .VN được truy vấn nhiều nhất ....................84
Hình 43: Biểu đồ thống kê các quốc gia truy vấn vào hệ thống DNS Quốc gia.......84
Hình 44: Bản đồ nhiệt các khu vực trên thế giới về truy vấn DNS Quốc gia ...........85
Hình 45: Biểu đồ thống kê các loại bản ghi được truy vấn.......................................86
Hình 46: Biểu đồ thống kê về tỷ lệ sử dụng IPv4 – IPv6 trong truy vấn DNS .........86
Hình 47: Biểu đồ thống kê về tỷ lệ truy vấn DNSSEC .............................................87
Hình 48: Biểu đồ thống kê về giao thức truyền vận trong truy vấn DNS.................87
Hình 49: Bảng dữ liệu các truy vấn mới nhất trên hệ thống .....................................88
Hình 50: So sánh hiệu năng truy vấn dữ liệu của Impala, Hive và Oracle RAC ......90

3


DANH MỤC CÁC BẢNG
Bảng 1: Danh sách các cụm máy chủ DNS quốc gia .VN (nguồn VNNIC)...............8
Bảng 2: So sánh hiệu năng truy vấn dữ liệu của Impala, Hive và Oracle RAC .......89
Bảng 3: Danh sách các phiên bản HĐH được hỗ trợ để cài đặt CDH và CM [13] ..94

Bảng 4: Các CSDL yêu cầu được tạo để cài đặt Cloudera Manager ........................99

4


MỞ ĐẦU
Hệ thống máy chủ tên miền quốc gia .VN chịu trách nhiệm phân giải địa chỉ
cho toàn bộ các tên miền .VN, được xem là “trái tim” của mạng Internet Việt Nam.
Đây là hệ thống thông tin trọng yếu hàng đầu của quốc gia theo quyết định số 632/QĐTTg ngày 10/5/2017 của Thủ tướng chính phủ. Hệ thống DNS Quốc gia hiện tại đang
được thiết lập, quản lý và vận hành bởi Trung tâm Internet Việt Nam (VNNIC) - Bộ
Thông tin và Truyền thông. Để đảm bảo cho hệ thống hoạt động an tồn và ổn định,
tính đến thời điểm hiện tại đã có nhiều giải pháp và cơng nghệ được nghiên cứu và
áp dụng, có thể kể đến trong đó như tiêu chuẩn an tồn bảo mật mở rộng hệ thống
máy chủ DNS (DNSSEC), công nghệ DNS-Anycast, công nghệ cân bằng tải, IPv6.
Bên cạnh các công nghệ, giải pháp đã áp dụng, việc theo dõi tình trạng hoạt
động của hệ thống và phân tích hành vi truy cập của người dùng cũng góp phần rất
quan trọng để đảm bảo hoạt động liên tục cho hệ thống DNS Quốc gia cũng như giúp
phát hiện và cảnh báo sớm các bất thường để đưa ra các phương án xử lý, đảm bảo
an toàn an ninh cho hệ thống. Các dữ liệu về hành vi truy vấn của người dùng cũng
như đáp ứng của các máy chủ DNS hiện tại đang được lưu trữ tại các file log truy vấn
và đã được VNNIC tiến hành thu thập, phân tích để đưa vào hệ thống giám sát và
thống kê số liệu. Tuy nhiên với các công nghệ truyền thống đang áp dụng, các thơng
tin thu được từ việc thu thập, phân tích dữ liệu log truy vấn là đang rất hạn chế do
khả năng lưu trữ và xử lý cũng như khả năng mở rộng hệ thống, tiêu chí thống kê,
giám sát. Theo thống kê, hàng ngày trung bình có khoảng 300 triệu lượt truy vấn vào
hệ thống máy chủ DNS Quốc gia, với kích thước dữ liệu log ở dạng thơ là 60GB.
Chính vì vậy, việc nghiên cứu cơng nghệ, hướng tiếp cận mới để nâng cao năng lực
xử lý cũng như khả năng lưu trữ và khai thác số liệu, áp dụng cho vào bài tốn phân
tích dữ liệu log truy vấn DNS đang là một yêu cầu cấp thiết.
Hiện nay trên thế giới đã có nhiều nghiên cứu, giải pháp, cũng như sản phẩm

phần mềm để phục vụ cho việc phân tích, giám sát và thống kê dữ liệu log. Tiêu biểu
trong các giải pháp và phần mềm phổ biến, được nhiều tổ chức, đơn vị đã và đang áp
dụng để phân tích dữ liệu log có thể kể đến như Elastic Stack, Splunk, và công nghệ
Big Data. So với Elastic Stack và Splunk, giải pháp công nghệ Big Data ứng dụng
cho thu thập, phân tích, giám sát và thống kê log có mơ hình phức tạp hơn, khó triển
khai và quản lý hơn, đòi hỏi kinh nghiệm của cán bộ kỹ thuật. Tuy nhiên giải pháp
công nghệ Big Data mang đến khả năng mở rộng hệ thống tốt hơn cả về năng lực xử

5


lý cũng như khả năng lưu trữ. Hơn thế nữa, giải pháp Big Data có thể kết hợp với học
máy, trí tuệ nhân tạo để khai thác được nhiều hơn thơng tin, từ đó hỗ trợ đưa ra các
quyết định về chính sách cũng như vận hành hệ thống. Hiện tại ứng dụng công nghệ
Big Data để khai thác nguồn dữ liệu log, hỗ trợ khai thác và vận hành hệ thống, đảm
bảo bản an toàn an ninh đang là xu thế chung của toàn cầu.
Với hiện trạng và yêu cầu nêu trên, cùng với xu hướng nghiên cứu và áp dụng
của thế giới, đề tài được lựa chọn để giải quyết hai vấn đề: 1/ Nghiên cứu công nghệ
Big Data, áp dụng vào việc khai thác dữ liệu log; 2/ Thiết kế mơ hình và triển khai
các thành phần công nghệ Big Data để tiến hành thu thập, phân tích, lưu trữ và giám
sát thống kê dữ liệu log truy vấn DNS trên hệ thống DNS Quốc gia, hỗ trợ đảm bảo
an toàn an ninh cho hệ thống DNS Quốc gia.
Đối tượng, phạm vi, mục tiêu nghiên cứu của đề tài:
Trong phạm vi của đề tài, không thể tham vọng sẽ tìm hiểu được tồn bộ cơng
nghệ Big Data và các thành phần để khai thác các nguồn dữ liệu cũng như việc nghiên
cứu về học máy và trí tuệ nhân tạo áp dụng để phân tích hành vi người dùng thơng
qua dữ liệu truy vấn DNS từ đó đưa ra các hỗ trợ quyết định về vận hành đảm bảo an
toàn an ninh cho hệ thống DNS Quốc gia. Đối tượng và phạm vi nghiên cứu của đề
tài sẽ tập trung vào tìm hiểu các thành phần cơ bản của hệ thống Big Data để phục vụ
cho bài tốn thu thập và phân tích, giám sát và thống kê dữ liệu log truy vấn DNS

trên hệ thống DNS Quốc gia. Mục tiêu và đóng góp chính của đề tài sẽ tập trung vào
các nội dung chính sau:
1. Nghiên cứu tổng quan về công nghệ Big Data và các thành phần cơ bản để
thực hiện khai thác nguồn dữ liệu log.
2. Thiết kế mơ hình và triển khai các thành phần để thu thập, phân tích và lưu
trữ dữ liệu log truy vấn DNS dưới dạng kho dữ liệu (Data Warehouse) trong hệ thống
Big Data. Cấu hình để đảm bảo hệ thống có tính sẵn sàng (high availability) cao.
3. Xây dựng các tiêu chí giám sát, thống kê dữ liệu truy vấn DNS và triển khai
hệ thống phân tích và giám sát log truy vấn DNS vào hệ thống máy chủ DNS Qc
gia theo các tiêu chí đã xây dựng.
Kết quả khoa học và thực tiễn của đề tài:
Đề tài có tính khả thi cao, có thể áp dụng được vào trong thực tiễn để tiến hành
thu thập, phân tích, giám sát và thống kê về tình hình truy vấn tên miền thông qua hệ
thống máy chủ DNS Quốc gia. Các thông tin thu thập được sẽ là nguồn dữ liệu quý
báu để vẽ ra bức tranh toàn cảnh về tình hình sử dụng Internet của người dùng tại

6


Việt Nam và mức độ quan tâm, sử dụng tên miền “.vn” cũng như các dịch vụ đi kèm
từ người dùng ở cả trong nước và nước ngồi. Từ đó sẽ giúp cơ quan chức năng quản
lý hệ thống DNS Quốc gia – Trung tâm Internet Việt Nam - Bộ Thông tin và Truyền
thông đưa ra các quyết định về chính sách vận hành và chiến lược phát triển phù hợp
để đảm bảo năng lực cũng như an toàn an ninh cho hệ thống.
Bố cục của luận văn:
Luận văn được bố cục thành 4 chương:
Chương 1 trình bày tổng quan về hệ thống máy chủ tên miền (DNS) Quốc gia
.VN và hiện trạng của hệ thống giám sát và thống kê dữ liệu log truy vấn DNS hiện
tại, chỉ ra các điểm còn tồn tại và nguyên nhân của hệ thống hiện tại cũng như công
nghệ truyền thống đang áp dụng. Từ đó đưa ra mục tiêu và định hướng cho giải pháp

áp dụng để mở rộng chức năng và hiệu năng của hệ thống.
Chương 2 trình bày tổng quan về tình hình nghiên cứu và các giải pháp đang áp
dụng ở trong nước và nước ngoài trong lĩnh vực phân tích log, chỉ ra sự phù hợp của
việc áp dụng công nghệ Big Data cho hệ thống giám sát và thống kê log truy vấn
DNS Quốc gia, đi sâu vào tìm hiểu cơng nghệ Big Data Hadoop bao gồm các thành
phần cơ bản của hệ thống Big Data Hadoop, hệ sinh thái Big Data Hadoop và giải
pháp quản lý cụm máy chủ Big Data Hadoop.
Chương 3 trình bày về thiết kế hệ thống giám sát và thống kê dữ liệu log truy
vấn hệ thống DNS Quốc gia sử dụng công nghệ Big Data Hadoop. Thực hiện triển
khai cụm máy chủ Big Data Hadoop; tiến hành thu thập, phân tích dữ liệu log truy
vấn trên các máy chủ DNS; tổ chức lưu trữ dữ liệu; và xây dựng hệ thống giám sát,
thống kê log truy vấn DNS dựa trên các tiêu chí giám sát, thống kê đã xây dựng. Cấu
hình hệ thống để đảm bảo tính sẵn sàng (high availability) cao.
Chương 4: thực hiện phân tích các kết quả đạt được sau khi triển khai hệ thống
mới, so sánh về chức năng và hiệu năng với hệ thống hiện tại.

7


Chương 1 : GIỚI THIỆU ĐỀ TÀI
1.1. Tổng quan về hệ thống máy chủ DNS Quốc gia
1.1.1. Mơ hình và chức năng của hệ thống DNS Quốc gia
Hệ thống máy chủ tên miền quốc gia .VN là hệ thống kỹ thuật nhằm đảm bảo
hoạt động cho tên miền quốc gia .VN trên Internet. Trung tâm Internet Việt Nam Bộ Thông tin và Truyền thông thiết lập, quản lý và vận hành hệ thống máy chủ tên
miền quốc gia .VN. Hệ thống máy chủ tên miền quốc gia .VN thực hiện các nhiệm
vụ chính như sau:
-

Quản lý khơng gian tên miền cấp quốc gia .VN và các tên miền cấp 2 dùng
chung thuộc hệ thống tên miền .VN (com.vn, net.vn, org.vn, ...).


-

Phân cấp và chuyển giao không gian tên miền .VN cho các đơn vị khác quản
lý theo quy định.
Tiếp nhận và trả lời các truy vấn tên miền .VN từ các nguồn truy vấn hợp lệ

-

trên Internet. Đảm bảo hoạt động truy vấn tên miền .VN của người dùng
Internet được thơng suốt, nhanh chóng và an tồn.
Hiện tại hệ thống máy chủ DNS Quốc gia gồm 7 cụm máy chủ, trong đó 5 cụm
máy chủ đặt trong nước (tại Hà Nội, TP.HCM, Đà nẵng), 2 cụm máy chủ đặt ở nước
ngồi tại nhiều điểm trên thế giới.
Vị trí

Địa chỉ IP

Cơng
nghệ

STT

Cụm máy chủ

1

A.DNS-SERVERS.VN

Nước

ngoài

194.0.1.18
2001:678:4::12

Anycast
IPv6

2

B.DNS-SERVERS.VN

Hà Nội

203.119.73.105
2001:dc8:1:2::105

LB
IPv6

3

C.DNS-SERVERS.VN

TP. HCM

203.119.38.105
2001:dc8:c000:7::105

LB

IPv6

4

D.DNS-SERVERS.VN Đà Nẵng

203.119.44.105

LB

5

E.DNS-SERVERS.VN

Hà Nội

203.119.60.105

LB

6

F.DNS-SERVERS.VN

TP. HCM

203.119.68.105
2001:dc8:d000:2::105

LB

IPv6

7

G.DNS-SERVERS.VN

Nước
ngoài

204.61.216.115

Anycast
IPv6

2001:500:14:6115:ad::1

Bảng 1: Danh sách các cụm máy chủ DNS quốc gia .VN (nguồn VNNIC)

8


1.1.2. Hoạt động truy vấn tên miền qua hệ thống máy chủ DNS Quốc gia
Khi người dùng sử dụng các dịch vụ dựa trên tên miền như truy cập website hay
gửi email, ... việc đầu tiên các chương trình trên máy tính người dùng thực hiện là
phân giải tên miền ra địa chỉ IP để thực hiện các kết nối hay cịn gọi là truy vấn tên
miền. Thơng thường, việc truy vấn tên miền sẽ được thực hiện thông qua hệ thống
máy chủ DNS của các nhà cung cấp dịch vụ Internet (ISP). Với các tên miền .VN, hệ
thống máy chủ tên miền của các ISP sẽ truy vấn lên hệ thống máy chủ ROOT server
hoặc hệ thống máy chủ tên miền đệm (Caching DNS) của VNNIC và từ đó truy vấn
hệ thống máy chủ tên miền quốc gia để tìm kiếm thơng tin và trả lời truy vấn.


Hình 1: Hoạt động truy vấn tên miền qua hệ thống máy chủ DNS Quốc gia (nguồn
VNNIC)

Quá trình truy vấn tên miền khi người dùng Internet Việt Nam thực hiện truy
vấn tên miền .vn sẽ diễn ra như sau (ví dụ với tên miền home.vnn.vn):
1. Chương trình trên máy người sử dụng (trình duyệt) sẽ truy vấn hệ thống máy
chủ tên miền của ISP mà người dùng kết nối.
2. Hệ thống máy chủ tên miền của ISP sẽ tiếp nhận và gửi truy vấn này lên hệ
thống máy chủ ROOT để tìm kiếm máy chủ quản lý tên miền home.vnn.vn.

9


3. Hệ thống máy chủ ROOT Server nhận được truy vấn và tiến hành tìm kiếm
trong cơ sở dữ liệu tên miền để trả lời. Căn cứ theo dữ liệu đã có, máy chủ
ROOT Server sẽ trả lời cho máy chủ của ISP các thông tin (địa chỉ IP, tên
máy chủ) của máy chủ thuộc hệ thống máy chủ tên miền quốc gia .vn.
4. Hệ thống máy chủ ISP sẽ truy vấn máy chủ quản lý các tên miền quốc gia
để tìm kiếm thơng tin về tên miền home.vnn.vn.
5. Hệ thống máy chủ tên miền quốc gia sẽ tiến hành tìm kiếm dữ liệu và cung
cấp thơng tin cho máy chủ ISP về máy chủ quản lý tên miền vnn.vn. Ở đây
là máy chủ của VDC.
6. Hệ thống máy chủ của ISP sẽ truy vấn máy chủ của VDC để tìm kiếm địa
chỉ trang web home.vnn.vn.
7. Máy chủ của VDC quản lý khơng gian tên miền vnn.vn nên nó có thông tin
về địa chỉ của tên miền home.vnn.vn và tiến hành cung cấp địa chỉ IP này
cho hệ thống DNS của ISP.
8. Hệ thống DNS của ISP trả lời người sử dụng địa chỉ IP của máy chủ có trang
web home.vnn.vn.

9. Người sử dụng dùng địa chỉ này để truy cập vào trang web home.vnn.vn.

Hình 2: Các bước trong quá trình truy vấn tên miền “.vn” (nguồn VNNIC)

10


1.1.3. Dữ liệu log truy vấn DNS trên hệ thống DNS Quốc gia
a. Khuôn dạng và thông tin dữ liệu log
Hệ thống máy chủ DNS Quốc gia được cấu hình để lưu lại tồn bộ thơng tin về
truy vấn tên miền vào log file dưới định dạng là một file text với mỗi truy vấn là một
dòng trong log file, có cấu trúc như sau:
QUERYTIME (dd-MMM-yyyy HH:mm:ss.SSS)
CLIENTIP#CLIENTPORT

(DOMAIN):

query

queries:
:

info:

DOMAIN

client
CLASS

RECORDTYPE QUERYTYPE (SERVERIP).

Ví dụ về một bản ghi log truy vấn DNS:
25-Mar-2018 15:05:04.815 queries: info: client 87.236.20.7#42762 (vdchn01.vnn.vn): query: vdc-hn01.vnn.vn IN A -EDC (204.109.76.88)
Như vậy với mỗi truy vấn tên miền, dữ liệu log truy vấn sẽ lưu trữ các thông tin
như sau:
 Thời gian truy vấn: có độ chính xác đến mức milli giây, dưới dạng ddMMM-yyyy HH:mm:ss.SSS.
 Địa chỉ IP của khách hàng: có thể ở dạng địa chỉ IPv4 hoặc IPv6.
 Port truy vấn của khách hàng: là dạng số nguyên.
 Tên miền được truy vấn: có thể là tên miền .vn hoặc tên miền GTLD.

 Loại bản ghi DNS được truy vấn: có thể là NS, A, AAAA, CNAME, MX,...
(tham khảo /> Các thông tin về loại truy vấn:
o “-“: không đệ quy
o “+”: đệ quy
o S: truy vấn đã được ký (signed)
o E: truy vấn sử dụng giao thức DNS mở rộng (EDNS)
o T: truy vấn sử dụng giao thức TCP (mặc định là UDP).
o D: truy vấn DNSSEC.
o CD: truy vấn không kiểm tra DNSSEC (Checking Disabled)
 Địa chỉ IP của máy chủ DNS: có thể ở dạng địa chỉ IPv4 hoặc IPv6.
b. Kích thước dữ liệu log:
Theo thống kê, trung bình mỗi giây hệ thống DNS Quốc gia tiếp nhận và xử lý
khoảng 3.500 lượt truy vấn, trong đó trung bình tại thời điểm cao điểm hệ thống tiếp

11


nhận hơn 5.000 lượt truy vấn, thậm chí có những thời điểm lưu lượng truy vấn vượt
con số 10.000 truy vấn.
Cũng theo dữ liệu thống kê, số lượng truy vấn tiếp nhận hàng ngày trên hệ thống
DNS Quốc gia khoảng 300.000.000 lượt truy vấn với kích thước dữ liệu log khoảng

60GB.
Với yêu cầu lưu trữ dữ liệu tối thiểu trong vòng 01 năm, dung lượng lưu log
truy vấn hệ thống DNS Quốc gia là hơn 20 TB.
1.2. Hiện trạng hệ thống phân tích, giám sát và thống kê log truy vấn DNS
Hiện tại dữ liệu log truy vấn DNS đã được thu thập, phân tích để đưa ra màn
hình giám sát cũng như vào hệ thống thống kê lưu lượng truy vấn DNS trên hệ thống
DNS quốc gia. Hệ thống hiện tại có mơ hình, ngun tắc hoạt động và các chức năng
như sau:
1.2.1. Mơ hình tổng quan và các chức năng của hệ thống
1.2.1.1. Mơ hình tổng quan của hệ thống
Hệ thống phân tích, giám sát và thống kê dữ liệu log truy vấn DNS hiện tại có
mơ hình như sau:

VNNIC-USER

Syslog HCM

WEBMonHCM

WEBMonHN

DNSStatistic
HCM

Syslog HN

WebThke

DNSStatistic
HN


Crytal Report Server

Collect App

Collect App

Site HCM

Site HN

THKEDB
HN

Hình 3: Mơ hình logic hệ thống giám sát, thống kê Log truy vấn DNS hiện tại

Các thành phần của hệ thống:

12


-

Hệ thống thu thập log truy vấn DNS: được triển khai tại từng điểm để thu
thập toàn bộ log truy vấn trên các máy chủ DNS thuộc điểm đó. Việc triển
khai hệ thống log truy vấn trên điểm nhằm giảm băng thơng truyền tải và
đảm bảo tiêu chí giám sát theo thời gian thực. Hệ thống thu thập log truy vấn
DNS sử dụng công cụ open-source là syslog-ng. Dữ liệu log trên máy chủ
syslog-ng sẽ lưu log dưới dạng pipe file. Pipe file là một dạng file đặc biệt,
cấu hình cho phép một tiến trình ghi vào file và một tiến trình đọc file theo

nguyên tắc vào trước ra trước (FIFO), dữ liệu sau khi được đọc sẽ bị xóa ra
khỏi pipe.

-

Hệ thống phân tích, giám sát log truy vấn DNS: có chức năng đọc log
truy vấn trên hệ thống syslog-ng, tiến hành phân tích các thơng tin của từng
bản ghi log (log-record), xử lý các thơng tin phân tích được để phục vụ cho
việc giám sát, cảnh báo và lưu trữ dữ liệu thống kê tạm thời. Các hệ thống
này được triển khai trên từng điểm theo syslog đầu vào. Tuy nhiên hệ thống
giám sát trên từng điểm có mở dịch vụ để các hệ thống tương ứng trên các
site còn lại kết nối lấy dữ liệu giám sát, phục vụ cho việc giám sát tập trung
và giám sát chéo lẫn nhau.

-

Hệ thống thống kê tập trung:
o Các chương trình tự động lấy dữ liệu thống kê (Collect App) từ dữ
liệu lưu tạm thời (DNSStatistic và DNSWarning) trên các sites (Hà
Nội, TP. Hồ Chí Minh) theo các tiêu chí phục vụ nhu cầu quản lý.
Sau đó lưu trữ vào CSDL thống kê tập trung.
o Crystal Report Server: Hệ thống tạo các báo cáo tự động theo định kỳ
(ngày, tuần, tháng, năm) với các báo cáo đã được thiết kế sẵn.
o Website thống kê: Hiển thị số liệu thống kê và các báo cáo thống kê
đã được tạo tự động.

1.2.1.2. Chức năng hệ thống
Hệ thống được thiết kế và xây dựng để đưa ra các chức năng giám sát bao gồm
bảng số liệu xếp hạng truy vấn và vẽ biểu đồ lưu lượng truy vấn trên các máy chủ
DNS theo 3 dạng giao diện giám sát như sau:

a. Giao diện giám sát chung (DashBoard):
- Hiển thị biểu đồ lưu lượng truy vấn của tất cả các máy chủ, cụm máy chủ
DNS trên cả site Hà Nội và TP. Hồ Chí Minh.

13


-

Mỗi biểu đồ cung cấp dữ liệu truy vấn DNS của tên miền .VN và tên

-

miền .Other trong vòng 24 tiếng gần nhất kể từ thời điểm hiện tại (thời điểm
hiện tại nằm bên phải cùng của biểu đồ).
Giao diện cung cấp số liệu tổng số truy vấn hiện tại trên cả site và trên từng

-

máy chủ trong biểu đồ.
Trên mỗi biểu đồ đều cung cấp đường link để vào giao diện xem chi tiết lưu
lượng truy vấn trên máy chủ hoặc cụm máy chủ DNS.

-

Dữ liệu của biểu đồ được tự động cập nhật 5 phút một lần.

Hình 4: Giao diện giám sát chung dữ liệu truy vấn DNS

b. Giao diện giám sát chi tiết cụm máy chủ:

Giao diện này dùng để giám sát chi tiết lưu lượng log truy vấn vào một cụm
máy chủ DNS Quốc gia. Giao diện bao gồm 2 phần:
- Biểu đồ chung của cụm máy chủ ( kích thước lớn hơn và có các số liệu trên
trục thời gian và trục tổng số truy vấn).
- Các biểu đồ của các máy chủ trong cụm. Ví dụ: cụm máy chủ DNS - B, sẽ
có biểu đồ chung của cụm (biểu diễn tổng số truy vấn trên cả cụm) và biểu
đồ của máy chủ DNS-B1 và DNS-B2.

14


Hình 5: Giao diện giám sát lưu lượng truy vấn trên một cụm máy chủ DNS

c. Giao diện giám sát chi tiết máy chủ DNS:
Biểu đồ giám sát chi tiết của từng máy chủ. Biểu đồ có kích thước tồn màn
hình và có các số liệu trên trục thời gian và trục tổng số truy vấn.

Hình 6: Giao diện giám sát lưu lượng truy vấn trên một máy chủ DNS

15


1.2.2. Nguyên tắc hoạt động của hệ thống
1.2.2.1. Hệ thống thu thập và phân tích log truy vấn DNS
Syslog collector
write syslog to pipe file

pipe-file

Update Object Information


Get Log Object Information

LogRanking

Ranking Data

Update

Store ranking data

LogAnalyser

Poll log object at the tail of queue

Notify Children Thread

IssueDetector

LogReporter

Reporter Data

Push log object to head of queue

Log-queue

Log
Object


Preprocessor

Read log line

Update

Store report data

Update

Detector Data

Store issue and event data

Hình 7: Nguyên tắc hoạt động hệ thống phân tích log truy vấn DNS

-

-

-

Hệ thống sử dụng mẫu thiết kế Observer. Trong đó 03 tiến trình bao gồm xếp hạng
truy vấn (Log Ranking), thống kê truy vấn (Log Reporter) và phát hiện sự cố
(Issue Detector) sẽ giám sát đối tượng Log Object được tạo ra bởi tiến trình phân
tích log (Log Analyser).
Tiến trình tiền xử lý (Pre-Processor) sẽ liên tục đọc dữ liệu từ pipe (đầu ra của
syslog-ng) theo từng dòng log truy vấn, tiến hành phân tích thơng tin trên dịng
log đó để gán các thông tin vào một đối tượng Log Object. Đối tượng Log Object
sẽ được đẩy vào hàng đợi (Log Queue) chờ xử lý.

Tiến trình phân tích log (Log Analyser) sẽ liên tục lấy từng đối tượng từ hàng đợi
xử lý (Log Queue) bên trên. Đối tượng được lấy ra sẽ gán thông tin cho tham biến
dùng chung Log Object, sau khi thơng tin đã được cập nhật, tiến trình phân tích
log sẽ thơng báo cho 3 tiến trình con để phân tích thơng tin từ đối tượng Log
Object và cập nhật vào dữ liệu thống kê trên mỗi tiến trình. Dữ liệu thống kê trên

16


mỗi tiến trình được lưu trữ trong bộ nhớ và định kỳ 5 phút dữ liệu thống kê này
sẽ được làm mới và đẩy vào CSDL để phục vụ cho hệ thống giám sát lưu lượng
và thống kê tập trung.
1.2.2.2. Hệ thống giám sát lưu lượng truy vấn
Display Monitoring
Data

Display Monitoring
Data

Generate chart data

Generate chart data

Generate chart data

Generate chart data
Init
Monitoring
Data


Init data

Refresh
Monitoring
Data

Report Data

Init
Monitoring
Data

Monitoring
Data

Refresh
Monitoring
Data

Refresh data

Ranking data

Store data

Init data

Report Data

Monitoring

Data

Refresh data

Ranking data

Store data
Store data

Store data

Log Analyser

Log Analyser

Site HCM

Site HN

Hình 8. Nguyên tắc hoạt động hệ thống giám sát lưu lượng truy vấn DNS

Hệ thống giám sát lưu lượng truy vấn DNS được triển khai tại 02 điểm là Hà
Nội và TP. Hồ Chí Minh. Trong đó hệ thống trên mỗi điểm hoạt động như sau:
- Dữ liệu phục vụ giám sát lấy từ CSDL thống kê và xếp hạng truy vấn - được
công cụ phân tích log truy vấn DNS cập nhật thường xuyên theo định kỳ 5
phút /lần.
- Khi hệ thống website giám sát lưu lượng được khởi động, tiến trình khởi tạo
dữ liệu giám sát sẽ chạy để load dữ liệu thống kê mới nhất từ CSDL trong
khoảng 24h tính ngược lại từ thời điểm hệ thống khởi động. Dữ liệu được
này sẽ được lưu trữ lại trong hệ thống để phục vụ vẽ biểu đồ giám sát.

- Định kỳ 5 phút tiến trình cập nhật dữ liệu giám sát sẽ chạy để load dữ liệu
thống kê và xếp hạng truy vấn mới nhất về và đẩy dữ liệu cũ nhất ra khỏi dữ
liệu giám sát, đảm bảo dữ liệu lưu trên hệ thống ln là dữ liệu phân tích mới
nhất kể từ thời điểm hiện tại trở về 24h trước đó. Cùng với việc cấu hình

17


website giám sát tự động refresh, các biểu đồ lưu lượng và số liệu xếp hạng
truy vấn trên trang giám sát thể hiện được dữ liệu gần như tức thời.
- Trên mỗi site triển khai, dữ liệu giám sát được lưu trên hệ thống ngoài việc
phục vụ cho hiển thị trên site đó cịn mở kết nối để các site khác có thể sử
dụng để vẽ biểu đồ lưu lượng truy vấn, phục vụ cho việc giám sát tập trung
và giám sát chéo giữa các site.
1.2.2.3. Hệ thống thống kê tập trung
Dữ liệu trên hệ thống giám sát lưu lượng truy vấn mặc dù đã tổ chức cơ chế hoạt
động để đổ dữ liệu vào CSDL theo định kỳ 5 phút / lần và bỏ bớt các tiêu chí thống
kê dữ liệu, tuy nhiên tốc độ tăng trưởng vẫn rất nhanh. Chính vì vậy để đảm bảo dữ
liệu thống kê theo một thời gian dài được tính tốn nhanh hơn, hệ thống thống kê sẽ
tiến hành tổng hợp dữ liệu theo các định kỳ dài hơn từ dữ liệu giám sát để đưa vào
CSDL thống kê.
Cụ thể, trên hệ thống thống kê thiết lập chạy tự động theo các định kỳ:
- Hàng ngày: đầu giờ sáng mỗi ngày
- Hàng tuần: đầu giờ sáng thứ 5 hàng tuần
- Hàng tháng: đầu giờ sáng ngày 1 hàng tháng
- Hàng năm: đầu giờ sáng ngày 1 tháng 1 hàng năm
Chương trình lấy dữ liệu tự động được thiết lập chạy riêng biệt trên từng site
(site Hà Nội và site Hồ Chí Minh). Trên mỗi site thiết lập hai chương trình riêng, bao
gồm chương trình lấy dữ liệu thống kê truy vấn và chương trình lấy dữ liệu xếp hạng
truy vấn. Tất cả dữ liệu đều được lưu trữ vào CSDL thống kê tập trung.


18


Vnnic Users

Website thống


THKEDB

Crystal Report Server

HCMStatistic
App

HCMRanking
App

HNRanking
App

HNStatistic
App

DNSStatistic
HN

DNSStatistic
HCM


Site HCM

Site HN

Hình 9. Mơ hình hoạt động của hệ thống thống kê tập trung

Sau khi đã có dữ liệu thống kê và xếp hạng truy vấn, hệ thống tạo báo cáo sẽ
kết nối đến CSDL thống kê tập trung, lấy dữ liệu về và tự động tạo các báo cáo theo
định kỳ đã thiết lập sẵn. Trên website thống kê tập trung:
- Hiển thị các báo cáo đã tạo tự động theo định kỳ tự chọn (ngày, tuần, tháng,
năm): hỗ trợ hiển thị các báo cáo đã tạo trực tiếp trên website hoặc kiết xuất
thành các file theo một số định dạng thông dụng như pdf, excel, word, xml …
sử dụng các cơng nghệ tích hợp sẵn của crystal report viewer 2011.
- Ngoài ra, hiển thị các số liệu thống kê động trên website theo khoảng thời
gian tự chọn.
1.2.3. Các hạn chế của hệ thống hiện tại
Có thể thấy dữ liệu log truy vấn trên hệ thống DNS quốc gia có cấu trúc đơn
giản nhưng tốc độ tăng trưởng nhanh và kích thước lớn. Để đảm bảo khả năng lưu
trữ, cũng như thời gian xử lý để đưa ra màn hình giám sát và kết xuất báo cáo thống
kê, hệ thống hiện tại không thể tổ chức lưu trữ tương ứng mỗi bản ghi log thành một
dịng trong CSDL quan hệ. Thay vì đó hệ thống sẽ thống kê với tần suất lấy mẫu là
05 phút/lần theo 05 tiêu chí là kết hợp giữa các trường thông tin: máy chủ DNS và
đuôi tên miền, máy chủ DNS và loại bản ghi, máy chủ DNS và loại truy vấn, đuôi tên

19


miền và loại bản ghi, đuôi tên miền và loại truy vấn. Hơn thế nữa, các trường thông
tin được thống kê cũng giới hạn theo một số giá trị cơ bản và được định nghĩa sẵn để

hạn chế số lượng bản ghi phát sinh trong mỗi 05 phút, cụ thể:
- Thông tin loại bản ghi: chỉ thống kê các truy vấn có loại bản ghi là A, AAAA,
-

MX, SOA, PTR, NS, các loại bản ghi cịn lại tính là giá trị khác.
Thông tin đuôi tên miền: chỉ thống kê theo các đuôi là “.vn” và cấp 2 “.vn”
dùng chung và một số đuôi tên miền GTLD phổ biến như com, net, org, info,

-

edu, biz. Các đi tên miền cịn lại được tính là giá trị khác.
Thơng tin về loại truy vấn chỉ tính theo 04 loại: đệ quy, đệ quy mở rộng,

không đệ quy và không đệ quy mở rộng. Các thông tin khác về loại truy vấn
như là truy vấn DNSSEC hay không, giao thức sử dụng để truy vấn (TCP
hay UDP) không được thống kê.
- Thông tin về máy chủ DNS: chỉ hỗ trợ địa chỉ IPv4 của các máy chủ DNS.
Như vậy có thể thấy qua cơ chế hoạt động như trên thì hệ thống hiện tại sẽ có
một số các hạn chế như sau:
- Chưa giám sát được lưu lượng truy vấn theo thời gian thực hoặc gần thời
gian thực do tần suất lấy mẫu là 05 phút/lần. Điều này có nghĩa là với các
bất thường về truy vấn trên hệ thống DNS quốc gia hoặc sự cố xảy ra trên

-

-

-

các máy chủ DNS thì trên chức năng giám sát của hệ thống hiện tại sẽ khơng

thể phát hiện ra ngay mà có độ trễ tối thiểu là 05 phút.
Chưa hỗ trợ giám sát dữ liệu trong các khoảng thời gian lớn hơn (02 ngày,
1 tuần, 1 tháng) cũng như thống kê các dữ liệu trong lịch sử với tần suất lấy
mẫu tương ứng với khoảng thời gian lựa chọn.
Thông tin về thời gian truy vấn sẽ bị thay thế bằng thời gian lấy mẫu dẫn tới
các việc giám sát và thống kê số liệu chỉ có tính chính xác tương đối. Trong
một số trường hợp, do quá trình thu thập log trên một cụm máy chủ bị gián
đoạn sẽ làm cho số liệu báo cáo trên máy chủ đó sẽ bị mất trong khoảng thời
gian gián đoạn và tăng cao đột biến sau thời gian đó và tạo ra 02 điểm bất
thường trên hệ thống. Việc cập nhật số liệu là không thực hiện được do đã
chốt theo khoảng thời gian lấy mẫu.
Loại bỏ rất nhiều thơng tin trích xuất được từ việc thu thập và phân tích dữ
liệu log truy vấn DNS. Các tiêu chí thống kê và giám sát bị hạn chế cũng
như khó mở rộng và khơng thể bổ sung trên tập dữ liệu đã thu thập được.

20


×