Hình 1: Nagios giám sát thiết bị và dịch vụ.
Nagios là một phần mềm mã nguồn mở hỗ trợ giám sát hoạt động của các thiết bị và các dịch vụ trong mạng. Nagios giúp giám sát hoạt động một số thiết bị trung tâm trong mạng như Server, Switch, Router,... Đồng thời kết hợp với bộ phận phát cảnh báo qua giao diện Web và âm thanh (Audio) phát cảnh báo trong trường hợp một thiết bị ngưng hoạt động hoặc một dịch vụ mạng ngưng hoạt động.
Nagios giám sát các thiết bị mạng thông qua các giao thức SNMP, … để theo dõi trạng thái hoạt động của các thiết bị. Đồng thời, Nagios còn cho phép thiết lập cơ chế giám sát hoạt động của các dịch vụ mạng. Các dịch vụ phổ biến được giám sát như: HTTP, FTP, SMTP, POP3, …
1. Vì Sao Phải Dùng Nagios
Sức mạnh của nagios:
- Phần mềm mã nguồn mở.
- Rất mạnh và đáng tin cậy.
- Cấu hình mạnh.
- Dễ mở rộng.
- Chủ động phát triển.
- Được sử dụng rộng rãi.
- Chạy trên nhiều hệ điều hành.
- Ping để quan sát nếu host là Reachable.
- Các dịch vụ như là DHCP, DNS, FTP, SSH, Telnet, HTTP, NTP, POP3, IMAP, SMTP…
- Database servers như là MySQL, Postgres, Oracle, SQL Server …
- Application level information (Apache, Postfix, LDAP, Citrix ...).
- Giám sát các dịch vụ mạng (HTTP, SMTP, POP3, PING, NNTP, …).
- Giám sát các tài nguyên của host (processor load, disk usage,..).
- Có khả năng định nghĩa hệ thống cấp bậc của các host trên hệ thống mạng bằng cách sử dụng parent hosts. Cho phép phát hiện và phân biệt giữa hai trạng thái down và unreachable của host.
- Cho phép người dùng dễ dàng phát triển các dịch vụ kiểm tra của chính họ.
- Đưa ra cảnh báo khi phát hiện các vấn đề xảy ra trên các dịch vụ hoặc các host và giải quyết các xung đột đó.
- Có thể định nghĩa các công việc sẽ xử lý khi các dịch vụ hoặc các host gặp phải sự cố.
- Tự động log file theo kiểu xoay vòng.
- Hỗ trợ việc giám sát các host dư thừa.
- Theo dõi trạng thái, khai báo, các vấn đề đã từng xảy ra của mạng thông qua giao diện Web.
Nagios chạy trên một máy Server, nó sẽ chạy plugins theo định kỳ trên máy server và sẽ liên lạc với các host và Server trên hệ thống mạng của bạn hoặc trên internet.
Bạn sẽ nhận được các thông tin gửi tới Nagios và bạn sẽ biết được các thông tin trạng thái thông qua giao diện web. Bạn cũng có thể nhận được các cảnh báo thông qua email, âm thanh hoặc SMS nếu có sự cố xảy ra trên các host hoặc dịch vụ mà bạn cần giám sát.
Nagios plugins
Ở phần trên chúng ta đã đề cập đến plugins, bây giờ chúng ta sẽ tìm hiểu xem plugins là gì?
- Plugins là việc biên dịch chương trình hoặc các Scrip (Perl scripts, shell scripts, etc.). Nó có thể chạy từ 1 dòng lệnh để kiểm tra trạng thái một host hoặc dịch vụ. Nagios sử dụng kết quả của plugins để xác định trạng thái hoạt động của các host và dịch vụ trong hệ thống mạng. Nagios sẽ thực thi một plugins bất kỳ lúc nào để kiểm tra trạng thái các host và dịch vụ. Kết quả của việc thực hiện kiểm tra sẽ được truyền tới nagios để xử lý.
- Plugins như là một abstraction layer
Hình 2.1: Mô hình hoạt động của plugins.
Plugins hoạt động như một lớp trừu tượng giữa hệ thống giám sát logic với các dịch vụ và host đang được giám sát.
- Plugins có sẵn để giám sát nhiều loại thiết bị và dịch vụ khác nhau, bao gồm :
- HTTP, POP3, IMAP, FTP, SSH, DHCP, CPU Load, sử dụng đĩa, sử dụng bộ nhớ, người dùng hiện tại.[*=1]Unix/Linux, Windows, and Netware Servers.[*=1]Router và Switch.
Nagios có thể giám sát các dịch vụ và các thuộc tính của máy chạy hệ điều hành Windows như là:
- Sử dụng bộ nhớ.
- Tình trạng CPU.
- Sử dụng ổ đĩa.
- Trạng thái của các dịch vụ.
- Các tiến trình đang chạy.
- …
Hình 2.2: Nagios theo dõi các dịch vụ trên máy chạy hệ điều hành Windows qua NSClient++.
Để giám sát các dịch vụ hoặc các thuộc tính trên máy Windows thì ta cần phải cài một agent lên chúng. Agent này hoạt động như là một proxy giữa Nagios plugins với các dịch vụ hoặc các thuộc tính cần giám sát của máy Windows.
Ví dụ trên chúng ta sẽ cài đặt NSClient++ trên máy Windows, sử dụng check_nt plugin để giao tiếp với NSClient++. Check_nt plugin được cài đặt trên máy Nagios Server.
Để giám sát các host Windows, chúng ta có thể sử dụng trực tiếp thông qua giao thức SNMP để thu thập thông tin tư máy Windows.
Các bước để giám sát một máy Windows mới là:
- Thực hiện các yêu cầu ban đầu.
- Cài đặt 1 agent giám sát trên máy Windows.
- Tạo một host mới và xác định các dịch vụ cần được giám sát trên máy Windows.
- Khởi động lại Nagios.
nguồn: VnPro
(còn phần tiếp theo)