Hướng dẫn giám sát mạng nagios bằng gns3

Hệ thống giám sát mạng [Network montoring] là hệ thống giám sát các sự cố, hiêu năng, tình trạng của các thiết bị và máy tính trong hệ thống mạng. Hệ thống bao gồm một phần mềm ghi nhận thông tin và giúp người quan trị hệ thống có thể ghi nhận, theo dõi các thông tin thông qua nó. Phần mềm này còn có khả năng gởi các thông báo, các cảnh báo cho người quản trị hệ thống biết khi có nguy cơ sự cố hoặc có sự cố đang diển ra thông qua hệ thống SMS, email… các dịch vụ gởi tin nhắn [messenger] qua internet. Vậy trong các hệ thống mạng, người ta thường giám sát những gì và bằng cách náo có thể giám sát được hệ thống mạng? Trong hệ thống mạng, người ta thường giám sát các thiết bị như các server, switch, router, rewall, tổng đài và điện thoại VoIP, máy in, tất cả các thiết bị có hỗ trợ giám sát. Việc giám sát sẽ thông qua các giao thức mà thiết bị hoặc hệ điều hành của nó cung cấp, một trong những giao thức quan trọng nhất và được sử dụng rộng rãi là SNMP, bên cạnh đó có rất nhiều giao thức khác như Netow,WMI, ICMP,IPSLA… các giao thức này tiến hành thu thập thông tin trên thiết bị và gởi các dữ liệu về phần mềm giám sát hệ thống, phần mềm sẽ tiến hành xử lý và lưu trữ các dữ liệu này trong cơ sở dữ liệu của nó. Kết quả của quá trình giám sát sẽ được hiển thị lên giao diện quản lý của phần mềm cho phép người quản trị có thể xem xét tình trạng, các vấn đề của hệ thống mạng, của các thiết bị của hệ thống, đông thời sẽ gởi các cảnh báo qua email, SMS, phần mềm chat… theo cấu hình của người quản trị.

Ngày nay, hệ thống mạng nào cũng cần đi liền với quản lý hay quản trị mạng. Quản trị mạng đã trở thành một công việc quan trọng không thể thiếu trong các hệ thống máy tính của các tổ chức, doanh nghiệp, trường học, . . . Theo đó, đề tài tập trung vào việc tìm hiểu và triển khai một hệ thống giám sát quản trị mạng dựa trên nền tảng hệ thống mã nguồn mở. Đó là Nagios. Nagios là hệ thống giám sát mạng có chi phí đầu tư thấp. Tuy nhiên nó có khả năng rất mạnh mẽ trong việc giám sát hoạt động của các thiết bị trên mạng. Bởi vậy Nagios rất được tin tưởng và sử dụng rộng rãi trên toàn cầu.

Nagios là một hệ thống giám sát hạ tầng mạng và dịch vụ mạng vô cùng mạnh mẽ cho phép các doanh nghiệp, công ty xác định và giải quyết các vấn đề về cơ sở hạ tầng Công Nghệ Thông Tin trước khi chúng làm ảnh hưởng đến các hoạt động kinh doanh, vận hành nội bộ của công ty. Nagios là một ứng dụng phần mềm miễn phí và mã nguồn mở giám sát hệ thống, mạng và cơ sở hạ tầng. Hiện tại nhà phát triển chỉ hỗ trợ triển khai Nagios hệ thống trên Hệ Điều Hành Linux. Với Nagios bạn sẽ có thêm kênh giám sát và cảnh báo cho các máy chủ, switch, ứng dụng và dịch vụ. – Chức năng của Nagios:

  • Giám sát trạng thái hoạt động của các dịch vụ mạng[SMTP, POP3, IMAP, HTTP, ICMP, FTP, SSH, DNS, TCP port, UDP port, cơ sở dữ liệu: mySQL, postgreSQL, oracle]
  • Xác định vấn đề trước khi chúng xảy ra.
  • Giám sát các tài nguyên các máy phục vụ và các thiết bị đầu cuối: tình trạng sử dụng CPU, ổ đĩa cứng, bộ nhớ trọng và swap, người dùng đang log on, số tiến trình đang chạy.
  • Giám sát các thông số an toàn thiết bị phần cứng trên host như: nhiệt độ CPU, tốc độ quạt, pin, giờ hệ thống, . . .
  • Giám sát các thiết bị mạng có IP như router, switch và máy in. vvoiws Router, Switch, Nagios có thể theo dõi được tình trạng hoạt động, trạng thái bật tắt của từng cổng, lưu lượng băng thông qua mỗi cổng, thời gian hoạt động liên tục[Uptime] của thiết bị. Với máy in, Nagios có thể nhận biết được nhiều trạng thái như tình huống kẹt giấy, hết mực, . . .
  • Cảnh báo cho người quản trị bằng nhiều hình thức như email, tin nhắn tức thời [IM], âm thanh, . . . nếu như có thiết bị trục trặc hay dịch vụ nào đó có vấn đề.
  • Tổng hợp, lưu trữ và báo cáo định kỳ về tình trạng hoạt động của mạng

Cài Đặt Nagios Trong bài lab này chúng ta sẽ cần 2 máy, 1 máy làm Nagios Server và 1 máy làm Nagios Client Nagios server:

  • Hệ điều hành : CentOS 7
  • Địa chỉ IP :192.168.187.130/24

Nagios Client :

  • Hệ điều hành : CentOS 7
  • Địa chỉ IP : 192.168.187.131/24

Cài đặt các gói chuẩn bị : Máy Server: Trước khi cài đặt Nagios, đảm bảo rằng chúng ta đã cài đặt gói phần mềm LAMP:

  • Nhập vào dòng lệnh sau để cài đặt Apache : yum install httpd –y
  • Khởi chạy Apache Service và cho phép service tự động khởi động mỗi khi reboot máy tính : systemctl start httpd systemctl enable httpd
  • Nếu trong hệ thống mạng có Firewall hoặc Router, hãy mở port cho Apache server trong trường hợp bạn muốn truy cập thông qua remote. Nhập vào dòng lệnh : firewall-cmd --permanent --add-service=http systemctl restart firewalld
  • Cài đặt MariaDB : MariaDB là sự thay thế tốt cho cơ sở dữ liệu MySQL. Đây là một máy chủ SQL mạnh mẽ, có khả năng mở rộng linh hoạt, đáng tin cậy cùng những cải tiến đáng giá. Bắt đầu cài đặt MariaDB : yum install mariadb-server mariadb –y
  • Khởi chạy MariaDB service và cho phép dịch vụ tự chạy mỗi khi máy reboot : systemctl start mariadb systemctl enable mariadb Set MySQL root password :
  • Mặc định, MySQL root password là trống. Vì vậy người quản trị cần đặt password cho nó để ngăn chặn truy cập trái phép MySQL. Nhập vào dòng lệnh sau để đặt pass cho MySQL : mysql_secure_installation

  • Cài đặt PHP :

Còn viết tắt là PHP: Hypertext Preprocessor là ngôn ngữ mã nguồn mở, dùng để phát triển Web, có thể được nhúng vào HTML. Cài đặt PHP với dòng lệnh : yum install php php-mysql php-gd php-pear –y Test PHP : Tạo một file “ textphp.php “ trong thư mục /var/www/html/ tạo và chỉnh sửa file :

  • Thêm vào những dòng này :

Restart dịch vụ httpd : systemctl restart httpd Nhập vào địa chỉ : server-ip-address/testphp.php trên trình duyệt. Màn hình sẽ hiển thị tất cả chi tiết của PHP như là version, build date…

Ngoài ra cài thêm các Widget phụ trợ. Chạy lệnh sau bằng quyền root sau đó tạo user Nagios và group Tạo group nagcmd và add 2 user Nagios và Apache vào group này. Group này cho phép các command bên ngoài được submit thông qua giao diện Web: yum install gd gd-devel gcc glibc glibc-common wget

  • Tạo user Nagios và group : useradd -m nagios passwd nagios
  • Tạo group nagcmd và add 2 user Nagios và Apache vào group này. Group này cho phép các command bên ngoài được submit thông qua giao diện Web. groupadd nagcmd usermod -a -G nagcmd nagios usermod -a -G nagcmd apache
  • DownLoad Nagios[4.8] và Plugin wget prdownloads.sourceforge.net/sourceforge/nag.. wget nagios-plugins.org/download/nagios-plugins-..

– Install Nagios và Plugin : Phiên bản hệ điều hành được sử dụng là CentOS 7: Đi đến Folder chứa file nén Nagios vừa tải. Tiến hành giải nén và cài đặt : tar xzf nagios-4.0.8.tar.gz Chuyển sang thư mục Nagios, chạy lần lượt từng dòng lệnh sau để compile và install Nagios : cd nagios-4.0.8 ./configure --with-command-group=nagcmd make all make install make install-init make install-config make install-commandmode

  • Cài đặt giao diện Web cho Nagios : Nhập dòng lệnh sau để biên dịch và cài đặt Web Interface cho Nagios : make install-webconf

Tạo một account nagiosadmin dùng để login vào web interface của Nagios. Lưu ý phải nhớ Password để có thể Login được vào giao diện quản trị web. htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin

Restart lại Apache để các thay đổi có hiệu lực : systemctl restart httpd

– Cấu hình Nagios plugin : Đi đến thư mục đã tải về file nén chứa Plugin, sau đó giải nén nó : tar xzf nagios-plugins-2.0.3.tar.gz

Di chuyển vào thư mục vừa giải nén được : cd nagios-plugins-2.0.3

Chạy lần lượt từng dòng lệnh sau để biên dịch và cài đặt plugin : ./configure --with-nagios-user=nagios --with-nagios-group=nagios make make install

Sau khi hoàn thành cài đặt, chúng ta sẽ tiếp tục chuyển qua phần cấu hình.

– Cấu hình Nagios : File cấu hình mẫu của Nagios được đặt tại đường dẫn /usr/local/nagios/etc. Thêm Email vào để nhận được những thông báo từ Nagios. Chuyển qua quyền root và cấp quyền 777 read-write-execute để tiến hành edit file /usr/local/nagios/etc/objects/contacts.cfg , đổi địa chỉ Email thành địa chỉ Email mà bạn muốn dùng để nhận thông báo.

Tiếp theo, edit file /etc/httpd/conf.d/nagios.conf :

vi /etc/httpd/conf.d/nagios.conf

Chỉnh sửa những dòng sau nếu bạn muốn truy cập vào Nagios chỉ từ một số các IP cụ thể. Ở đây, người viết sẽ cho Nagios truy cập từ dãy mạng 192.168.x.0/24.

Restart lại dịch vụ httpd : systemctl restart httpd

Để kiểm tra lại bất kì lỗi cấu hình nào, chúng ta sử dụng lệnh : /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

Nếu không có lỗi nào, start dịch vụ Nagios và cho nó tự động khởi chạy mỗi lần boot máy : systemctl start nagios chkconfig --add nagios chkconfig nagios on

Điều chỉnh lại những cài đặt của SELinux :

Và giờ vào bằng IP bạn đã set ở trên[192.168.x.130/nagios] và xong rồi!!![đoạn này nagios cũ bị lỗi nên đổi thành 192.168.187.130/nagios/]

– Thêm các đối tượng quản lý vào Nagios server : Chúng ta tiến hành add các máy cần quản lý vào Nagios server. Để server có thể quản lý được, chúng ta cần cài đặt nrpe và nagios plugin vào các máy cần quản lý. Cài trên các client chạy hệ điều hành CentOS/RHEL/Scientifc Linux : Trước hết, thêm EPEL repository vào các máy con CentOS/RHEL/Scientific 7 để có thể cài đặt các gói nrpe. Để cài đặt EPEL vào CentOS 7, chạy dòng lệnh sau : yum install epel-release

Cài đặt gói “nrpe” và “nagios-plugins” vào máy client : yum install nrpe nagios-plugins-all openssl

Nếu client chạy hệ điều hành Debian/Ubuntu : sudo apt-get install nagios-nrpe-server nagios-plugins

Nếu client chạy hệ điều hành Centos yum install nagios-nrpe-server nagios-plugins

Cấu hình cho các máy đối tượng quản lý : Tại các máy này, mở và cấu hình file /etc/nagios/nrpe.cfg : sudo vi /etc/nagios/nrpe.cfg Nếu mọi người không quen dùng VIM thì vào đường dẫn /etc/nagios/cấp quyền cho file nrpe.cfg và chỉnh sửa như dưới là oke nha. Thêm địa chỉ IP của Nagios server vào :

Start service nrpe : Trên máy CentOS 7 : systemctl start nrpe chkconfig nrpe on

Trên máy Debian/Ubuntu : sudo /etc/init.d/nagios-nrpe-server restart

Tiếp tục trở về máy Nagios server, và add client vào file cấu hình. Để thực hiện, edit file “/usr/local/nagios/etc/nagios.cfg” : vi /usr/local/nagios/etc/nagios.cfg

Bỏ comment những dòng sau :

cfg_dir=/usr/local/nagios/etc/servers

Tạo một thư mục tên “servers” bên trong đường dẫn “/usr/local/nagios/etc/” : mkdir /usr/local/nagios/etc/servers Tạo file cấu hình các máy bị giám sát :

Thêm vào clients.cfg những dòng này :

Ở đây, địa chỉ IP 192.168.1.131 là địa chỉ của máy Client. Cuối cùng restart lại dịch vụ nagios : /etc/rc.d/init.d/nagios reload

Đợi vài giây, sau đó refesh lại trang quản trị nagios ở trình duyệt và click lại vào mục “ Hosts “ ở menu bên trái. Bạn sẽ thấy có máy Client vừa được thêm vào. Nhấp vào host này để xem Nagios đã nhận được đầy đủ thông tin chưa. Kết Quả:

  1. Giám sát :

Cảnh Báo Qua Mail mail postfix là 1 chương trình free open source dùng để gửi thư điện tử Cài đặt gói mail postfix yum -y install postfix cyrus-sasl-plain mailx Tạo file lưu trữ user và pass của mail trong file vi /etc/postfix/sasl_passwd [smtp.gmail.com]:587 quyen0122bee@gmail.com:** [pass] Khai báo file chứa địa chỉ mail tại file cấu hình chính của dịch vụ mail vi /etc/postfix/main.cf relayhost = [smtp.gmail.com]:587 smtp_use_tls = yes smtp_sasl_auth_enable = yes smtp_sasl_security_options = smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd smtp_tls_CAfile = /etc/ssl/certs/ca-bundle.crt Thiết lập chế độ less secure của Gmail myaccount.google.com/lesssecureapps cấp quyền sử dụng vào đọc cho file chứa user passwd của mail mình sử dụng để gửi đến các mail nhận cảnh báo chown root:postfix /etc/postfix/sasl_passwd* chmod 600 /etc/postfix/sasl_passwd postmap /etc/postfix/sasl_passwd Khởi động dịch vụ postfix systemctl start postfix systemctl enable postfix Khởi động lại dịch vụ nagios service nagios restart

Chủ Đề