You are on page 1of 49

TRƯỜNG ĐẠI HỌC ĐIỆN LỰC

KHOA CÔNG NGHỆ THÔNG TIN

BÁO CÁO CHUYÊN ĐỀ HỌC PHẦN


ĐÁNH GIÁ HIỆU NĂNG MẠNG

ĐỀ TÀI: Triển khai hệ thống giám sát và đánh giá hiệu
năng mạng sử dụng công cụ Zabbix

Sinh viên thực hiện : LÊ TUẤN ANH

NGUYỄN VĂN ĐỨC

Giảng viên hướng dẫn : LÊ MẠNH HÙNG


Ngành : CÔNG NGHỆ THÔNG TIN
Chuyên ngành : QUẢN TRỊ AN NINH MẠNG
Lớp : D15LTQTANM
Khóa : 2020-2022

Hà Nội, tháng 3 năm 2022

1
Phiếu chấm điểm

Sinh viên thực hiện:

Họ và tên Chữ ký Nhiệm vụ

Lê Tuấn Anh Tìm kiếm tài liệu, Triển khai cài đặt

Mã SV: 20710320004

Nguyễn Văn Đức Tìm kiếm tài liệu, Triển khai cài đặt

Mã SV: 20710320003

Giảng viên chấm:

Họ và tên Chữ ký Ghi chú

Giảng viên chấm 1:

Giảng viên chấm 2:

2
MỤC LỤC
Chương 1. Tổng quan về đánh giá hiệu năng mạng...................................................4
1.1. Tầm quan trọng................................................................................................4
1.2. Các độ đo hiệu năng mạng...............................................................................5
1.3. Các các dạng lưu lượng...................................................................................6
1.4. Các phương pháp đánh giá hiệu năng mạng...................................................6
Chương 2. Sử dụng phần mềm mô phỏng NS2..........................................................8
2.1. NS2 (Network Simulator) là gì?.......................................................................8
2.2. Cài đặt NS2......................................................................................................9
2.3. Thiết lập mô hình và cài đặt các thông số mạng............................................13
2.4. Chạy mô hình và đánh giá các độ đo hiệu năng............................................16
2.4.1. Chạy mô hình..........................................................................16
2.4.2. Đánh giá độ đo hiệu năng.......................................................17
Chương 3.Cài đặt công cụ giám sát hiệu năng mạng................................................18
3.1. Giới thiệu một số công cụ giám sát................................................................18
3.2. Giới thiệu và cài đặt, cấu hình công cụ giám sát hiệu năng mạng Zabbix....24
3.2.1. Tổng quan...............................................................................24
3.2.2. Tỉnh năng................................................................................24
3.2.3. Zabbix architecture.................................................................25
3.2.4. Ưu điểm...................................................................................27
3.2.1. Các vấn đề cần cải thiện.........................................................27
3.3. Cấu hình ........................................................................................................27
3.2.1. Mô hình / IP planning.............................................................27
3.2.2. Cài đặt.....................................................................................27
3.2.3. Thiết lập Dashboard trên Zabbix server.................................33
3.2.4. Gửi cảnh báo qua email..........................................................36
Tài liệu tham khảo ...................................................................................................50

3
Lời Cảm Ơn

Để hoàn thành môn học này, em xin chân thành xin gửi lời cảm ơn đến đặc biệt
đến Thầy giáo Lê Mạnh Hùng là người đã tận tình hướng dẫn môn Đánh giá hiệu năng
mạng cho chúng em trong từng buổi học. Thầy đã trang bị cho chúng em kiến thức
môn học và hơn cả là động lực tiếp tục trên con đường chinh phục công nghệ.

Trong quá trình học tập tại Khoa Công Nghệ Thông Tin - trường Đại Học Điện
Lực, em đã được các thầy cô giáo giảng dạy tận tình cũng như truyền đạt những kiến
thức bổ ích và rất quan trọng đối với quá trình đi làm của em sau này. Em xin chân
thành gửi lời cảm ơn đến ban giám hiệu nhà trường cùng quý thầy cô đã tận tâm giảng
dạy và giúp em hoàn thành tốt môn học.

Vì kiến thức bản thân còn hạn chế, trong quá trình học tập và tự rèn luyện, hoàn
thiện báo cáo “ Triển khai hệ thống giám sát và đánh giá hiệu năng mạng sử dụng công
cụ Zabbix ’’ này của chúng em không tránh khỏi những sai sót, kính mong nhận được
những ý kiến đóng góp quý báu từ các Thầy Cô và các bạn để bài báo cáo này được
hoàn thiện hơn.

Em xin trân trọng cảm ơn!

4
Chương 1. Tổng quan về đánh giá hiệu năng mạng

1.1. Tầm quan trọng của việc đánh giá hiệu năng mạng

Hiệu năng mạng là một vấn đề phức tạp do các yếu tố có thể tổng hợp đưa ra
nhằm đánh giá vấn đề hiệu năng chưa thực sự rõ ràng. Đã có nhiều khái niệm, tham số
được đưa ra nhằm minh chứng cho bản chất của vấn hiệu năng, lý giải cho việc truyền
thông tin hiệu quả hay kém hiệu quả giữa các hệ thống trong mạng. Tuy nhiên, trong
thực tế rất cần có những khái niệm bản chất và sát thực tiễn với mục tiêu đánh giá
được toàn bộ vấn đề hiệu năng bao gồm cả các yếu tố đo đạc, theo dõi, điều khiển đều
được tính đến. Có thể sơ lược khái niệm hiệu năng mạng như sau: Hiệu năng mạng là
hiệu quả và năng lực hoạt động của hệ thống mạng. Như vậy việc đánh giá hiệu năng
mạng chính là tính toán và xác định hiệu quả, năng lực thực sự của hệ thống mạng
trong các điều kiện khác nhau.Các điều kiện được sử dụng trong đánh giá hiệu năng là
rất quan trọng, chúng ảnh hưởng trực tiếp tới các kết quả thu được. Trong các điều
kiện ảnh hưởng tới quá trình đánh giá hiệu năng thì kịch bản mô tả là yếu tố then chốt
quyết định giá trị hiệu năng tại điểm cần đo. Trong kịch bản cần xác định các tham số
đầu vào rõ ràng như các nút tham gia hệ thống, thiết bị kết nối, tác nhân tham gia, giao
thức hoạt động, ứng dụng triển khai, thời gian thực hiện,… và rất nhiều yếu tố khác
kết hợp tạo ra một kịch bản hoàn thiện.

5
1.2. Các độ đo hiệu năng mạng
- Tỉ lệ mất gói tin (𝑝𝑎𝑐𝑘𝑒𝑡 𝑙𝑜𝑠𝑠 𝑟𝑎𝑡𝑒): được xác định là tỉ số của tổng số gói
tin bị mất 𝑡𝑜𝑡𝑎𝑙 𝑙𝑜𝑠𝑠 𝑝𝑎𝑐𝑘𝑒𝑡 với tổng số gói tin đã gửi 𝑡𝑜𝑡𝑎𝑙 𝑠𝑒𝑛𝑡 𝑝𝑎𝑐𝑘𝑒𝑡 .
Đối với mạng ổn định thì tỉ lệ này thấp, ngược lại tỉ lệ này rất cao. Tỉ lệ này
mất gói tin được xác định theo công thức như sau:

- Mức độ sử dụng đường truyền: là khả năng tận dụng đường truyền của
mạng. Chỉ số này cho biết khả năng truyền của mạng qua đường truyền là
mạnh hay yếu và tính theo công thức sau:

- Mức độ công bằng: là mức độ của các luồng thể hiện mạng có đảm bảo sự
công bằng cho các kết nối khi trong mạng có nhiều loại hình thông lượng
khác nhau. Mức độ công bằng là 1 khi thông lượng của các luồng bằng
nhau, và ngược lại.

- Kích thước hàng đợi trung bình: là chỉ số biểu thị trực tiếp mức độ sử dụng
tài nguyên tại bộ định tuyến. Chỉ số này được xácđịnh bằng tỉ số của kích
thước hàng đợi trung bình với kích thước thực của hàng đợi. Cơ chế có chỉ
số này càng nhỏ sẽ có độ trễ tại hàng đợi nhỏ và ngược lại.

6
1.3. Các dạng lưu lượng mạng
- Đó là một chuỗi các giao tiếp giữa hai điểm cuối; được giới hạn bởi việc mở
và kết thúc phiên. Có rất nhiều dữ liệu được lưu trữ trong một luồng có sẵn
để phân tích. Các điểm dữ liệu được thu thập là:
o Địa chỉ IP nguồn và đích
o Các cổng nguồn và đích, nếu có (ví dụ ICMP, không sử dụng cổng)
o Giao thức
1.4. Các phương pháp đánh giá hiệu năng mạng
- Mô hình phân tích:
o Đây là phương pháp sử dụng cơ sở lý thuyết, công thức toán học để
đánh giá hiệu năng mạng.
o Có thể thay đổi các tham số hệ thống và cấu hình mạng trong một
miền rộng với chi phí thấp mà vẫn có thể đạt được các kết quả mong
muốn.
o Mô hình giải tích thuờng là không thể giải được nếu không được đơn
giản hoá nhờ các giả thiết, hoặc được phân rã thành các mô hình
nhiều cấp. Các mô hình giải được thuờng rất đơn giản hoặc khác xa
thực tế.
o Thuờng chỉ được sử dụng ngay trong giai đoạn đầu của việc thiết kế
mạng, giúp cho nguời thiết kế dự đoán được các giá trị giới hạn của
hiệu năng.

- Phương pháp mô phỏng:


o Phương pháp thực hiện cài đặt và thực nghiệm, đòi hỏi một chi phí
rất cao. Tuy nhiên, sau khi đã xây dựng xong bộ mô phỏng, có thể
tiến hành chạy chương trình mô phỏng bao nhiêu lần tuỳ ý, với độ
chính xác theo yêu cầu và chi phí cho mỗi lần chạy thuờng là rất
thấp.

7
o Các kết quả mô phỏng nói chung vẫn cần được kiểm chứng, bằng
phương pháp giải tích hoặc đo đạc.
o Phương pháp mô hình Giải tích và mô hình Mô phỏng đóng vai trò
rất quan trọng trong việc thiết kế và triển khai thực hiện hệ thống, đặc
biệt là ở giai đoạn đầu.

- Phương pháp độ đo
o Phương pháp chỉ có thể thực hiện được trên mạng thực, đang hoạt
động, nó đòi hỏi chi phí cho các công cụ đo và việc tiến hành đo.
o Việc đo cần được tiến hành tại nhiều điểm trên mạng thực, ở những
thời điểm khác nhau và cần lặp đi lặp lại trong một khoảng thời gian
đủ dài.
o Ngoài ra, nguời nghiên cứu phải có kiến thức về Lý thuyết thống kê
thì mới có thể rút ra được các kết luận hữu ích từ các số liệu thu thập
được.

- Tổng hợp các phương pháp đánh giá hiệu năng mạng

Hình 1.4.1

8
Chương 2: Sử dụng phần mềm mô phỏng NS2

2.1. NS2 (Network Simulator) là gì?

- NS2 là phần mềm mô phỏng mạng điều khiển sự kiện riêng rẽ hướng đối
tượng, được phát triển tại UC Berkely, viết bằng ngôn ngữ C++ và OTcl. NS2
rất hữu ích cho việc mô phỏng mạng diện rộng (WAN) và mạng local (LAN).

o NS thực thi các giao thức mạng như: giao thức điều khiển truyền tải
(TCP) và giao thức gói người dùng (UDP).
o Các dịch vụ nguồn lưu lượng như: Giao thức truyền tập tin (FTP),
Telnet, Web, tốc độ bit cố định (CBR) và tốc độ bit thay đổi (VBR).
o Các kỹ thuật quản lý hàng đợi như: Vào trước ra trước (Drop Tail),
dò sớm ngẫu nhiễn (RED) và CBQ.

- Kiến trúc NS2

o Dùng C++ để:


 Mô phỏng giao thức chi tiết yêu cầu ngôn ngữ lập trình hệ
thống
 Thao tác trên byte, xử lý gói, thực thi thuật toán.
 Thực hiện bất kỳ việc gì mà cần phải xử lý tứng packet của
một luồng.
o Otcl để:

9
 Mô phỏng những thông số hay cấu hình thay đổi.
 Cấu hình, thiết lập, thời gian tương tác.
 Thực hiện những cái ta muốn bằng cách thao tác trên các đối
tượng C++ đang tồn tại

2.2. Cài đặt NS2

- Bước 1: Chuẩn bị hệ điều hành Linux ( Ubuntu, Lubuntu Alternate )

/ Có thể cài trực tiếp lên laptop, desktop của mình hoặc có thể dùng máy
ảo VMWare Player.

- Bước 2: Tải phần mềm NS2 ( http://media.thanhnt.com/public_file/ns-


allinone-2.35.tar.gz )
- Bước 3: Sau khi tải xong file dạng tar.gz, ta di chuyển nó qua folder nào đó
cho dễ truy cập nhất có thể, ta có thể đặt tại /home/[user]/
- Bước 4: Cài đặt các gói thư viện cần thiết (Cần có kết nối mạng)
o Mở terminal và gõ lệnh dưới đây:

sudo apt-get install build-essential autoconf automake


libxmu-dev xgraph

- Bước 5: Giải nén file tải về

10
o Ta mở Terminal lên, cd (change directory) đến thư mục chứa file tải
về ở Bước 2. Gõ lệnh sau để giải nén (hoặc có thể click double nếu
bạn dùng Lubuntu, mở ra và giải nén ra thư mục ns-allinone-2.35):

tar zxvf ns-allinone-2.35.tar.gz

o Sau khi giải nén ta thu được folder /ns-allinone-2.35/

- Bước 6: Hiệu chỉnh 1 số dòng văn bản để ứng dụng có thể được cài đặt
o Dùng 1 trình soạn thảo (Gedit, Vi, VIM, Nano…) tìm và mở file ns-
allinone-2.35/ns-2.35/linkstate/ls.h. Tại dòng 137, thay thế dòng:

void eraseAll() { erase(baseMap::begin(),


baseMap::end()); }

o Thành:

void eraseAll() { this->erase(baseMap::begin(),


baseMap::end()); }

- Bước 7: Mở Terminal, di chuyển đến thư mục gốc của NS2 tại /ns-allinone-
2.35/ và chạy lệnh ./install để bắt đầu cài đặt - biên dịch NS2. Quá trình này
có thể diễn ra khoảng 5 phút. Khi hiện ra màn hình với nội dung này là quá
trình hoàn tất.

11
o Chú ý ghi chú lại mấy đường dẫn cần thiết.
- Bước 8: Thiết lập biến môi trường
o Như trong nội dung thông báo thì sau khi hoàn tất cài đặt NS2,
chương trình sẽ yêu cầu cái đặt biến môi trường.
 PATH
 LD_LIBRARY_PATH
 TCL_LIBRARY
o Mở file /home/[user]/.bashrc (Nếu không nhìn thấy thì bạn nhấn
Ctrl+H để hiện ra file này). Và chỉnh sửa dựa trên nội dung mà sau
khi cài NS2 xong như hình dưới:

12
export PATH=$PATH:..........
export LD_LIBRARY_PATH=..........
export TCL_LIBRARY=..........

o Đoạn thêm vào tương ứng với đường dẫn mà ta đã ghi chú lại khi
nãy. (Đường dẫn này có thể khác nhau với mỗi người dùng khác
nhau)
o Chú ý: Mỗi đường dẫn cách nhau dấu “:“. Riêng TCL_LIBRARY ta
copy 2 lần đường dẫn.
o Chạy lệnh sau để hệ thống cập nhật biến môi trường:

source ~/.bashrc

- Bước 9: Hoàn tất cài đặt


o Ta mở Terminal và gõ lệnh: NS : kết quả trả về ký tự % (OK) nam :
hiện ra bảng GUI về chương trình (OK)

13
2.3. Thiết lập mô hình và cài đặt các thông số mạng

- Ta có một mô hình mạng đơn giản với 4 note mạng

14
- Khi có được mô hình thì sẽ đến phần viết code khởi tạo các node mạng

set ns [new Simulator]; #Create a simulator object

$ns color 1 Blue; #Define different colors for data flows

$ns color 2 Red ; #Define different colors for data flows

set nf [open out.nam w]; #Open the NAM trace file

$ns namtrace-all $nf

set tf [open out.tr w]

$ns trace-all $tf

#Define a 'finish' procedure

proc finish {} {

global ns nf

$ns flush-trace

close $nf ; #Close the NAM trace file

exec nam out.nam & ; #Execute NAM on the trace file

exit 0

#Create four nodes

set n0 [$ns node] ; set n1 [$ns node] ;

set n2 [$ns node] ; set n3 [$ns node]

$ns duplex-link $n0 $n2 2Mb 10ms DropTail; #Create links between the nodes

$ns duplex-link $n1 $n2 2Mb 10ms DropTail; #Create links between the nodes

$ns duplex-link $n2 $n3 1.7Mb 20ms DropTail; # links between the nodes

15
$ns queue-limit $n2 $n3 10; #Set Queue Size of link (n2-n3) to 10

$ns duplex-link-op $n0 $n2 orient right-down; #Give node position (for NAM)

$ns duplex-link-op $n1 $n2 orient right-up; #Give node position (for NAM)

$ns duplex-link-op $n2 $n3 orient right; #Give node position (for NAM)

$ns duplex-link-op $n2 $n3 queuePos 0.5; #Monitor the queue for link (n2-n3)

#Setup a TCP connection

set tcp [new Agent/TCP]

$tcp set class_ 2

$ns attach-agent $n0 $tcp

set sink [new Agent/TCPSink]

$ns attach-agent $n3 $sink

$ns connect $tcp $sink

$tcp set fid_ 1

#Setup a FTP over TCP connection

set ftp [new Application/FTP]

$ftp attach-agent $tcp

$ftp set type_ FTP

set udp [new Agent/UDP]; #Setup a UDP connection

$ns attach-agent $n1 $udp

set null [new Agent/Null]

$ns attach-agent $n3 $null

$ns connect $udp $null

16
$udp set fid_ 2

set cbr [new Application/Traffic/CBR]; #Setup a CBR/ UDP connection

$cbr attach-agent $udp

$cbr set type_ CBR

$cbr set packet_size_ 1000

$cbr set rate_ 1mb

$cbr set random_ false

#Schedule events for the CBR and FTP agents

$ns at 0.1 "$cbr start"

$ns at 1.0 "$ftp start"

$ns at 4.0 "$ftp stop"

$ns at 4.5 "$cbr stop"

$ns at 4.5 "$ns detach-agent $n0 $tcp ; $ns detach-agent $n3 $sink"

$ns at 5.0 "finish"

#Print CBR packet size and interval

puts "CBR packet size = [$cbr set packet_size_]"

puts "CBR interval = [$cbr set interval_]"

#Run the simulation

$ns run

2.4. Chạy mô hình và đánh giá các độ đo hiệu năng

2.4.1. Chạy mô hình

17
- Mô hình đã được khởi tạo và chạy thành công trên phần mềm NS2

2.4.2. Đánh giá các độ đô hiệu năng

18
Chương 3: Cài đặt công cụ giám sát hiệu năng mạng

3.1. Giới thiệu một số công cụ giám sát

3.1.1. Giám sát hiệu năng mạng Solarwinds

SolarWinds Network Performance Monitor rất dễ cài đặt và có thể sẵn sàng
ngay lập tức. Công cụ tự động phát hiện các thiết bị mạng và triển khai trong vòng một
giờ. Cách tiếp cận đơn giản của nó để giám sát toàn bộ mạng khiến nó trở thành một
trong những giao diện người dùng dễ sử dụng và trực quan nhất.

19
Sản phẩm có khả năng tùy biến cao và giao diện dễ quản lý, thay đổi rất nhanh chóng.
Bạn có thể tùy chỉnh trang tổng quan, biểu đồ và chế độ xem hiệu suất dựa trên web.
Bạn có thể thiết kế cấu trúc liên kết phù hợp cho toàn bộ cơ sở hạ tầng mạng của mình.
Bạn cũng có thể tạo cảnh báo thông minh nhận biết sự phụ thuộc tùy chỉnh và hơn thế
nữa.

3.1.2. Giám sát mạng PRTG từ Paessler

Phần mềm PRTG Network Monitor thường được biết đến với khả năng quản lý
cơ sở hạ tầng tiên tiến. Tất cả các thiết bị, hệ thống, lưu lượng truy cập và ứng dụng
trong mạng của bạn có thể dễ dàng hiển thị trong chế độ xem phân cấp tóm tắt hiệu
suất và cảnh báo. PRTG giám sát cơ sở hạ tầng CNTT sử dụng công nghệ như SNMP,
WMI, SSH, Flows / Packet Sniffing, HTTP request, REST APIs, Pings, SQL và nhiều
hơn nữa.

20
3.1.3. ManageEngine OpManager

Về cốt lõi, ManageEngine OpManager là phần mềm quản lý cơ sở hạ tầng,


giám sát mạng và Quản lý hiệu suất ứng dụng “APM” (với APM plug-in).

Sản phẩm được cân bằng tốt khi nói đến các tính năng giám sát và phân tích.

Giải pháp có thể quản lý mạng, máy chủ, cấu hình mạng và lỗi & hiệu suất của
bạn; Nó cũng có thể phân tích lưu lượng mạng của bạn. Để chạy Manage Engine
OpManager, nó phải được cài đặt tại chỗ.

3.1.4. WhatsUp Gold 2017

21
WhatsUp Gold (WUG) là một phần mềm giám sát mạng của Ipswitch. Nó là
một trong những công cụ dễ sử dụng nhất và có cấu hình cao trên thị trường. Các bảng
điều khiển thân thiện với người dùng và hấp dẫn trực quan.

Để quản lý CNTT hàng ngày, WhatsUp Gold là một công cụ giám sát mạng cân
bằng về giá / tính năng. Nó cũng hoàn toàn có thể tùy chỉnh. Trang tổng quan có thể
được tùy chỉnh để hiển thị cơ sở hạ tầng CNTT và cảnh báo để phù hợp với yêu cầu
của bạn.

3.1.5. Nagios XI

Nagios XI tập trung vào việc giám sát. Các thành phần CNTT chính mà Nagios
XI giám sát là Mạng, Cơ sở hạ tầng và Cơ sở dữ liệu. Mặc dù phần mềm này rất dễ cài
đặt, nhưng ban đầu sẽ mất một thời gian để điều chỉnh theo yêu cầu của bạn. Điều này
là do Nagios XI không tự động phát hiện thiết bị. Bạn phải cấu hình từng thiết bị cần
được giám sát bằng tệp cấu hình.

22
3.1.6. Zabbix

Zabbix là một công cụ giám sát mã nguồn mở. Nó phổ biến vì GUI Web dễ sử
dụng và dễ chịu, có thể cấu hình đầy đủ. Zabbix tập trung vào chức năng theo dõi và
xu hướng. Phần mềm này thường được sử dụng để giám sát máy chủ và phần cứng
mạng. Một trong những điểm nổi bật của Zabbix là nó có thể dự đoán xu hướng trong
lưu lượng truy cập của bạn. Zabbix có thể dự báo hành vi trong tương lai dựa trên dữ
liệu lịch sử.

Vì nó là mã nguồn mở, nó có một cộng đồng người dùng tích cực trải khắp thế
giới và tài liệu tốt. Zabbix cho phép tự do sử dụng giải pháp mã nguồn mở mà không
cần nhà cung cấp khóa. Zabbix mạnh mẽ cho các mạng SMB dưới 1.000 nút. Qua đó,
phần mềm có thể chậm hơn và hiệu suất của nó giảm. Một nhược điểm khác là nó
không bao gồm các bài kiểm tra và báo cáo thời gian thực.

23
// Phần mềm công cụ giám sát hệ thống mạng hiện nay rất phổ biến và tiện
dụng quản trị viên mạng. Trên thị trường có rất nhiều phần mềm miễn phí và có phí.
Trên đây là 1 số các công cụ được đánh giá là top những công cụ tốt nhất năm 2020.

3.2. Giới thiệu và cài đặt, cấu hình công cụ giám sát hiệu năng mạng Zabbix

3.2.1. Tổng quan về Zabbix

Zabbix là một công cụ để giám sát hệ thống mạng, các thiết bị mạng, giám sát
khả năng sẵn sàng và hiệu năng của mạng và thiết bị mạng. Nếu có xảy ra lỗi thì sẽ có
cảnh báo gửi tới người quản trị mạng qua sms, email...

Là công cụ mã nguồn mở miễn phí.

Được phát hành theo giấy phép GPlv2, không giới hạn về sức chứa và số lượng
thiết bị được giám sát

Hỗ trợ bất kỳ kích thước của mô hình mạng nào. Có thể là mô hình nhỏ hoặc
mô hình lớn, thường xuyên cập nhật và phát hành phiên bản mới.

Zabbix được viết năm 1998, là dự án của Alexei Vladishev (Alexei Vladishev
dùng để monitor hệ thống database)

3.2.2. Zabbix Features

Zabbix cũng cấp những tính năng quan trọng và cần thiết cho việc monitor hệ
thống và các thiết bị mạng.

Zabbix dựa trên các agent và agentless để giám sát hệ thống mạng và các thiết
bị mạng. Các thiết bị mạng phải hỗ trợ giao thức SNMP. Zabbix giám sát hiệu suất,
hiệu năng của máy chủ vật lý cũng như máy ảo.

Trong Th có lỗi xảy ra zabbix cảnh báo cho người quản trị, tuy nhiên zabbix
không có khả năng phát hiện hay dự đoán lỗi có thể xảy ra.

3.2.2.1. Open source

3.2.2.2. Agent-based vs Agentless

Agent-based
24
- Đây là một phần mềm được gọi là agent được cài đặt trên máy chủ local và
các thiết bị cần monitor. Mục tiêu của nó là thu thập thông tin gửi về zabbix-
server và có thể cảnh báo tới người quản trị.
- Agent được cài đặt đơn giản nhẹ nhàng, tiêu thụ ít tài nguyên của server.
- Lợi ích của việc sử dụng agent là phân tích sâu hơn, ngoài ra có thể chuẩn
đoán được hiệu suất phần cứng, cung cấp khả năng cảnh bảo và report.

Agentless

- Agentless là một giải pháp không yêu cầu bất kỳ cài đặt agent riêng biệt
nào. Phân tích mạng dựa trên giám sát package tiếp. Nó được sử dụng để
giám sát tính sẵn sàng của mạng và hiệu suất. Tuy nhiên, nó không cung cấp
bất kỳ thông tin chi tiết nào về lỗi.

3.2.3. Zabbix architecture

Zabbix bao gồm các thành phần sau: Zabbix Server, Zabbix Proxy, Zabbix
Agent và Web Interface.

- Zabbix server: Đây là thành phần trung tâm của phần mềm Zabbix. Zabbix
Server có thể kiểm tra các dịch vụ mạng từ xa thông qua các báo cáo của
Agent gửi về cho Zabbix Server và từ đó nó sẽ lưu trữ tất cả các cấu hình
cũng như là các số liệu thống kê.

25
- Zabbix Proxy: Là phần tùy chọn của Zabbix có nhiệm vụ thu nhận dữ liệu,
lưu trong bộ nhớ đệm và chuyển đến Zabbix Server.
- Zabbix Agent: Để giám sát chủ động các thiết bị cục bộ và các ứng dụng (ổ
cứng, bộ nhớ…) trên hệ thống mạng. Zabbix Agent sẽ được cài lên trên
Server và từ đó Agent sẽ thu thập thông tin hoạt động từ Server mà nó đang
chạy và báo cáo dữ liệu này đến Zabbix Server để xử lý.
- Web interface: Để dễ dàng truy cập dữ liệu theo dõi và sau đó cấu hình từ
giao diện web cung cấp.

26
3.2.4. Ưu điểm của Zabbix

Zabbix đáp ứng các yêu cầu của công cụ giám sát mạng đáng tin cậy tới 90%.
Nó thực hiện cả giám sát agent-based, agentless. Hỗ trợ Low level Discovery, Auto-
Discovery Logical grouping. Tất cả các tính năng nêu trên làm cho Zabbix trở thành
một công cụ giám sát mạng hoàn hảo, đáp ứng đầy đủ các yêu cầu của bất kỳ mạng
kích thước nào. Tuy nhiên Zabbix không hỗ trợ dự đoán TH xấu xảy ra.

Zabbix là một công cụ giám sát mạng đáng tin cậy. Nếu Zabbix cảnh báo người
dùng về một lỗi nào đó, có tin tưởng 100% rằng vấn đề như vậy tồn tại. Ngoài ra, một
trong những lợi thế chính của Zabbix là khả năng mở rộng của nó vì nó là khả năng áp
dụng cho các môi trường có kích thước bất kỳ.

3.2.5. Vấn đề cần cải thiện trong zabbix

3.2.5.1. Web Interface Thao tác sử dụng hiện tại của giao diện người dùng quá
phức tạp. Người dùng cho Zabbix mới có thể gặp sự cố với Giao diện web. Một số
thao tác cơ bản có thể tốn thời gian ngay cả đối với người dùng có kinh nghiệm. Phải
thao tác quá nhiều cho một hoạt động cơ bản.

3.2.5.2. API có thể có hiện tượng rất chậm, đặc biệt là khi nói đến các hoạt
động template linking. Ví dụ, có 10000 host và quản lý một mạng muốn liên kết chúng
thành một template đơn giản. Nó sẽ mất khoảng 10-20 phút, tùy thuộc vào phần cứng.
Ngoài ra, nó sẽ tạo ra quá nhiều truy vấn SQL. Số lượng họ thậm chí có thể đạt đến
hàng triệu.

3.3. Cấu hình

3.3.1. Mô hình / IP planning

3.3.2. Các bước cài đặt

27
B1: cài đặt LAMP

 LAMP là gì?

/ Lamp thường được dùng để phát triển web server. LAMP là từ viết tắt
của Linux, Apache, Mysql, PHP.

 Cài đặt LAMP

/ Để cài đặt LAMP ta tiến hành cài đặt lần lượt các thành phần của nó.
Trước tiên ta cần một máy có chạy hệ điều hành Linux.

 Cài đặt Apache

/ Apache là một phần mềm được đặt trên máy chủ web server để xử lý
các yêu cầu gửi tới máy đó dưới giao thức HTTP hoặc HTTPs.

 Sử dụng lệnh yum để cài đặt Apache

yum install httpd –y

 Bật dịch vụ Apache và cho phép khởi động cùng hệ thống

systemctl start httpd

systemctl enable httpd

 Tắt firewall

systemctl stop firewalld

 Để kiểm tra ta vào trình duyệt web và truy cập


/ Kiểm tra địa chỉ IP:

28
/ http://địa-chỉ-IP-của-server

B2: Cài đặt Mysql server

 Chạy lần lượt các lệnh sau


# wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm

# rpm -ivh mysql-community-release-el7-5.noarch.rpm

# yum install mysql-server

 Bật Mysql

systemctl start mysqld


29
 Chạy lệnh sau để thiết lập tài khoản root

mysql_secure_installation

 Để kiểm tra ta truy cập thử Mysql

B3: Cài PHP

 Sử dụng yum để cài PHP

yum install php php-mysql php-gd php-pear –y

 Để test PHP đã cài đặt thành công chưa


 Thực hiện lệnh

echo "<?php phpinfo(); ?>" > /var/www/html/info.php

 Sau đó restart lại dịch vụ httpd

systemctl restart httpd

 Mở trình duyệt web truy cập địa chỉ http://địa chỉ Ip/info.php
 Kết quả trả về như sau là thành công

 Như vậy là đã cài đặt thành công LAMP

30
B4: Cài đặt zabbix server

 Ở đây em sử dụng cách cài đặt bằng package


 Cài đặt gói cấu hình

rpm -ivh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-


1.el7.noarch.rpm

 Cài đặt zabbix server

yum install zabbix-server-mysql

 Cài đặt zabbix frontend

yum install zabbix-web-mysql

 Nếu mô hình của bạn có zabbix proxy thì bạn dùng lênh sau để cài đặt trên
máy zabbix proxy

yum install zabbix-proxy-mysql

 Tạo database cho zabbix


# mysql -u root -p

 create database zabbix;

 grant all privileges on zabbix.* to 'zabbix'@'localhost' identified by


'zabbix';

 flush privileges;

 exit

 Import database
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p
zabbix
31
 Sửa file zabbix_server.conf để có thể sử dụng database (nếu ban có cài
zabbix proxy thì cẩn sửa file zabbix_proxy.conf)
# vi /etc/zabbix/zabbix_server.conf
( DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix )
 Đây là các thông số mà em vừa tạo trong database ở câu lệnh bên trên
 Start zabbix server

service zabbix-server start

systemctl enable zabbix-server

 Cấu hình zabbix frontend


 Truy cập file /etc/httpd/conf.d/zabbix.conf và uncomment ở dòng timezone
và chỉnh sửa lại timezone

( php_value max_execution_time 300

php_value memory_limit 128M

php_value post_max_size 16M

php_value upload_max_filesize 2M

php_value max_input_time 300

php_value max_input_vars 10000

php_value always_populate_raw_post_data -1

php_value date.timezone Asia/Ho_Chi_minh )

 Cầu hình selinux


 Bạn có thể disable SElinux hoặc cho phép kết nối bằng câu lệnh sau

32
setsebool -P httpd_can_connect_zabbix on

setsebool -P httpd_can_network_connect_db on

 Restart lại Apache

service httpd restart

 Ta mở trình duyệt web và truy cập http://IP-server/zabbix ta sẽ thấy như sau

 Như vậy là đã cài đặt thành công zabbix-server trên OS centos 7

3.3.3. Thiết lập Dashboard trên zabbix server

Dashboard: Là giao diện hiển thị các dashboard trực quan để người quản trị
nhìn trực tiếp, người quản trị có thể tạo ra rất nhiều các dashboard khác nhau, nhưng
tại một tab screen chỉ có thể xem được 1 dashboard bất kỳ nào đó.

Để tạo màn hình lúc đăng nhập sẽ thấy giao diện như sau:

33
Ta có thể tạo một Dashboard mới hoặc sửa lại Dashboard có sẵn

Để sửa một màn dashboard bạn vào màn hình dashboard cần sửa sau đó click
vào Edit dashboard

Để tạo một màn hình dashboard mới bạn chọn ADD

34
Sau đó tiến hành thêm các bảng để hiển thị trên dashboard

Sẽ có rất nhiều kiểu cũng như thông tin cho ta lựa chọn. ta có thể chọn như
action log, Graph hay System infomation ...

35
1 Bashbroad mới với name là “ Tuan Anh “ đã được tạo ra, ( ta cần add thêm
host muốn monitor vào để hiển thị chi tiết )

3.3.4. Gửi cảnh báo qua mail

B1: Cài đặt môi trường

Do scripts gửi cảnh báo thông qua email được viết bằng ngôn ngữ python nên phải
cài môi trường python để chạy được scripts .

yum install python2.7

yum install python-pip

B2: Download scripts alert email

Kiểm tra thư mục để các scripts alert cho zabbix server

cat /etc/zabbix/zabbix_server.conf | grep alert

Kết quả các file scripts được đặt ở thư mục có đường dẫn /usr/lib/zabbix/alertscripts

36
Vào thưc mục để chứa scripts và download scripts về và cấp quyền truy cập cho file
nén.

B3: Chỉnh sửa file scripts

Để người quản trị có thể nhận được các cảnh báo thông qua email, phải thiết lập địa
chỉ email gửi đi các cảnh báo trong scripts

vi zabbix-alert-smtp.sh

Chỉnh sửa 2 tham số sau

# Mail Account
37
MAIL_ACCOUNT = 'emailcuaban@gmail.com'

MAIL_PASSWORD = 'password email cua ban'

B4: Gửi test cảnh báo

Đứng tại thư mục chứa scripts /usr/lib/zabbix/alertscripts chạy lệnh test dưới

Cấu hình trên web

B1: Truy zabbix server bằng trình duyệt web với địa chỉ IP

38
B2: Tạo media type

Media type chính là các kênh kể zabbix server gửi cảnh báo có thể là Email, SMS
hay một kênh được tạo ra bằng scripts.

Click Administrator -> Media types -> Create media type

Nhập các thông tin về media type mới

Name: Gmail (Tên có thể tùy đặt)

Type: Script

Script name: Tên của script có trong thư mục alert script của server zabbix
39
Script parameter:

{ALERT.SENDTO}

{ALERT.SUBJECT}

{ALERT.MESSAGE}

Như vậy là đã tạo thành công Media type mới có tên là Email

B3: Set user nhận alert qua email

Click Administrator -> User -> Lựa chọn user nhận email cảnh báo

40
Click Media -> Add

Nhập email nhận cảnh báo

Type: Chính là type mà đã tạo ở trên

Sento: Địa chỉ emal sẽ nhận được alert

Use of serverity: Các mức cảnh bảo

Enable: Tích chọn

41
Như vậy user Admin đã được thiết lập nhận cảnh báo qua email.

Click Update

Tạo Action

Tạo action để khi có sự bất thường đối với các thông số monitor sẽ có alert qua email.

Click Configuration -> Action -> Trigger action -> Create action

42
Tại tab action

Nhập thông tin:

Name: Tên của action muốn tạo

Tab operation: Thiết lập thông tin về bản tin cảnh báo gửi đi

43
Set group hoặc chỉ định user nhận được cảnh báo.

Set cho action gửi cảnh báo qua kênh nào. Có thể lựa chọn một hoặc nhiều kênh.

44
Click add

45
Tab Recovery operation: Thiết lập thông tin về bản tin cảnh báo gửi đi khi không
vấn đề được giải quyết, dưới ngưỡng cảnh báo.

Default subject (Tiêu đề của thông báo recovery)

OK Resolved: {HOSTNAME}:{TRIGGER.NAME}-status-
{TRIGGER.STATUS}

Default message (Nội dung của thông báo)

{TRIGGER.NAME} on {HOSTNAME}

Status: {TRIGGER.STATUS}

Severity: {TRIGGER.SEVERITY}

Values: {ITEM.VALUE1}

Item Graphic: [{ITEM.ID1}]


46
Sau khi nhập đủ thông tin click add

Như vậy là đã tạo action thành công

Test cảnh báo qua email

Sử dụng trigger (set up ngưỡng cảnh báo) sẵn có trong template để test gửi cảnh báo.

Click Configuration -> Lựa chọn host -> Trigger

47
Trigger: {Host_Centos_192.168.229.131:system.cpu.load[percpu,avg1].avg(5m)}>1
biểu thị giá trị CPU load average trung bình trong 5 phút > 1 sẽ gửi cảnh báo.

Khi thỏa mãn điều kiện của trigger cảnh báo sẽ được tới email.

Như vậy là đã hoàn thành cấu hình thiết lập gửi cảnh báo zabbix qua email

48
Tài liệu tham khảo
https://classroom.google.com/c/NDUwMjAzMzg5Mzcw
https://github.com/letuananh19/thuctapsinh/tree/master/NiemDT/
Ghichep-zabbix
https://www.zabbix.com/
https://computingforgeeks.com/how-to-install-zabbix-server-on-
centos-7/
https://sites.google.com/site/networksprojectwiki/bit10/
compnetworks/voip-performance-over-udp-and-sctp-in-ns2/
installation-and-configuation

49

You might also like