Cách Cài Đặt Nagios trên CentOS 6

2 năm trước

 

Bước 1 - Cài đặt Packages trên Monitoring Server

rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
yum -y install nagios nagios-plugins-all nagios-plugins-nrpe nrpe php httpd
chkconfig httpd on && chkconfig nagios on
service httpd start && service nagios start

Chúng ta cũng nên kích hoạt bộ nhớ SWAP trên vps này, ít nhất 2GB:

dd if=/dev/zero of=/swap bs=1024 count=2097152
mkswap /swap && chown root. /swap && chmod 0600 /swap && swapon /swap
echo /swap swap swap defaults 0 0 >> /etc/fstab
echo vm.swappiness = 0 >> /etc/sysctl.conf && sysctl -p

Bước 2 - Đặt Bảo vệ Mật khẩu

Đặt mật khẩu Nagios Admin Panel :

htpasswd -c /etc/nagios/passwd nagiosadmin

Đảm bảo giữ tên người dùng này là "nagiosadmin" - nếu không bạn sẽ phải thay đổi /etc/nagios/cgi.cfg và xác định lại quản trị viên được ủy quyền.

Bây giờ bạn có thể điều hướng đến địa chỉ IP của http://IP/nagios và đăng nhập.

Bạn sẽ được nhắc nhập mật khẩu bạn đã đặt ở Bước 2:

Nagios admin panel trông như thế này:

Vì đây là cài đặt mới, chúng ta hiện không có bất kỳ máy chủ nào đang được giám sát.

Bây giờ hãy thêm máy chủ của chúng ta mà sẽ được theo dõi bởi Nagios. Ví dụ, chúng ta sẽ sử dụng cloudmail.tk (198.211.107.218) và emailocean.tk (198.211.112.99).

Từ các cổng công cộng, chúng ta có thể theo dõi ping, bất kỳ cổng mở nào như máy chủ web, máy chủ e-mail, v.v.

Đối với các dịch vụ nội bộ đang lắng nghe trên localhost, chẳng hạn như MySQL, memcached, các dịch vụ hệ thống, chúng ta sẽ cần phải sử dụng NRPE.

Bước 4 - Cài đặt NRPE trên Máy khách

rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
yum -y install nagios nagios-plugins-all nrpe
chkconfig nrpe on

Bước tiếp theo  là nơi bạn có thể chỉ định bất kỳ lệnh thủ công nào mà Máy chủ giám sát có thể gửi qua NRPE tới các máy chủ lưu trữ này.

Đảm bảo thay đổi allowed_hosts thành giá trị của riêng bạn.

Sửa /etc/nagios/nrpe.cfg

log_facility=daemon
pid_file=/var/run/nrpe/nrpe.pid
server_port=5666
nrpe_user=nrpe
nrpe_group=nrpe
allowed_hosts=198.211.117.251
dont_blame_nrpe=1
debug=0
command_timeout=60
connection_timeout=300
include_dir=/etc/nrpe.d/
command[check_users]=/usr/lib64/nagios/plugins/check_users -w 5 -c 10
command[check_load]=/usr/lib64/nagios/plugins/check_load -w 15,10,5 -c 30,25,20
command[check_disk]=/usr/lib64/nagios/plugins/check_disk -w 20% -c 10% -p /dev/vda
command[check_zombie_procs]=/usr/lib64/nagios/plugins/check_procs -w 5 -c 10 -s Z
command[check_total_procs]=/usr/lib64/nagios/plugins/check_procs -w 150 -c 200
command[check_procs]=/usr/lib64/nagios/plugins/check_procs -w $ARG1$ -c $ARG2$ -s $ARG3$

Chú ý:

Trong check_disk ở trên, phân vùng đang được kiểm tra là / dev / vda - hãy chắc chắn rằng vps của bạn có cùng phân vùng bằng cách chạy df -h / Bạn cũng có thể sửa đổi khi kích hoạt cảnh báo hoặc cảnh báo quan trọng - bộ cấu hình ở trên Cảnh báo ở 20% dung lượng đĩa trống còn lại và cảnh báo quan trọng ở mức 10% dung lượng trống còn lại.

Chúng ta cũng nên thiết lập quy tắc firewall để cho phép kết nối từ máy chủ Giám sát  với những khách hàng đó và thả tất cả những người khác:

iptables -N NRPE
iptables -I INPUT -s 0/0 -p tcp --dport 5666 -j NRPE
iptables -I NRPE -s 198.211.117.251 -j ACCEPT
iptables -A NRPE -s 0/0 -j DROP
/etc/init.d/iptables save

Bây giờ bạn có thể bắt đầu NRPE trên tất cả các máy khách của bạn:

service nrpe start

Bước 5 - Thêm cấu hình máy chủ trên Monitoring Server

Quay lại máy chủ Giám sát của chúng ta, chúng ta sẽ phải tạo các tệp cấu hình cho mỗi máy chủ ứng dụng khách :

echo "cfg_dir=/etc/nagios/servers" >> /etc/nagios/nagios.cfg
cd /etc/nagios/servers
touch cloudmail.tk.cfg
touch emailocean.tk.cfg

Chỉnh sửa tệp cấu hình của từng khách hàng và xác định dịch vụ nào bạn muốn theo dõi.

nano /etc/nagios/servers/cloudmail.tk.cfg

Thêm các dòng sau đây:

define host {
use linux-server
host_name cloudmail.tk
alias cloudmail.tk
address 198.211.107.218
}define service {
use generic-service
host_name cloudmail.tk
service_description PING
check_command check_ping!100.0,20%!500.0,60%
}define service {
use generic-service
host_name cloudmail.tk
service_description SSH
check_command check_ssh
notifications_enabled 0
}define service {
use generic-service
host_name cloudmail.tk
service_description Current Load
check_command check_local_load!5.0,4.0,3.0!10.0,6.0,4.0
}

Bạn có thể thêm nhiều dịch vụ hơn để được theo dõi như mong muốn. Bạn nên thêm cùng một cấu hình cho ứng dụng khách thứ hai, emailocean.tk, với địa chỉ IP và host_name khác nhau:

Đây là một đoạn của /etc/nagios/servers/emailocean.tk.cfg:

define host {
use linux-server
host_name emailocean.tk
alias emailocean.tk
address 198.211.112.99
}...

Bạn có thể thêm khách hàng bổ sung để được theo dõi như /etc/nagios/servers/AnotherHostName.cfg

Cuối cùng, sau khi bạn đã hoàn tất việc thêm tất cả các cấu hình máy khách, bạn nên thiết lập quyền truy cập thư mục một cách chính xác và khởi động lại Nagios trên Máy chủ giám sát của bạn:

chown -R nagios. /etc/nagios
service nagios restart

Bước 6 - Giám sát các máy chủ trong Nagios

Điều hướng đến địa chỉ IP của máy chủ giám sát của bạn http: // IP / nagios và nhập mật khẩu được đặt ở Bước 2.

Bây giờ bạn sẽ có thể thấy tất cả các máy chủ và dịch vụ:

Và bạn đã làm xong !

Tìm hiểu thêm những điều thú vị  tại ViCloud Community