Tổng quan về đánh giá hiệu năng mạng
Tầm quan trọ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.
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.
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. 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
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. 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
Sử dụng phần mềm mô phỏng NS2
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 để:
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
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ề 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. 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.
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: 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)
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
- 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]
#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
$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]
$ns attach-agent $n0 $tcp set sink [new Agent/TCPSink]
#Setup a FTP over TCP connection set ftp [new Application/FTP]
$ftp set type_ FTP set udp [new Agent/UDP]; #Setup a UDP connection
$ns attach-agent $n1 $udp set null [new Agent/Null]
$udp set fid_ 2 set cbr [new Application/Traffic/CBR]; #Setup a CBR/ UDP connection
#Schedule events for the CBR and FTP agents
$ns at 4.5 "$ns detach-agent $n0 $tcp ; $ns detach-agent $n3 $sink"
#Print CBR packet size and interval puts "CBR packet size = [$cbr set packet_size_]" puts "CBR interval = [$cbr set interval_]"
Chạy mô hình và đánh giá các độ đo hiệu năng
- 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
đặt công cụ giám sát hiệu năng mạng
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.
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.
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ỗ.
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.
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.
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.
// 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.
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
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)
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.
- Đâ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.
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ê.
- 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.
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.
Cấu hình
/ 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 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.
/ 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:
/ http://địa-chỉ-IP-của-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
Bật Mysql systemctl start mysqld
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
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 "" > /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
Ở đâ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
grant all privileges on zabbix.* to 'zabbix'@'localhost' identified by 'zabbix';
Import database zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
Sửa file zabbix_server.conf để có thể sử dụng database (nếu ban có cài
# vi /etc/zabbix/zabbix_server.conf
Đâ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
Truy cập file /etc/httpd/conf.d/zabbix.conf và uncomment ở dòng timezone và chỉnh sửa lại timezone
To enhance server performance and security, specific PHP values have been modified The maximum execution time has been set to 300 seconds (php_value max_execution_time 300) Memory allocation is limited to 128MB (php_value memory_limit 128M) File uploads are capped at 2MB (php_value upload_max_filesize 2M) and POST data size at 16MB (php_value post_max_size 16M) Input processing time is set to 300 seconds (php_value max_input_time 300) A limit of 10000 has been placed on the maximum number of input variables (php_value max_input_vars 10000) Raw POST data population is disabled (php_value always_populate_raw_post_data -1) Finally, the timezone has been configured to Asia/Ho_Chi_minh (php_value date.timezone Asia/Ho_Chi_minh).
Bạn có thể disable SElinux hoặc cho phép kết nối bằng câu lệnh sau 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:
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
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
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
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
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
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 = '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
B1: Truy zabbix server bằng trình duyệt web với địa chỉ IP
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)
Script name: Tên của script có trong thư mục alert script của server zabbix
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
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
Như vậy user Admin đã được thiết lập nhận cảnh báo qua email.
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
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
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.
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-
Default message (Nội dung của thông báo)
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
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