Tổng quan

1. Sự ra đời của Cacti

2. Khái niệm

Cacti là phần mềm mã nguồn mở, giám sát mạng và công cụ đồ họa viết trên PHP/ MySQL. Cacti sử dụng RRDTool (Round-robin database tool) mục đích lưu trữ dữ liệu và tạo đồ họa. Cacti thu thập dữ liệu định kì thông qua Net-SNMP (một bộ phần mềm dùng để thực hiện SNMP-Simple Network Management Protocol).

Bạn đang xem: Cacti là gì

Giới thiệu SNMP (Simple Network Management Protocol)

SNMP là một tập hợp các giao thức không chỉ cho phép kiểm tra nhằm đảm bảo các thiết bị mạng như router, switch hay server đang vận hành mà còn vận hành một cách tối ưu, ngoài ra SNMP còn cho phép quản lý các thiết bị mạng từ xa.Ví dụ: Dùng SNMP để tắt một interface nào đó trên router, theo dõi hoạt động của Card Ethernet hoặc kiểm soát nhiệt độ trên switch.Tóm lại, tất cả các thiết bị có thể chạy các phần mềm cho phép lấy được thông tin SNMP đều có thể quản lý được. Không chỉ các thiết bị vật lý mà cả những phần mềm như web server, database.

Xem thêm:

*

Network management station: 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 Network elementNetwork element (device, host, application): là các thiết bị, máy tính hoặc phần mềm tương thích SNMP và được quản lý bởi Network managementMột management station có thể quản lý nhiều element và một element cũng có thể được quản lý bởi nhiều management.Giới thiệu RRDTool (Round-Robin Database Tool)

RRDTool là một hệ thống ghi và vẽ dữ liệu hiệu năng cao, được thiết kế để xử lý dữ liệu theo chuỗi thời gian như là băng thông, nhiệt độ phòng, CPU load, server load và để giám sát các thiết bị như router, UPS,... Nó cho phép người quản trị ghi và phân tích dữ liệu thu thập được từ tất cả các nguồn dữ liệu. Việc phân tích dữ liệu của RRDTool phụ thuộc vào khả năng tạo ra các đồ thị hiển thị các giá trị thu thập được trong một khoảng thời gian định kỳ.RRDTool được viết bởi ngôn ngữ C và lưu trữ dữ liệu của nó trong file .rrd . Số lượng bản ghi trong một file .rrd đơn không bao giờ tăng vì các bản ghi cũ sẽ thường xuyên được loại bỏ.Các bước trong quá trình hoạt động của RRDTool:

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òngHợp nhất dữ liệu: Việc quản lý dữ liệu của nhiều thiết bị trong một khoảng thời gian lớn sẽ gây khó khăn cho người quản trị. RRDTool cung cấp cho người quản trị một số hàm chức năng: max, min, average của dữ liệu và lưu trữ vòng dữ liệu hợp nhấtDữ liệu chưa biết: khi dữ liệu không tồn tại do thiết bị bị hỏng hoặc nguyên nhân khác RRDTool sẽ lưu trữ file rrd với giá trị dữ liệu UNKNOWNVẽ đồ 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ệuCơ chế hoạt động

*
Cacti lấy dữ liệu thông qua poller. Nó được lập lịch trong hệ điều hành. Hiện nay, cơ sở hạ tầng mạng chứa rất nhiều thiết bị như routers, switches, servers, UPS, các máy tính và thiết bị mạng khác nhau. Để lấy dữ liệu từ dịch vụ kết nối từ xa, Cacti sử dụng SNMP. Các thiết bị có sử dụng SNMP có thể được theo dõi bởi CacTi.Cacti sử dụng RRDTool để lưu trữ dữ liệu. RRD là hệ thống để lưu trữ và cho biết chuỗi thời gian dữ liệu được thu gom từ các thiết bị chứa SNMP. Nó hợp nhất dữ liệu trước đó bằng các hàm như AVERAGE, MINIMUM, MAXIMUM. Đó là lý do tại sao nó lại nhanh, tạo đồ họa dễ dàng .Biểu diễn dữ liệu: Chức năng quan trọng nhất của RRDTool là tích hợp chức năng đồ họa. Cacti sử dụng chức năng này để triển khai tùy chỉnh các báo cáo đồ họa dựa vào thời gian thu thập từ các thiết bị chứa SNMP khác. Có thể có 1 hoặc nhiều thông tin trong biểu đồ, cũng có thể thêm các đặc điểm tiêu biểu khác như maximum, average, minimum.

Tính năngNguồn dữ liệu:Để xử lý việc thu thập dữ liệu, cần cung cấp các đường dẫn tới dữ liệu mà người dùng muốn thêm vào , sao đó Cacti sẽ thu thập dữ liệu này và thêm vào cơ sở dữ liệu MySql / kho lưu trữ vòng robin.Nguồn dữ liệu cũng có thể được tạo, tương ứng với dữ liệu thực tế trên biểu đồ.Ví dụ: Nếu người dùng muốn lập biểu đồ thời gian ping cho máy chủ lưu trữ, có thể tạo nguồn dữ liệu bằng cách sử dụng tập lệnh ping một máy chủ và trả về giá trị theo mili giây. Sau khi xác định các tùy chọn cho RRDTool như cách lưu trữ dữ liệu, cũng có thể định nghĩa bất kỳ thông tin bổ sung nào mà nguồn đầu vào dữ liệu yêu cầu, chẳng hạn như một máy chủ lưu trữ để ping trong trường hợp này. Khi nguồn dữ liệu được tạo, nó sẽ tự động được duy trì trong khoảng thời gian 5 phútCác nguồn dữ liệu có thể được tạo ra, sử dụng các hàm "create" và "update" của RRDTool. Mỗi nguồn dữ liệu có thể được sử dụng để thu thập dữ liệu cục bộ hoặc từ xa và được đặt trên một biểu đồ.Hỗ trợ các tệp RRD với nhiều nguồn dữ liệu và có thể sử dụng tệp RRD được lưu trữ ở bất kỳ đâu trên hệ thống tệp cục bộ.Cài đặt kho lưu trữ vòng robin, có thể được tùy chỉnh cho người dùng khả năng thu thập khác nhau.Thu thập dữ liệu:Chứa cơ chế "đầu vào dữ liệu" cho phép người dùng xác định các tập lệnh tùy chỉnh có thể được sử dụng để thu thập dữ liệu. Mỗi tập lệnh có thể chứa đối số phải được nhập cho từng nguồn dữ liệu được tạo bằng cách sử dụng tập lệnh (chẳng hạn như địa chỉ IP).Khả năng truy xuất dữ liệu bằng SNMP hoặc tập lệnh có đường dẫn. Một poller dựa trên PHP được cung cấp để thực thi các lệnh có sẵn, truy xuất dữ liệu SNMP và cập nhật các tệp RRD của bạn.Đồ thị:Khi một hoặc nhiều nguồn dữ liệu được xác định, một đồ thị RRDTool có thể được tạo bằng cách sử dụng dữ liệu. Cacti cho phép bạn tạo hầu như bất kỳ đồ thị RRDTool nào bạn có thể tưởng tượng bằng cách sử dụng tất cả các loại biểu đồ RRDTool chuẩn và các hàm tổng hợp. Lựa chọn màu sắc và văn bản tự động cũng được hỗ trợ trong việc tạo ra các đồ thị để làm cho quá trình dễ dàng hơn.Không chỉ có thể tạo các đồ thị dựa trên RRDTool trong Cacti, mà có rất nhiều cách để hiển thị chúng. Cùng với “Chế độ xem dạng danh sách” , “chế độ xem dạng cây” cho phép đặt đồ thị lên cây phân cấp tùy thuộc vào mục đích sử dụngSố lượng đồ thị không giới hạn, có thể chọn cho mỗi đồ thị sử dụng CDEF hoặc nguồn dữ liệu từ bên trong Cacti.Tự động nhóm các mục biểu đồ GPRINT thành AREA, STACK và LINE <1-3> để cho phép sắp xếp lại nhanh chóng các mục biểu đồ.Hỗ trợ tự động đếm để đảm bảo dòng văn bản chú giải trên đồ thị .Dữ liệu đồ thị có thể được điều khiển bằng cách sử dụng các hàm toán học CDEF được xây dựng trong RRDTool. Các hàm CDEF này có thể được định nghĩa trong Cacti và có thể được sử dụng trên mỗi đồ thị.Hỗ trợ tất cả các loại mục đồ thị của RRDTool bao gồm AREA, STACK, LINE <1-3>, GPRINT, COMMENT, VRULE và HRULE.Quản lý người dùng:Do nhiều chức năng của Cacti, một công cụ quản lý dựa trên người dùng được xây dựng để có thể thêm người dùng và cung cấp cho họ quyền đối với 1 số chức năng nhất định trên Cacti. Điều này sẽ cho phép người quản lý tạo ra một số người dùng có thể thay đổi thông số của đồ thị, trong khi những người khác chỉ có thể xem đồ thị. Mỗi người dùng cũng duy trì cài đặt của riêng họ khi xem biểu đồ.Cài đặt hệ thống

1. Phân tích hệ thống

Hệ thống gồm 2 máy:1 máy chủ có cài đặt Cacti là một Network Graphing Tool tương tự như MRTG. thu thập dữ liệu SNMP và các dữ liệu khác nhau (chẳng hạn như tải của hệ thống, tình trạng liên kết mạng, không gian đĩa cứng, đăng nhập người dùng vv) thành một RRD. RRD là viết tắt của Round Robin Database, là một hệ thống để lưu trữ và hiển thị thời gian, dữ liệu, băng thông mạng, nhiệt độ, và trung bình tải máy chủ.1 máy trạm khác có sử dụng phương thức mạng SNMP.Máy chủ sẽ thu thập dữ liệu của máy trạm cần được giám sát. Những dữ liệu thông số của thiết bị đc giám sát này được biểu diễn trên các Graph trên Cacti.

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

Bước 1: Install php and required modules

apt-get -y install php php-mysql php-curl php-net-socket \php-gd php-intl php-pear php-imap php-memcache libapache2-mod-php \php-pspell php-recode php-tidy php-xmlrpc php-snmp \php-mbstring php-gettext php-gmp php-json php-xml php-commongedit /etc/php/7.2/apache2/php.ini 939 date.timezone = "Asia/Ho_Chi_Minh"

Bước 2: Install Apache Web server

apt-get -y install apache2gedit /etc/apache2/conf-enabled/security.conf25 ServerTokens Prod
*

*

Bước 3: Install MariaDB server

Tune MariaDB database for Cacti

Gedit /etc/mysql/mariadb.cnf max_heap_table_size=128M tmp_table_size=128M join_buffer_size=64M innodb_buffer_pool_size=512M innodb_doublewrite=OFF innodb_flush_log_at_timeout=3 innodb_read_io_threads=32 innodb_write_io_threads=16 systemctl restart mysqlTạo và cấp quyền cho user cacti trên database cacti với password là 123456

*

*

Bước 4: Install SNMP and Cacti

apt-get install snmp snmpd snmp-mibs-downloader rrdtool cacti cacti-spinechọn apache2

*

Chọn no

*

Bước 5: Configure SNMP

Gedit /etc/snmp/snmp.conf

*

*

*

systemctl restart snmpd

Bước 6: Configure Cacti Server

gedit /usr/share/cacti/site/include/config.php
*

mysql -u cacti -p cacti

*

systemctl restart apache2

Bước 7: Start Initial Cacti Setup

Http://localhost/cacti/

*

*

*

*

Bước 8: Monitor Local Cacti Server

Cùng đón chờ bản demo trong bài viết sau của mình nhé.Hihi Upvote để mình có động lực viết bài nha nha

Bài viết liên quan

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *