Hướng dẫn cài đặt Nagios trên HĐH CentOS và Fedore

GIỚI THIỆU
Nagios là công cụ thực hiện chức năng giám sát toàn bộ hạ tầng công nghệ thông tin bao gồm server, switch, ứng dụng và service. Với công cụ Nagios, chúng ta có thể giám sát toàn bộ hạ tầng công nghệ thông tin, nhận được cảnh báo khi có sự cố xảy ra, đọc được những sự kiện xảy ra đối với hệ thống thông qua report.

Sử dụng công cụ Nagios sẽ giảm gánh nặng của người quản trị hệ thống đối với việc nhận biết sự cố đang xảy ra.

Đây là tài liệu hướng dẫn từng bước thực hiện cài đặt công cụ giám sát Nagios trên nền Fedora Core 17 (các HĐH CentOS và phiên bản mới hơn của Fedora core thực hiện tương tự), và hướng dẫn các bước cấu hình để thực hiện giám sát máy chủ, website và các thiết bị mạng. Tài liệu không bao gồm toàn bộ việc cài đặt tính năng Nagios vì tính năng có thể mở rộng hơn trong tương lai.

Nagios
Nagios

Phần 1:        HƯỚNG DẪN CÀI ĐẶT VÀ CẤU HÌNH NAGIOS
Tham khảo thêm:
Phần 2: GIÁM SÁT MÁY CHỦ VỚI NAGIOS
Phần 3: GIÁM SÁT WEBSITE VỚI NAGIOS
1. Kết quả sau khi cài đặt:

–         Nagios và một số plugin sẽ được vài đặt ở /usr/local/nagios.
–         Thực hiện truy cập giao diện web Nagios ở địa chỉ http://nagios-ip/nagios/

2. Chuẩn bị:

Cần ở quyền root trong quá trình cài đặt.
Cài đặt các gói sau trên Fedora trước khi cài đặt Nagios:
–         Apache
–         PHP
–         GCC compiler
–         GD development libraries

Bằng cách thực hiện các câu lệnh sau:
#yum install httpd php
#yum install gcc glibc glibc-common
#yum install gd gd-devel

3. Tạo thông tin tài khoản:

Đăng nhập với quyền root:
#su –l

Tạo tài khoản người dùng mới với tên nagios và password:
#/usr/sbin/useradd -m nagios
#passwd nagios

Tạo group mới với tên nagcmd để cho phép thực hiện các lệnh external đượcgửi thông qua giao diện web. Thêm người dùng nagios và apache vào group:
#/usr/sbin/groupadd nagcmd
#/usr/sbin/usermod -a -G nagcmd nagios
#/usr/sbin/usermod -a -G nagcmd apache

4. Download Nagios và các Plugin:

Tạo thư mục để lưu:
#mkdir ~/downloads
#cd ~/downloads

Download source code file .tar của cả Nagios và các Nagios plugin (vào http://www.nagios.org/download/ để lấy version mới nhất).
#wget http://sourceforge.net/projects/nagios/files/nagios-3.x/nagios-3.5.0/nagios-3.5.0.tar.gz
#wget http://sourceforge.net/projects/nagiosplug/files/nagiosplug/1.4.16/nagios-plugins-1.4.16.tar.gz

 5. Biên dịch và cài đặt:
Giải nén file tar Nagios source code.
#cd ~/downloads
#tar xzf nagios-3.5.tar.gz
#cd nagios-3.5

Chạy Script cấu hình Nagios, dùng tên của nhóm đã được tạo trước đó.
#./configure --with-command-group=nagcmd
(2 dấu – trước chữ with)

Biên dịch Nagios source code
#make all

Cài đặt binaries, init script, file cấu hình mẫu và thiết lập quyền ở external command directory.
#make install
#make install-init
#make install-config
#make install-commandmode

Chưa được khởi động Nagios ở đây.

6. Cấu hình theo nhu cầu:
File cấu hình mẫu đã được cài đặt ở thư mục /usr/local/nagios/etc. Sử dụng những file cấu hình mẫu đối với việc mới bắt đầu với Nagios. Chỉ cần thực hiện 1 thay đổi trước khi thực hiện… Sửa file cấu hình /usr/local/nagios/etc/objects/contacts.cfg với trình soạn thảo yêu thích và thay đổi địa chỉ email gán với định nghĩa nagiosadmin với địa chỉ muốn nhận cảnh báo.
vi /usr/local/nagios/etc/objects/contacts.cfg

7. Cấu hình giao diện web:
Cài đặt file cấu hình Nagios web trong thực mục Apache conf.d.
#make install-webconf

Tạo tài khoản nagiosadmin cho việc logging vào giao diện web. Nhớ password gán với tài khoản này.
#htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin

Khởi động lại Apache:
#service httpd restart

8. Biên dịch và cài đặt Nagios Plugins:
Giải nén file .tar Nagios Plugins source code
#cd ~/downloads
#tar xzf nagios-plugins-1.4.16.tar.gz
#cd nagios-plugins-1.4.16

Biên dịch và cài đặt plugins:
#./configure --with-nagios-user=nagios --with-nagios-group=nagios
(2 dấu – trước chữ with)
#make
#make install

9. Khởi động Nagios:

Thêm Nagios vào danh sách các dịch vụ tự động khởi động với hệ thống.
#chkconfig --add nagios
#chkconfig nagios on

Kiểm tra file cấu hình Nagios
#/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

Nếu không có lỗi xảy ra, khởi động nagios
#service nagios start

10. Chỉnh sửa thiết lập SELinux
Mặc định, SELinux được cài đặt ở kiểu Enforcing. Điều này dễ dẫn đến thông báo “Internal Server Error” khi thực hiện truy cập Nagios CGIs. Xem SELinux mode
getenforce
Đặt SELinux ở kiểu Permissive
setenforce 0
Để thay đổi này tồn tại, phải chỉnh sửa thiết lập trong /etc/selinux/config và khởi động lại máy chủ.

11. Đăng nhập vào giao diện web:
Truy cập vào giao diện web với URL http://localhost/nagios/, với tài khoản user/pass nagiosadmin/ và password đã được đặt.
Kích vào “Service Detail” để xem những gì được giám sát trên local machine. Mất vài phút cho Nagios để kiểm tra tất vả service được gán với local machine.

12. Các chỉnh sửa khác:
Chỉnh sửa Firewall rule cho phép truy cập webserver nếu muốn truy cập giao diện nagios từ xa, hoặc tắt firewall iptables trong hệ điều hành.
Câu lệnh tắt firewall iptables: #service iptables stop

Kết thúc phần cài đặt Nagios. Phần tiếp theo là giám sát các máy chủ với Nagios

9 bình luận về “Hướng dẫn cài đặt Nagios trên HĐH CentOS và Fedore

  1. Pingback: PNP – Data graph cho Nagios (Phần 2) - MC Security Blog

  2. bài viết của anh chi tiết và hay lắm. Em đang làm đồ án về cái này. Có gì anh hướng dẫn em thêm được không?

  3. okay, e thử restart lại httpd service thì web interface của nagios đã vào được. E có thắc mắc là có phải restart máy CentOS thì dịch vụ httpd tự động tắt phải không ạ?

    1. Cái đó do mình ko đặt chế độ tự động start sau khi boot máy, bạn có thể set tự động start bằng câu lệnh: #chkconfig httpd on
      hoặc thêm dòng
      service httpd start
      vào file /etc/rc.local (thêm trước dòng exit nhé)

  4. Anh có tài liệu nào giải thích về các otption trong nagios không ạ? vd: up, down, ram, cpu…
    Cái cơ bản nhất e muốn test là trạng thái up, down của máy nhưng e không biết là option nào. e đoán là uptime, e đã sửa thời gian lại là 3s nhưng đợi 10p nagios vẫn báo máy client up mặc dù e đã shutdown. Có khi nào e set thời gian nhầm chỗ không ạ?

  5. Em đang tìm hiểu, triển khai Nagios nhưng cài đặt đến phần này thì bị lỗi, anh xem giúp em với
    ./configure –with-command-group=nagios–with-comman¬d-group=nagcmd –with-mail=/usr/bin/sendmail

    Hình ảnh lỗi em đã gửi gmail cho anh rồi.

Bình luận