1. Trang chủ
  2. » Giáo Dục - Đào Tạo

BÁO cáo LINUX và PHẦN mềm NGUỒN mở cài đặt THỬ NGHIỆM, tìm HIỂU các TÍNH NĂNG ĐÁNH GIÁ CÔNG cụ GIÁM sát MẠNG CACTI

33 21 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Báo Cáo Linux Và Phần Mềm Nguồn Mở Cài Đặt Thử Nghiệm, Tìm Hiểu Các Tính Năng Đánh Giá Công Cụ Giám Sát Mạng Cacti
Tác giả Đình Đức Lâm, Trần Đức Việt, Đỗ Hoàng Việt, Lê Trí Minh
Người hướng dẫn Phan Đức Chình
Trường học Trường Đại Học Bách Khoa Hà Nội
Thể loại báo cáo
Năm xuất bản 2021
Thành phố Hà Nội
Định dạng
Số trang 33
Dung lượng 1,47 MB

Cấu trúc

  • 1. Các công cụ giám sát mạng trên thị trưởng

    • 1.1. Các công cụ mã nguồn mở

      • 1.1.1. Nagios Core

      • 1.1.2. Zabbix

      • 1.1.3. MRTG

      • 1.1.4. Icinga

      • 1.1.5. OpenNMS

      • 1.1.6. Centreon

    • 1.2. Công cụ mã nguồn đóng

      • 1.2.1. SolarWinds® Network Performance Monitor

      • 1.2.2. PRTG Network Monitor

      • 1.2.3. ManageEngine OpManager

      • 1.2.4. Whatsup Gold

  • 2. Tổng quan về Cacti

    • 2.1. Sự ra đời

    • 2.2. Khái niệm

    • 2.3. So sánh với các công cụ trên thị trường

  • 3. Giới thiệu giao thức SNMP

    • 3.1. Tổng quan

    • 3.2. Kiến trúc của SNMP

      • 3.2.1. Các thành phần của SNMP

      • 3.2.2. OID và MIB

    • 3.3. Các phương thức của SNMP

    • 3.4. Các cơ chế bảo mật SNMP

      • 3.4.1. Community String

      • 3.4.2. View

      • 3.4.3. SNMP – ACL

    • 3.5. Các phiên bản của SNMP

  • 4. Giới thiệu hệ thống RRDTool (Round-Robin Database Tool)

  • 5. Cơ chế hoạt động

  • 6. Tính năng

  • 7. Ưu nhược điểm của Cacti

  • 8. Cài đặt demo

    • 8.1. Cài các gói cần thiết

    • 8.2. Cài đặt LAMP

    • 8.3. Cấu hình MariaDB

    • 8.4. Cài đặt và cấu hình Cacti

    • 8.5. Cấu hình Apache cho Cacti

    • 8.6. Truy cập giao diện web Cacti

Nội dung

Các công cụ giám sát mạng trên thị trưởng

Các công cụ mã nguồn mở

Nagios là một trong những công cụ giám sát mạng và máy chủ phổ biến nhất, đã hoạt động gần 18 năm Nagios Core hỗ trợ các tổ chức và doanh nghiệp duy trì sự ổn định cho hệ thống mạng của họ, đồng thời giúp xác định và khắc phục sự cố trước khi chúng trở nên nghiêm trọng.

Zabbix là một hệ thống giám sát mã nguồn mở miễn phí, được phát triển bằng PHP và tuân thủ giấy phép GPL Nó cung cấp giao diện thân thiện và dễ sử dụng để theo dõi mạng, đồng thời đưa ra cảnh báo kịp thời cho các sự cố đáng ngờ Ngoài ra, Zabbix còn cung cấp đồ thị có cấu trúc rõ ràng và dữ liệu hữu ích cho người dùng.

MRTG (Multi Router Traffic Grapher) là một hệ thống giám sát mạng đơn giản, tương tự như Nagios và Zabbix, được thiết kế cho mạng có quy mô vừa và nhỏ Hệ thống này chủ yếu được sử dụng để giám sát các thiết bị như CPU, RAM và các cổng kết nối mạng Với giao diện đồ họa hấp dẫn, MRTG cung cấp các số liệu thống kê chi tiết, giúp người dùng dễ dàng theo dõi tình trạng mạng.

Icinga là một công cụ giám sát mạnh mẽ trên hệ điều hành Linux, cho phép theo dõi tất cả thiết bị mạng và tài nguyên kết nối Công cụ này cung cấp cảnh báo gần như ngay lập tức khi phát hiện các bất thường trong hệ thống và thiết bị Icinga đặc biệt phù hợp cho các doanh nghiệp với hệ thống lớn và các văn phòng phân bố tại nhiều địa điểm khác nhau.

OpenNMS là một hệ thống giám sát mạng mã nguồn mở nổi bật, được thiết kế cho các doanh nghiệp lớn với khả năng quản lý hàng triệu thiết bị kết nối Hệ thống này cho phép người dùng tự động phát hiện các node và theo dõi đa dạng các dịch vụ trong mạng, mang lại hiệu quả cao trong việc quản lý hạ tầng mạng.

Centreon, hay còn gọi là Centreon Enterprise Server (CES), là một hệ thống giám sát mạng hàng đầu, được sử dụng rộng rãi tại các ngân hàng lớn, công ty công nghệ thông tin, cũng như các doanh nghiệp bảo hiểm và tài chính toàn cầu Với khả năng theo dõi người dùng và tình trạng mạng lưới 24/7, CES mang lại sự an tâm cho doanh nghiệp trong việc giám sát cơ sở hạ tầng và ứng dụng của mình.

Công cụ mã nguồn đóng

SolarWinds® Network Performance Monitor (NPM) là phần mềm giám sát mạng hiệu suất cao, giúp người dùng nhanh chóng phát hiện, chẩn đoán và khắc phục các vấn đề về hiệu suất mạng cũng như sự cố ngừng hoạt động một cách hiệu quả và tiết kiệm chi phí.

SolarWinds® Network Performance Monitor (NPM) có giá từ $1638 (giá theo trang chủ của SolarWinds).

Giao diện của SolarWinds® Network Performance Monitor

PRTG Network Monitor là phần mềm giám sát mạng hiệu quả, cho phép theo dõi toàn diện các khía cạnh của mạng với chi phí hợp lý Phần mềm này cung cấp khả năng giám sát lưu lượng, cơ sở dữ liệu, ứng dụng, băng thông, dịch vụ đám mây, máy chủ, môi trường ảo, thời gian hoạt động, gói dữ liệu, cổng, phần cứng, bảo mật, sử dụng bộ nhớ, dịch vụ web, sử dụng ổ đĩa, môi trường, thiết bị IoT và nhiều yếu tố khác trong mạng của bạn.

ManageEngine OpManager là giải pháp giám sát mạng hiệu quả và tiết kiệm, cho phép theo dõi nhiều loại thiết bị như router, switch, firewall, load balancer, wireless LAN controllers, server, VMs, printers, và storage devices Với khả năng giám sát liên tục và cung cấp thông tin chi tiết, OpManager giúp người dùng phát hiện và khắc phục sự cố nhanh chóng, ngăn chặn ảnh hưởng tiêu cực đến hệ thống.

Whatsup Gold là một bộ công cụ giám sát mạnh mẽ, nổi bật với khả năng hiển thị toàn bộ thông tin lên màn hình chính Giao diện dễ sử dụng cho phép người quản lý theo dõi hệ thống một cách nhanh chóng và hiệu quả, mà không cần thực hiện nhiều thao tác phức tạp.

Tổng quan về Cacti

Sự ra đời

Dự án Cacti, do Ian Berry khởi xướng vào ngày 2 tháng 9 năm 2001, được hình thành từ cảm hứng của ông trong thời gian làm việc tại một nhà cung cấp dịch vụ Internet nhỏ Mục tiêu chính của Cacti là cung cấp một công cụ dễ sử dụng hơn RRDtool và linh hoạt hơn MRTG.

Vào ngày 13 tháng 9 năm 2004, phiên bản 0.8.6 đã chính thức ra mắt, đánh dấu sự phát triển mạnh mẽ của chương trình nhờ vào sự tham gia của nhiều nhà phát triển, góp phần tăng tốc độ và khả năng mở rộng của nó.

Vào tháng 6 năm 2012, lộ trình phát hành phiên bản 1.0.0 của Cacti được thông báo sẽ ra mắt trong quý đầu tiên của năm 2013 Tuy nhiên, đến tháng 8 năm 2013, thông báo đã được cập nhật với thông tin rằng "Lộ trình này đã lỗi thời" và cho biết việc tổ chức lại nhằm cải thiện chu kỳ phát triển của Cacti.

Khái niệm

Cacti là phần mềm mã nguồn mở cho giám sát mạng, được phát triển trên nền tảng PHP/MySQL Nó sử dụng RRDTool để lưu trữ dữ liệu và tạo đồ họa trực quan Cacti thu thập dữ liệu định kỳ thông qua Net-SNMP, một bộ phần mềm hỗ trợ giao thức quản lý mạng SNMP.

So sánh với các công cụ trên thị trường

Giao diện điều khiển Đơn giản và dễ dàng nắm bắt.

Cần có hỗ trợ và hướng dẫn từ hãng.

Cần có hỗ trợ và hướng dẫn từ hang. Tính năng quản lý

Cần thêm thiết bị bằng tay để đảm bảo thu thập thông tin đầy đủ và cần thiết Các gói tin SNMP không ảnh hưởng đến hiệu suất mạng, làm cho đây trở thành công cụ hữu ích cho việc giám sát hệ thống.

Phải thêm thiết bị bằng tay, các thông tin thu thập rất nhiều và liên tục, dễ gây rối do số lượng tin nhiều và không cần thiết

Có tính năng tự dò thiết bị được quản lý trong mạng Có thể tùy chỉnh thông tin nào cần lấy và không.

Phải tự lập topo, topo mạng là tĩnh.

Có khả năng tự động tạo topo, topo mạng luôn tự động cập

Có khả năng tự động lập topo, thể hiện rõ các cấu hình trên topo

Cacti OpManager Whatsup Gold nhật một cách trực quan.

Khả năng thiết lập quy trình

Hệ thống cảnh báo rất chính xác, có thể thiết lập ngưỡng cảnh báo.

Tuy nhiên, do là phần mềm nguồn mở nên có hạn chế về phương thức cảnh báo và hỗ trợ xử lý lỗi.

Hệ thống có khả năng cảnh báo hiệu quả, tự động kiểm tra theo quy trình IT đã được thiết lập khi nhận được cảnh báo, đồng thời cung cấp các gợi ý để xử lý sự cố một cách nhanh chóng và chính xác.

Có thể cảnh báo tới người quản lý theo nhiều cách.

Hệ thống cảnh báo có phân cấp mức độ nghiêm trọng cho từng cảnh báo, khi có lỗi có thể đưa ra các gợi ý kèm theo để xử lý.

Tài liệu hỗ trợ phong phú và dễ tiếp cận cho phép người quản lý tham khảo ý kiến từ các nhà phát triển toàn cầu và tự phát triển thêm Tài liệu này được cung cấp trực tiếp từ hãng, đảm bảo tính chính xác và cập nhật.

Hệ thống dễ dàng ứng dụng và là bước khởi đầu quan trọng trong việc quản lý và giám sát Người dùng có thể nắm bắt thông tin thông qua tài liệu hướng dẫn Các tính năng của hệ thống được thiết kế đơn giản, dễ hiểu và dễ sử dụng.

Khó áp dụng vào quản lý trong những doanh nghiệp thông thường do chi phí quá lớn Cần có sự hỗ trợ từ hãng để làm quen

Khó áp dụng bước đầu vào doanh nghiệp do chi phí quá lớn

Chỉ dùng cho doanh nghiệp vừa và nhỏ,

Dùng cho mọi quy mô doanh nghiệp,

Có thể quản lý đến20.000 thiết bị.

Cacti OpManager Whatsup Gold quy mô dưới 500 thiết bị mạng và máy tính. không giới hạn số lượng thiết bị quản lý.

Chi phí Miễn phí Từ 2000$ đến

25.000$ hoặc hơn tùy theo quy mô doanh nghiệp

Từ 2.200$ đến 8.500$ hoặc hơn, tùy theo quy mô của doanh nghiệp.

Cacti, mặc dù không nổi bật như các công cụ khác, vẫn cung cấp khả năng giám sát cần thiết và đầy đủ cho người dùng Đây là lựa chọn lý tưởng cho những người mới bắt đầu tìm hiểu về quản lý giám sát và cho mục đích đào tạo các chuyên gia quản trị mạng trong doanh nghiệp Hơn nữa, với tính năng mã nguồn mở, Cacti cho phép tùy biến và phát triển, mang lại tiềm năng vượt trội so với các công cụ khác mà không tốn chi phí.

Giới thiệu giao thức SNMP

Tổng quan

SNMP, hay "Giao thức Quản lý Mạng Đơn giản", là một giao thức quan trọng trong quản lý mạng Các thiết bị có khả năng hiểu và hoạt động theo giao thức này được gọi là "hỗ trợ SNMP" hoặc "tương thích SNMP".

SNMP (Simple Network Management Protocol) được sử dụng để quản lý hệ thống, cho phép theo dõi, thu thập thông tin, nhận thông báo và tác động để hệ thống hoạt động theo ý muốn Một số khả năng nổi bật của phần mềm SNMP bao gồm việc giám sát hiệu suất, phát hiện sự cố và tự động hóa các tác vụ quản lý mạng.

- Theo dõi tốc độ đường truyền của một router, biết được tổng số byte đã truyền/nhận.

- Lấy thông tin máy chủ đang có bao nhiêu ổ cứng, mỗi ổ cứng còn trống bao nhiêu.

- Lấy thông tin một máy sử dụng bao nhiêu ram, bao nhiêu % cpu, chạy bao nhiêu tiến trình trong 1 giây.

- Tự động nhận cảnh báo khi switch có một port bị down.

- Điều khiển tắt (shutdown) các port trên switch.

SNMP (Simple Network Management Protocol) là giao thức được thiết kế để quản lý mạng trên nền tảng TCP/IP, cho phép giám sát và điều khiển các thiết bị kết nối mạng như switch, router, firewall, ADSL gateway và cả một số phần mềm hỗ trợ quản trị qua SNMP Ví dụ, nếu một máy giặt có khả năng kết nối IP và hỗ trợ SNMP, người dùng có thể quản lý nó từ xa thông qua giao thức này.

SNMP, hay Simple Network Management Protocol, là một giao thức quản lý mạng đơn giản với cấu trúc bản tin và quy trình hoạt động dễ hiểu Mặc dù bảo mật của SNMP không mạnh mẽ, đặc biệt là ở các phiên bản trước SNMP version 3, nhưng nó vẫn cho phép người quản trị mạng giám sát và quản lý toàn bộ hệ thống mạng từ xa một cách hiệu quả.

Kiến trúc của SNMP

3.2.1 Các thành phần của SNMP

Kiến trúc của SNMP bao gồm 2 thành phần: các trạm quản lý mạng và các phần tử mạng.

Hình 3.1 Trạm quản lý mạng

Trạm quản lý mạng thường là một máy tính chạy phần mềm quản lý SNMP, dùng để giám sát và điều khiển tập trung các phần tử mạng.

Phần tử mạng bao gồm các thiết bị, máy tính và phần mềm tương thích SNMP, tất cả đều được quản lý bởi trạm quản lý mạng Các phần tử này không chỉ bao gồm thiết bị mà còn có máy trạm và ứng dụng, tạo nên một hệ thống mạng đồng bộ và hiệu quả.

Một trạm quản lý có khả năng quản lý nhiều phần tử, và ngược lại, một phần tử cũng có thể được nhiều trạm quản lý Khi một phần tử được quản lý bởi hai trạm, nếu một trạm lấy thông tin từ phần tử, cả hai trạm sẽ nhận được thông tin giống nhau Tuy nhiên, khi hai trạm cùng tác động đến một phần tử, phần tử sẽ phản ứng theo thứ tự tác động, ưu tiên tác động nào đến trước.

SNMP agent là một tiến trình hoạt động trên các phần tử mạng, có nhiệm vụ cung cấp thông tin cho trạm quản lý, giúp trạm có khả năng quản lý hiệu quả các phần tử Cụ thể, ứng dụng trên trạm và agent trên phần tử là hai tiến trình SNMP tương tác trực tiếp với nhau Các ví dụ minh họa sẽ làm rõ hơn về các khái niệm này.

Để quản lý các máy con chạy hệ điều hành Windows thông qua giao thức SNMP, cần cài đặt phần mềm quản lý SNMP trên máy chủ và kích hoạt dịch vụ SNMP trên các máy con.

- Để dùng một máy chủ giám sát lưu lượng của một router thì phải: cài phần mềm quản lý SNMP trên máy chủ, bật tính năng SNMP trên router.

OID, hay "Mã nhận diện đối tượng", là một thuật ngữ dùng để xác định duy nhất các đối tượng trong các tệp MIB.

Trên máy in, cần theo dõi trạng thái hộp mực và số lượng tệp đã in, trong khi trên switch, các yếu tố quan trọng bao gồm lưu lượng dữ liệu đến và đi, tỷ lệ mất gói, và số lượng gói gửi đến địa chỉ quảng bá.

Hệ thống phân cấp đối tượng OID được hình dung như một cây, với các cấp độ từ gốc đến các lá Mỗi OID sở hữu một địa chỉ cụ thể, phản ánh vị trí của nó trong cấu trúc cây OID.

MIB, viết tắt của "Management Information Base" (Cơ sở Thông tin Quản lý), là một định dạng độc lập dùng để định nghĩa thông tin quản lý Nó chứa các OID được xác định rõ ràng, với mỗi đối tượng trong MIB đều có định nghĩa cụ thể về các thuộc tính của nó trong thiết bị được quản lý Các đối tượng này được truy cập thông qua giao thức SNMP.

Tại sao cần có OID và MIB?

Tất cả thông tin quản lý có thể thu thập qua SNMP, như mức sử dụng bộ nhớ của máy chủ, lưu lượng truy cập trên bộ chuyển mạch, hoặc số lượng tệp đang chờ in, đều được xử lý thông qua OID riêng biệt OID đóng vai trò quan trọng trong việc giúp quản trị viên xác định và giám sát các đối tượng trong mạng, từ đó nâng cao hiệu quả của quá trình giám sát.

Để đảm bảo sự giao tiếp thành công giữa thực thể quản lý và thiết bị trong mạng, cả hai cần nhận biết các OID khả dụng, điều này lý giải sự tồn tại của MIB và tầm quan trọng của chúng đối với quản trị viên hệ thống Mọi đối tượng cần giám sát trên thiết bị phải được cung cấp bởi MIB của thiết bị đó Do đó, quản trị viên cần đảm bảo rằng tất cả MIB cần thiết được lưu trữ trên các thiết bị SNMP Agent cũng như trên hệ thống thực thể quản lý Tệp MIB có thể dễ dàng nhận diện qua phần mở rộng my hoặc mib.

Các nhà sản xuất thiết bị thường cung cấp MIB cần thiết cho sản phẩm hỗ trợ SNMP của họ Tùy thuộc vào giải pháp giám sát được áp dụng, có thể cần chuyển đổi MIB sang các phiên bản MIB cụ thể của từng sản phẩm.

Các phương thức của SNMP

Giao thức SNMP có 8 phương thức hoạt động, tương ứng với 8 loại bản tin như sau:

Bản tin/phương thức Mô tả tác dụng

GetRequest Manager gửi GetRequest cho agent để yêu cầu agent cung cấp thông tin GetNextRequest

Manager gửi GetNextRequest có chứa một ObjectID cho agent để yêu cầu cung cấp thông tin nằm kế tiếp ObjectID đó trong MIB

GetBulkRequest được giới thiệu trong SNMP phiên bản 2, là phiên bản tối ưu hơn của yêu cầu GetNextRequest Phản hồi từ yêu cầu này sẽ bao gồm nhiều dữ liệu theo yêu cầu, cho phép người dùng thực hiện nhiều GetNextRequests cùng lúc Điều này giúp người dùng dễ dàng tạo danh sách toàn bộ dữ liệu và thông số có sẵn.

SetRequest Manager gửi SetRequest cho agent để đặt giá trị cho đối tượng của agent dựa vào ObjectID

GetResponse Agent gửi GetResponse cho Manager để trả lời khi nhận được

Trap Agent tự động gửi Trap cho Manager khi có một sự kiện xảy ra đối với nó

InformRequest Loại tin nhắn này đã được thêm vào SNMP v2 để cung cấp cho Manager khả năng xác nhận rằng nó đã nhận được tin nhắn “trap” của Agent.

SNMP v3 là một yếu tố quan trọng để sử dụng chức năng báo cáo "Report" Chức năng này cho phép Trình quản lý SNMP nhận diện các sự cố đã được phát hiện bởi tác nhân SNMP Agent từ xa.

Các cơ chế bảo mật SNMP

Một trạm quản lý SNMP có khả năng giám sát nhiều yếu tố SNMP bằng cách gửi yêu cầu và nhận thông báo trap Tuy nhiên, mỗi yếu tố SNMP có thể được cấu hình để chỉ cho phép một số trạm quản lý SNMP nhất định thực hiện việc giám sát và quản lý.

Các cơ chế bảo mật đơn giản này gồm có: community string, view và SNMP access control list.

Community string là chuỗi ký tự giống nhau được cài đặt trên SNMP manager và SNMP agent, đóng vai trò như "mật khẩu" trong việc trao đổi dữ liệu giữa hai bên Có ba loại community string: Read-community, Write-community và Trap.

Community strings are categorized into three types, but within each type, there can be multiple distinct strings This means that an agent has the capability to declare several read-community and write-community strings.

Trên hầu hết hệ thống, read-community mặc định là “public”, write-community mặc định là “private” và trap-community mặc định là “public”.

Chuỗi ký tự community string là dạng cleartext, dễ bị nghe lén trong quá trình truyền tải qua mạng Ngoài ra, các community mặc định thường được thiết lập là “public”, tạo ra nguy cơ bảo mật cao.

Khi chuỗi cộng đồng (community string) trong mạng bị lộ, người quản trị không thay đổi nó sẽ khiến cho các thiết bị dễ dàng bị truy cập trái phép Điều này cho phép một người dùng thông thường trên bất kỳ máy tính nào trong mạng có thể quản lý và giám sát toàn bộ các thiết bị cùng community mà không cần sự cho phép của quản trị viên.

Khi manager có quyền read-community, nó có khả năng truy cập toàn bộ OID của agent Tuy nhiên, agent có thể giới hạn quyền truy cập chỉ cho phép đọc một số OID liên quan, tạo thành một phần của MIB Tập hợp con này được gọi là view, và agent có thể định nghĩa nhiều view khác nhau Ví dụ, agent có thể thiết lập view interfaceView cho các OID liên quan đến giao diện, view storageView cho các OID liên quan đến lưu trữ, hoặc view AllView bao gồm tất cả các OID.

A view must be associated with a community string, which determines how an agent processes requests for that view For instance, if an agent defines the read-community as "inf" for the interfaceView and "sto" for the storageView, a manager's request for the OID ifNumber using the community string "inf" will be fulfilled since ifNumber is part of the interfaceView However, if the manager requests the OID hrStorageSize with the community "inf," the agent will not respond because hrStorageSize is not included in the interfaceView Conversely, if the manager requests hrStorageSize with the community "sto," the agent will provide a response since hrStorageSize is part of the storageView.

Việc định nghĩa các view như thế nào tùy thuộc vào từng SNMP agent khác nhau

Có nhiều hệ thống không hỗ trợ tính năng view.

Khi một manager gửi yêu cầu đến community không đúng hoặc khi OID cần lấy lại không nằm trong view cho phép, agent sẽ không phản hồi Tuy nhiên, nếu community bị lộ, một manager nào đó vẫn có thể yêu cầu thông tin Để ngăn chặn hoàn toàn các SNMP manager không được phép, người quản trị có thể áp dụng danh sách kiểm soát truy cập SNMP (ACL).

SNMP ACL là danh sách các địa chỉ IP được phép quản lý và giám sát agent, chỉ áp dụng cho giao thức SNMP và được cài đặt trên agent Nếu một manager có địa chỉ IP không nằm trong danh sách này, sẽ không thể truy cập và quản lý agent.

Trong hệ thống SNMP, nếu địa chỉ IP không được phép trong danh sách kiểm soát truy cập (ACL), yêu cầu sẽ không được xử lý bởi agent, ngay cả khi chuỗi cộng đồng là đúng Hầu hết các thiết bị tương thích với SNMP đều cho phép người dùng thiết lập ACL để quản lý truy cập.

Các phiên bản của SNMP

SNMP có ba phiên bản chính: SNMPv1, SNMPv2c và SNMPv3, mỗi phiên bản có sự khác biệt về định dạng bản tin và phương thức hoạt động Hiện nay, SNMPv1 được ưa chuộng nhất nhờ vào sự tương thích cao với nhiều thiết bị và phần mềm hỗ trợ, trong khi SNMPv3 chỉ được hỗ trợ bởi một số thiết bị và phần mềm nhất định.

SNMP phiên bản 1 (SNMPv1), được định nghĩa vào năm 1988 dựa trên SGMP (RFC 1028), đã trở thành một tiêu chuẩn phổ biến trong lĩnh vực công nghệ thông tin và vẫn được sử dụng gần 30 năm sau Với các chức năng cơ bản để thăm dò dữ liệu, SNMPv1 dễ sử dụng và không tốn kém do không có thuật toán mã hóa Tuy nhiên, vì lý do bảo mật, nó chỉ nên được áp dụng trong mạng LAN Một trong những hạn chế lớn nhất của SNMPv1 là kiến trúc bộ đếm 32 bit, không đủ cho các mạng gigabyte hiện đại hoặc lớn hơn.

SNMP phiên bản 2 (SNMPv2) hỗ trợ bộ đếm 64 bit nhưng vẫn truyền tải dữ liệu quan trọng dưới dạng văn bản, do đó không thực sự cải thiện được tính bảo mật Khi nhắc đến SNMPv2, người dùng thường chỉ đến "SNMPv2c", trong đó chữ "c" là viết tắt của "community" Ngoài ra, còn có hai phiên bản khác là SNMPv2p và SNMPv2u, nhưng chúng chỉ được triển khai trong một số trường hợp hiếm hoi.

SNMP phiên bản 3, được giới thiệu vào năm 2002, mang lại những cải tiến từ SNMPv2c và bổ sung các giải pháp bảo mật như tài khoản người dùng, xác thực và mã hóa tùy chọn cho các gói dữ liệu Điều này không chỉ tăng cường bảo mật mà còn làm cho SNMPv3 trở thành phiên bản được khuyến nghị khi ưu tiên bảo mật Tuy nhiên, việc cấu hình trở nên phức tạp hơn, đặc biệt trong việc quản lý người dùng, dẫn đến yêu cầu cao về sức mạnh xử lý, nhất là khi giám sát ở khoảng thời gian ngắn tạo ra lượng lớn bản tin SNMP SNMPv3 cung cấp ba cấp độ bảo mật khác nhau, trong đó có NoAuthNoPriv, tức là không có xác thực và không có quyền riêng tư.

Trong lĩnh vực bảo mật mạng, có ba cấp độ xác thực và bảo mật tin nhắn: "Không xác thực, Không bảo mật", "Xác thực, Không bảo mật" (AuthNoPriv) và "Xác thực và Bảo mật" (AuthPriv) Cấp độ đầu tiên không yêu cầu xác thực và không mã hóa tin nhắn, chỉ nên áp dụng trong các mạng an toàn AuthNoPriv yêu cầu xác thực tin nhắn nhưng không mã hóa, cho phép tác nhân độc hại có thể chặn dữ liệu nhưng không thể thực hiện các yêu cầu bổ sung Ngược lại, AuthPriv là phương pháp bảo mật nhất trong SNMPv3, yêu cầu xác thực và mã hóa toàn bộ dữ liệu, ngăn chặn tác nhân độc hại gửi yêu cầu hoặc truy cập dữ liệu hợp pháp.

Giới thiệu hệ thống RRDTool (Round-Robin Database Tool)

RRDTool là hệ thống ghi và vẽ dữ liệu hiệu suất cao, chuyên xử lý dữ liệu chuỗi thời gian như băng thông, nhiệt độ phòng, CPU load và server load, đồng thời giám sát các thiết bị như router và UPS Hệ thống này cho phép quản trị viên ghi và phân tích dữ liệu từ nhiều nguồn khác nhau Phân tích dữ liệu của RRDTool dựa vào khả năng tạo ra đồ thị hiển thị giá trị trong khoảng thời gian nhất định Được lập trình bằng ngôn ngữ C, RRDTool lưu trữ dữ liệu trong file rrd, với số lượng bản ghi không bao giờ tăng lên do các bản ghi cũ thường xuyên bị loại bỏ.

- Thu thập dữ liệu: Dữ liệu được thu thập trong khoảng thời gian cố định sẽ được lưu trong một cơ sở dữ liệu vòng.

Hợp nhất dữ liệu là một thách thức lớn đối với người quản trị khi phải quản lý thông tin từ nhiều thiết bị trong thời gian dài RRDTool mang đến giải pháp hiệu quả với các hàm chức năng như max, min, và average để phân tích dữ liệu, đồng thời lưu trữ vòng dữ liệu hợp nhất một cách dễ dàng.

Khi dữ liệu không tồn tại do thiết bị hỏng hoặc các nguyên nhân khác, RRDTool sẽ lưu trữ tệp RRD với giá trị dữ liệu là UNKNOWN.

- Vẽ đồ thị: Cho phép người quản trị tạo ra các báo cáo ở dạng đồ thị dựa trên dữ liệu được lưu trữ trong cơ sở dữ liệu.

Cơ chế hoạt động

Hình 5.1 Hoạt động của Cacti

Hoạt động của Cacti gồm 3 tác vụ:

Cacti sử dụng phương thức Poll để thu thập dữ liệu, với việc lấy thông tin được thực hiện theo lịch trình, mặc định là mỗi 5 phút một lần.

Cacti sử dụng giao thức SNMP để thu thập dữ liệu từ các thiết bị khác nhau, cho phép giám sát hiệu quả các thiết bị tương thích với SNMP.

Cacti sử dụng công cụ RRD để lưu trữ và hiển thị dữ liệu theo thời gian, cho phép theo dõi các thông số như băng thông mạng và nhiệt độ phòng máy một cách hiệu quả.

Biểu diễn dữ liệu là một trong những đặc điểm nổi bật của RRD, với tính năng tích hợp đồ họa cho phép hiển thị dữ liệu một cách trực quan Điều này giúp người dùng dễ dàng đánh giá hiệu suất của thiết bị được giám sát.

Tính năng

Biểu đồ: Hầu như tất cả mọi thứ trong Cacti đều liên quan đến biểu đồ Kể từ khi

Cacti cung cấp giao diện người dùng thân thiện với RRD mà không yêu cầu người dùng hiểu cách hoạt động của RRD Mỗi biểu đồ trong Cacti đều được cài đặt với ít nhất một công cụ biểu đồ liên kết Các thiết lập biểu đồ xác định tính chất tổng thể, trong khi công cụ biểu đồ xác định dữ liệu hiển thị và nội dung chú giải của biểu đồ.

Hì nh 6.1 Biểu đồ trong Cacti

Biểu đồ trong hình 6.1 minh họa băng thông của cổng Ethernet 0 trên switch, được đo bằng bit/s Trục tung thể hiện lượng dữ liệu, trong khi trục hoành chỉ thời gian theo dõi Màu xanh lá biểu thị dữ liệu tải xuống (download), còn màu xanh da trời thể hiện dữ liệu tải lên (upload).

Cacti hỗ trợ đa dạng biểu đồ và loại dữ liệu, cho phép người dùng theo dõi lưu lượng theo thời gian như phút, giờ, ngày và tháng Ngoài ra, Cacti còn giúp giám sát lưu lượng trong khoảng thời gian cụ thể cũng như hiệu suất CPU và các thông số hệ thống khác.

Cacti cho phép người dùng thu thập dữ liệu thông qua chức năng "data input", nơi họ có thể định nghĩa các đoạn mã với các tham số cần thiết như địa chỉ IP Hệ thống hỗ trợ nhiều phiên bản giao thức SNMP, cho phép thu thập dữ liệu từ bất kỳ thiết bị nào có hỗ trợ SNMP, thông qua việc sử dụng SNMP hoặc các đoạn mã viết sẵn.

Cacti cho phép thiết lập một topo mạng tổng thể, giúp người quản lý giám sát tình trạng băng thông giữa các thiết bị Nhờ vào chức năng thu thập dữ liệu, Cacti có khả năng phát hiện lưu lượng bất thường, như tấn công DDoS từ bên ngoài hoặc các mối nguy từ bên trong, từ đó xử lý kịp thời để bảo vệ mạng lưới.

Hình 2.4 Weather map trong Cacti

Bản đồ trạng thái của hệ thống, như thể hiện trong hình 2.4, cho thấy các liên kết giữa các thiết bị qua màu sắc cụ thể, với mỗi màu đại diện cho lưu lượng theo tỷ lệ phần trăm Chẳng hạn, màu vàng biểu thị lưu lượng đạt từ 55-70% Nếu liên kết chuyển sang màu đỏ một cách đột ngột, điều này có thể chỉ ra rằng có lưu lượng bất thường trong hệ thống hoặc hệ thống đang bị tấn công.

Giám sát trạng thái thiết bị là một chức năng quan trọng trong quản lý mạng với Cacti Công cụ này cho phép người quản lý theo dõi hiệu suất của các thiết bị, xác định thiết bị hoạt động tốt và những thiết bị ngừng hoạt động Cacti thực hiện việc ping liên tục tới các thiết bị được giám sát, và nếu không nhận được phản hồi, thiết bị đó sẽ được đánh dấu là ngừng hoạt động.

Bảng giám sát trạng thái thiết bị trong Cacti cho phép người dùng theo dõi tình trạng hoạt động của thiết bị một cách hiệu quả Khi thiết bị hoạt động bình thường, Cacti sẽ hiển thị màu xanh lá, trong khi thiết bị ngừng hoạt động hoặc không phản hồi sẽ được thể hiện bằng màu đỏ kèm theo thông báo âm thanh Thời gian ngừng hoạt động của thiết bị cũng được ghi rõ trong bảng, giúp người dùng dễ dàng nắm bắt tình hình.

Trong Cacti, người quản lý có thể thiết lập ngưỡng cảnh báo cho từng thiết bị, chẳng hạn như khi lưu lượng đạt 10Gbps, hệ thống sẽ tự động gửi thông báo qua tin nhắn hoặc email, hoặc hiển thị trực tiếp trên màn hình Việc cấu hình các tham số cảnh báo hoàn toàn linh hoạt, giúp người quản lý nhận diện và dự đoán rủi ro tiềm ẩn cho hệ thống mạng, từ đó đưa ra các biện pháp xử lý kịp thời và hiệu quả.

Ưu nhược điểm của Cacti

- Được phân phối theo dõi bởi admin.

- Hỗ trợ máy chủ Linux, Solaris, HP-UX, AIX, Free BSD, OPEN BSD, OSX.

- Hỗ trợ máy trạm Linux, Solaris, Centos,…

- Giao diện web trực quan.

- Có thể thông báo sự cố qua email.

- Có xem báo cáo, biểu đồ qua giao diện web.

- Gần như miễn phí và đáp ứng hầu hết các mong muốn khi giám sát.

Nhược Điểm của Cacti là:

- Phần mềm cung cấp ít tùy chọn quản lí hơn so với các phần mềm giám sát khác

- Cần phải bổ xung các plugin cần thiết.

- Cần am hiểu các luật riêng khi muốn giám sát từng ngóc ngách của hệ thống như giám sát lưu lượng trên 1 port.

- Cần thiết bị phần cứng hỗ trợ cao để chạy được Cacti hơn các phần mềm khác có chức năng tương đương,…

Cài đặt demo

Cài các gói cần thiết

Trước khi bắt đầu, bạn nên cập nhật phần mềm bằng lệnh: sudo apt-get update -y

Sau đó cài các gói cần thiết: sudo apt-get install snmp php-snmp rrdtool librrds-perl unzip curl git gnupg2 -y

Cài đặt LAMP

To set up your web server, begin by installing Apache, MariaDB, PHP, and essential PHP extensions You can accomplish this by executing the following command: `sudo apt-get install apache2 mariadb-server php php-mysql libapache2-mod-php php-xml php-ldap php-mbstring php-gd php-gmp -y`.

Sau khi cài đặt tất cả các gói, hãy cấu hình lại tệp php.ini: sudo nano /etc/php/7.4/apache2/php.ini

Thay đổi các dòng sau: memory_limit = 512M max_execution_time = 60 date.timezone = Asia/Ho_Chi_Minh

Sau đó làm tương tự với tệp /etc/php/7.4/cli/php.ini.

Khởi động lại apache để áp dụng các thay đổi: sudo systemctl restart apache2

Cấu hình MariaDB

Chỉnh sửa tệp cấu hình của MariaDB:

- Mở tệp: sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf

To optimize your MySQL configuration, add the following lines to the [mysqld] section: set the collation-server to utf8mb4_unicode_ci, max_heap_table_size to 128M, tmp_table_size to 64M, and join_buffer_size to 64M Additionally, configure innodb_file_format to Barracuda, enable innodb_large_prefix, and allocate innodb_buffer_pool_size to 512M For improved performance, adjust innodb_flush_log_at_timeout to 3, and increase innodb_read_io_threads to 32, innodb_write_io_threads to 16, innodb_io_capacity to 5000, and innodb_io_capacity_max to 10000.

Khởi động lại MariaDB để áp dụng các thay đổi: sudo systemctl restart mariadb

Tiếp theo, đăng nhập vào MariaDB bằng lệnh sau: sudo mysql -u root -p

Tạo database dùng cho Cacti:

MariaDB [(none)]> create database cactidb;

MariaDB [(none)]> GRANT ALL ON cactidb.* TO cactiuser@localhost IDENTIFIED BY 'password';

Tiếp theo, bạn cần nhập dữ liệu múi giờ vào cơ sở dữ liệu MySQL: sudo mysql -u root -p mysql <

/usr/share/mysql/mysql_test_data_timezone.sql

Cấp các quyền cần thiết trên múi giờ MySQL bằng lệnh: sudo mysql -u root -p

MariaDB [(none)]> GRANT SELECT ON mysql.time_zone_name TO cactiuser@localhost;

Cài đặt và cấu hình Cacti

Tải về phiên bản mới nhất của Cacti trên website bằng câu lệnh sau: sudo wget https://www.cacti.net/downloads/cacti- latest.tar.gz

Giải nén rồi chuyển đến thư mục /var/www/html/cacti: sudo tar -zxvf cacti-latest.tar.gz sudo mv cacti-1* /var/www/html/cacti

Thêm database vào cactidb đã tạo ở phần trước: sudo mysql -u root -p cactidb <

/var/www/html/cacti/cacti.sql

Cấu hình cacti: sudo nano /var/www/html/cacti/include/config.php

Thay đổi các dòng sau:

- “cactidb” là tên cơ sở dữ liệu mình đã tạo.

- “cactiuser” và “password” là tên user và mật khẩu để đăng nhập vào mysql (user sử dụng trong bài là “root”).

Để tạo file log cho Cacti, bạn sử dụng lệnh `sudo touch /var/www/html/cacti/log/cacti.log` Tiếp theo, hãy thiết lập quyền sở hữu và quyền truy cập cho các thư mục của Cacti bằng cách chạy lệnh `sudo chown -R www-data:www-data /var/www/html/cacti/` và `sudo chmod -R 775 /var/www/html/cacti/`.

Tạo file cron cho Cacti: sudo nano /etc/cron.d/cacti

*/5 * * * * www-data php /var/www/html/cacti/poller.php >

Chú ý: 5 là 5 phút/lần cacti sẽ đùng phương thức poll để lấy dữ liệu từ các thiết bị

Cấu hình Apache cho Cacti

Tạo tệp cấu hình máy chủ ảo cho Cacti: sudo nano /etc/apache2/sites-available/cacti.conf Điền vào nội dung sau:

Alias /cacti /var/www/html/cacti

AddType application/x-httpd-php php

To optimize your PHP configuration, ensure that magic quotes are disabled, short open tags are enabled, and both register globals and register argc/argv are turned off while tracking variables is enabled.

# this setting is necessary for some locales php_value mbstring.func_overload 0 php_value include_path

Bật tệp máy chủ ảo: sudo a2ensite cacti

Restart Apache: sudo systemctl restart apache2

Truy cập giao diện web Cacti

Mở trình duyệt web của bạn và truy cập giao diện web Cacti bằng URL http://your_ip/cacti Bạn sẽ được chuyển đến trang đăng nhập của Cacti.

Your_ip có thể là ip của bạn hoặc localhost nếu dùng trên máy cài đặt Cacti.

Username và Password là admin, bạn đăng nhập để đổi mật khẩu mới Sau đó ấn

Save Bạn sẽ thấy trang Thỏa thuận cấp phép:

Chấp nhận thỏa thuận và nhấp vào nút Begin Bạn sẽ thấy màn hình kiểm tra cài đặt trước:

Bấm vào nút Next Bạn sẽ thấy màn hình Loại cài đặt:

Chọn kiểu cài đặt mong muốn của bạn và nhấp vào nút Next Bạn sẽ thấy màn hình kiểm tra quyền thư mục:

Bấm vào nút Next Bạn sẽ thấy màn hình kiểm tra vị trí và phiên bản:

Bấm vào nút Next Bạn sẽ thấy màn hình sau: Đánh dấu vào "I have read this statement" và nhấp vào nút Next Bạn sẽ thấy màn hình sau:

Chọn các tùy chọn mong muốn của bạn và nhấp vào nút Next Bạn sẽ thấy màn hình thiết lập mẫu:

Bấm vào nút Next Bạn sẽ thấy màn hình xác nhận cài đặt:

Ngày đăng: 08/02/2022, 22:54

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w