Cách cài đặt Nagios 4 và giám sát Servers của bạn trên Ubuntu 14.04
Giới thiệu
Trong hướng dẫn này, chúng tôi sẽ đề cập đến việc cài đặt Nagios 4, một hệ thống giám sát nguồn mở rất phổ biến trên Ubuntu 14.04. Chúng tôi sẽ giới thiệu một số cấu hình cơ bản, vì vậy bạn sẽ có thể theo dõi tài nguyên máy chủ thông qua giao diện web. Chúng tôi cũng sẽ sử dụng Nagios Remote Plugin Executor (NRPE),được cài đặt như một tác nhân trên máy chủ từ xa để giám sát tài nguyên cục bộ.
Nagios hữu ích cho việc lưu trữ các servers và đảm bảo các dịch vụ quan trọng đang hoạt động. Sử dụng hệ thống giám sát, như Nagios, là công cụ cần thiết cho bất kỳ môi trường máy chủ sản xuất nào.
Điều kiện tiên quyết
Để làm theo hướng dẫn này, bạn phải có đặc quyền superuser trên máy chủ Ubuntu 14.04 chạy Nagios. Lý tưởng nhất là sử dụng user non-root với quyền superuser. Nếu cần trợ giúp thiết lập điều đó, hãy truy cập vicloud.vn để được hướng dẫn chi tiết.
LAMP stack cũng được yêu cầu.
Hướng dẫn này giả định server đã bật mạng riêng. Nếu không, chỉ cần thay thế tất cả các tham chiếu đến địa chỉ IP riêng bằng địa chỉ IP công cộng.
Bây giờ có các điều kiện tiên quyết được sắp xếp, hãy chuyển sang cài đặt Nagios 4.
Cài đặt Nagios 4
Phần này sẽ giới thiệu cách cài đặt Nagios 4 trên máy chủ giám sát. Bạn chỉ cần hoàn thành phần này một lần.
Tạo Nagios User và Group
Chúng ta phải tạo một user và group chạy quá trình Nagios. Tạo user "nagios" và nhóm "nagcmd", sau đó thêm user vào group bằng các lệnh sau:
sudo useradd nagios
sudo groupadd nagcmd
sudo usermod -a -G nagcmd nagios
Cài đặt Build Dependencies
Vì đang xây dựng Nagios Core từ nguồn, chúng ta phải cài đặt một vài thư viện phát triển cho phép hoàn thành việc xây dựng. Trong khi đang ở đó, chúng ta cũng cài đặt apache2-utils để thiết lập giao diện web Nagios.
Trước tiên, cập nhật danh sách các gói apt-get :
sudo apt-get update
Sau đó cài đặt các gói cần thiết:
sudo apt-get install build-essential libgd2-xpm-dev openssl libssl-dev xinetd apache2-utils unzip
Hãy cài đặt Nagios ngay bây giờ.
Cài đặt Nagios Core
Tải về mã nguồn cho bản phát hành ổn định mới nhất của Nagios Core. Truy cập trang tải xuống Nagios và nhấp vào liên kết Skip to download bên dưới biểu mẫu. Sao chép địa chỉ liên kết cho bản phát hành ổn định mới nhất để có thể tải xuống máy chủ Nagios.
Tại thời điểm viết bài này, bản phát hành ổn định mới nhất là Nagios 4.1.1. Tải nó về thư mục chính với curl:
cd ~
curl -L -O https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.1.1.tar.gz
Giải nén kho lưu trữ Nagios bằng lệnh này:
tar xvf nagios-*.tar.gz
Sau đó thay đổi thư mục được trích xuất:
cd nagios-*
Trước khi xây dựng Nagios, phải định dạng nó. Nếu muốn định dạng nó để sử dụng postfix (có thể cài đặt bằng apt-get),hãy thêm --with-mail=/usr/sbin/sendmail vào lệnh sau:
./configure --with-nagios-group=nagios --with-command-group=nagcmd
Bây giờ biên dịch Nagios với lệnh này:
make all
Bây giờ có thể chạy các lệnh này để cài đặt Nagios, init script và các tệp cấu hình mẫu:
sudo make install
sudo make install-commandmode
sudo make install-init
sudo make install-config
sudo /usr/bin/install -c -m 644 sample-config/httpd.conf /etc/apache2/sites-available/nagios.conf
Để phát hành các lệnh bên ngoài thông qua giao diện web tới Nagios, chúng ta phải thêm web server user, www-data, vào nhóm nagcmd:
sudo usermod -G nagcmd www-data
Cài đặt Nagios Plugins
Tìm phiên bản mới nhất của Nagios Plugins tại đây: Nagios Plugins Download. Sao chép địa chỉ liên kết cho phiên bản mới nhất và sao chép địa chỉ liên kết để có thể tải xuống máy chủ Nagios của mình.
Tại thời điểm viết bài này, phiên bản mới nhất là Nagios Plugins 2.1.1. Tải nó về thư mục chính với curl:
cd ~
curl -L -O http://nagios-plugins.org/download/nagios-plugins-2.1.1.tar.gz
Giải nén Nagios Plugins lưu trữ với lệnh này:
tar xvf nagios-plugins-*.tar.gz
Sau đó thay đổi thư mục được trích xuất:
cd nagios-plugins-*
Trước khi xây dựng Nagios Plugins, chúng ta phải định dạng nó. Sử dụng lệnh này:
./configure --with-nagios-user=nagios --with-nagios-group=nagios --with-openssl
Bây giờ biên dịch Nagios Plugins bằng lệnh này:
make
Sau đó cài đặt với lệnh này:
sudo make install
Cài đặt NRPE
Tìm mã nguồn cho bản phát hành ổn định mới nhất của NRPE tại NRPE downloads page. Tải xuống phiên bản mới nhất cho máy chủ Nagios của bạn.
Tại thời điểm viết bài này, bản phát hành mới nhất là 2,15. Tải nó về thư mục chính với curl:
cd ~
curl -L -O http://downloads.sourceforge.net/project/nagios/nrpe-2.x/nrpe-2.15/nrpe-2.15.tar.gz
Giải nén kho lưu trữ NRPE bằng lệnh này:
tar xvf nrpe-*.tar.gz
Sau đó thay đổi thư mục được trích xuất:
cd nrpe-*
Định cấu hình NRPE bằng các lệnh sau:
./configure --enable-command-args --with-nagios-user=nagios --with-nagios-group=nagios --with-ssl=/usr/bin/openssl --with-ssl-lib=/usr/lib/x86_64-linux-gnu
Bây giờ hãy xây dựng và cài đặt NRPE và tập lệnh khởi động xinetd của nó bằng các lệnh sau:
make all
sudo make install
sudo make install-xinetd
sudo make install-daemon-config
Mở tập lệnh khởi động xinetd trong trình chỉnh sửa:
sudo vi /etc/xinetd.d/nrpe
Sửa đổi dòng only_from bằng cách thêm địa chỉ IP riêng của Nagios server vào cuối (thay thế địa chỉ IP thực của server của bạn):
only_from = 127.0.0.1 10.132.224.168
Lưu và thoát. Chỉ máy chủ Nagios mới được phép giao tiếp với NRPE.
Khởi động lại dịch vụ xinetd để khởi động NRPE:
sudo service xinetd restart
Bây giờ Nagios 4 đã được cài đặt, chúng ta cần định dạng nó.
Định dạng Nagios
Bây giờ hãy thực hiện cấu hình Nagios ban đầu. Bạn chỉ cần thực hiện phần này một lần, trên máy chủ Nagios của mình.
Tổ chức cấu hình Nagios
Mở tập tin cấu hình Nagios chính trong trình soạn thảo văn bản yêu thích của bạn. Sử dụng vi để chỉnh sửa tệp:
sudo vi /usr/local/nagios/etc/nagios.cfg
Bây giờ, hãy tìm cách bỏ ghi chú dòng này bằng cách xóa #
:
#cfg_dir=/usr/local/nagios/etc/servers
Lưu và thoát.
Bây giờ tạo thư mục lưu trữ tệp cấu hình cho mỗi máy chủ sẽ giám sát:
sudo mkdir /usr/local/nagios/etc/servers
Định dạng Nagios Contacts
Mở cấu hình liên lạc Nagios trong trình soạn thảo văn bản yêu thích của bạn. Chúng Sử dụng vi để chỉnh sửa tệp:
sudo vi /usr/local/nagios/etc/objects/contacts.cfg
Tìm chỉ thị email và thay thế giá trị của nó (phần được đánh dấu) bằng địa chỉ email của riêng bạn:
email nagios@localhost ; <<***** CHANGE THIS TO YOUR EMAIL ADDRESS ******
Lưu và thoát.
Định cấu hình lệnh check_nrpe
Hãy thêm một lệnh mới vào cấu hình Nagios:
sudo vi /usr/local/nagios/etc/objects/commands.cfg
Thêm phần sau vào cuối tệp:
define command{
command_name check_nrpe
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}
Lưu và thoát. Điều này cho phép sử dụng lệnh check_nrpe trong định nghĩa dịch vụ Nagios.
Định dạng Apache
Bật mô-đun viết lại và cgi của Apache:
sudo a2enmod rewrite
sudo a2enmod cgi
Sử dụng htpasswd để tạo admin user, được gọi là "nagiosadmin", có thể truy cập vào giao diện web của Nagios:
sudo htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
Nhập mật khẩu tại dấu nhắc. Hãy nhớ mật khẩu này, vì bạn sẽ cần nó để truy cập vào giao diện web Nagios.
Lưu ý: Nếu tạo một user không được đặt tên là "nagiosadmin", bạn cần phải chỉnh sửa /usr/local/nagios/etc/cgi.cfg
và thay đổi các tham chiếu "nagiosadmin" cho user đã tạo.
Bây giờ tạo một liên kết tượng trưng của nagios.conf đến thư mục sites-enabled:
sudo ln -s /etc/apache2/sites-available/nagios.conf /etc/apache2/sites-enabled/
Nagios đã sẵn sàng để bắt đầu. Hãy làm điều đó và khởi động lại Apache:
sudo service nagios start
sudo service apache2 restart
Để kích hoạt Nagios để khởi động máy chủ, hãy chạy lệnh sau:
sudo ln -s /etc/init.d/nagios /etc/rcS.d/S99nagios
Tùy chọn: Hạn chế quyền truy cập theo địa chỉ IP
Nếu muốn giới hạn địa chỉ IP có thể truy cập vào giao diện web Nagios, cần chỉnh sửa tệp cấu hình Apache:
sudo vi /etc/apache2/sites-available/nagios.conf
Tìm và nhận xét hai dòng sau bằng cách thêm # ký tự ở phía trước:
Order allow,deny
Allow from all
Sau đó, bỏ ghi chú các dòng sau, bằng cách xóa # ký hiệu và thêm địa chỉ IP hoặc dải ô (dấu tách cách) được cho phép trong dòng Allow from:
# Order deny,allow
# Deny from all
# Allow from 127.0.0.1
Vì những dòng này sẽ xuất hiện hai lần trong tệp cấu hình nên bạn sẽ cần phải thực hiện lại các bước này một lần nữa.
Lưu và thoát.
Bây giờ khởi động lại Apache để đặt thay đổi có hiệu lực:
sudo service nagios restart
sudo service apache2 restart
Nagios hiện đang chạy, vì vậy hãy thử và đăng nhập.
Truy cập vào giao diện web Nagios
Mở trình duyệt web ưa thích của bạn và truy cập Nagios server (thay thế địa chỉ IP hoặc tên server cho phần được đánh dấu):
http://nagios_server_public_ip/nagios
Vì đã định cấu hình Apache để sử dụng htpasswd, bạn phải nhập bằng chứng xác thực đăng nhập đã tạo trước đó. Chúng ta đã sử dụng "nagiosadmin" làm tên user:
Sau khi xác thực, bạn sẽ thấy trang chủ mặc định của Nagios. Nhấp vào liên kết Hosts trong thanh điều hướng bên trái để xem máy chủ mà Nagios đang theo dõi:
Như có thể thấy, Nagios chỉ giám sát "localhost", hoặc chính nó.
Hãy theo dõi một máy chủ khác với Nagios!
Giám sát Máy chủ lưu trữ bằng NRPE
Trong phần này, sẽ hướng dẫn cách thêm một máy chủ mới vào Nagios, vì vậy nó sẽ được theo dõi. Lặp lại phần này cho mỗi máy chủ muốn theo dõi.
Trên máy chủ mà bạn muốn theo dõi, cập nhật apt-get:
sudo apt-get update
Bây giờ hãy cài đặt Nagios Plugins và NRPE:
sudo apt-get install nagios-plugins nagios-nrpe-server
Định cấu hình Allowed Hosts
Bây giờ, hãy cập nhật tệp cấu hình NRPE. Mở nó trong trình soạn thảo yêu thích của bạn (đang sử dụng vi):
sudo vi /etc/nagios/nrpe.cfg
Tìm chỉ thị allowed_hosts và thêm địa chỉ IP riêng của máy chủ Nagios vào danh sách được phân cách bằng dấu phẩy (thay thế nó cho ví dụ được đánh dấu):
allowed_hosts=127.0.0.1,10.132.224.168
Lưu và thoát. Điều này định dạng NRPE chấp nhận yêu cầu từ máy chủ Nagios, thông qua địa chỉ IP riêng của nó.
Định dạng lệnh Allowed NRPE
Tra cứu tên của hệ thống tập tin gốc (vì nó là một trong các mục muốn theo dõi):
df -h /
Chúng tôi sẽ sử dụng tên hệ thống tập tin trong cấu hình NRPE để giám sát việc sử dụng đĩa của bạn (có thể là /dev/vda). Bây giờ mở nrpe.cfg để chỉnh sửa:
sudo vi /etc/nagios/nrpe.cfg
Tệp cấu hình NRPE rất dài và đầy đủ các nhận xét. Có một vài dòng cần phải tìm và sửa đổi:
- server_address: Đặt thành địa chỉ IP riêng của máy chủ lưu trữ này
- allowed_hosts: Đặt thành địa chỉ IP riêng của máy chủ Nagios
- command[check_hda1]: Thay đổi /dev/hda1 thành bất kỳ hệ thống tập tin root của bạn
Ba dòng nói trên sẽ trông như thế này (thay thế các giá trị thích hợp):
server_address=client_private_IP
allowed_hosts=nagios_server_private_IP
command[check_hda1]=/usr/lib/nagios/plugins/check_disk -w 20% -c 10% -p /dev/vda
Lưu ý rằng một số "lệnh" khác được định nghĩa trong tệp này sẽ chạy nếu máy chủ Nagios được định cấu hình sử dụng chúng. Cũng lưu ý rằng NRPE sẽ nghe trên cổng 5666 vì server_port=5666 được thiết lập. Nếu có bất kỳ tường lửa nào chặn, hãy chắc chắn mở nó vào máy chủ Nagios.
Lưu và thoát.
Khởi động lại NRPE
Khởi động lại NRPE để thay đổi có hiệu lực:
sudo service nagios-nrpe-server restart
Khi hoàn tất việc cài đặt và cấu hình NRPE trên máy chủ bạn muốn theo dõi, sẽ phải thêm các máy chủ này vào cấu hình máy chủ Nagios trước khi bắt đầu theo dõi chúng.
Thêm máy chủ lưu trữ vào cấu hình Nagios
Trên máy chủ Nagios, tạo một tệp cấu hình mới cho mỗi máy chủ từ xa muốn theo dõi trong /usr/local/nagios/etc/servers/. Thay thế từ được đánh dấu, "yourhost", với tên của máy chủ lưu trữ của bạn:
sudo vi /usr/local/nagios/etc/servers/yourhost.cfg
Thêm vào định nghĩa máy chủ sau, thay thế giá trị host_name bằng tên máy chủ từ xa ("web-1" trong ví dụ),giá trị alias với mô tả của máy chủ và giá trị address với địa chỉ IP riêng của máy chủ từ xa:
define host {
use linux-server
host_name yourhost alias My first Apache server address 10.132.234.52 max_check_attempts 5
check_period 24x7
notification_interval 30
notification_period 24x7
}
Với tập tin cấu hình ở trên, Nagios sẽ chỉ giám sát nếu máy chủ lưu trữ lên hoặc xuống. Nếu đã đủ đối với bạn, hãy lưu và thoát rồi khởi động lại Nagios. Nếu bạn muốn theo dõi các dịch vụ cụ thể, hãy đọc tiếp.
Thêm bất kỳ khối dịch vụ nào cho các dịch vụ bạn muốn theo dõi. Lưu ý rằng giá trị của check_command xác định những gì được theo dõi, bao gồm các giá trị ngưỡng trạng thái. Dưới đây là một số ví dụ có thể thêm vào tệp cấu hình của máy chủ lưu trữ của mình:
Ping:
define service {
use generic-service
host_name yourhost service_description PING
check_command check_ping!100.0,20%!500.0,60%
}
SSH (notifications_enabled được đặt thành 0 sẽ tắt thông báo cho dịch vụ):
define service {
use generic-service
host_name yourhost service_description SSH
check_command check_ssh
notifications_enabled 0
}
Nếu không chắc chắn về use generic-service là gì, nó đơn giản là kế thừa các giá trị của một mẫu dịch vụ được gọi là "generic-service" được định nghĩa theo mặc định.
Bây giờ hãy lưu và thoát. Tải lại cấu hình Nagios để đặt bất kỳ thay đổi nào có hiệu lực:
sudo service nagios reload
Khi hoàn tất việc cấu hình Nagios để giám sát tất cả các máy chủ từ xa của mình, bạn nên thiết lập. Hãy chắc chắn truy cập vào giao diện web Nagios và xem trang Services để xem tất cả các máy chủ và dịch vụ được giám sát:
Kết luận
Bây giờ bạn theo dõi máy chủ và một số dịch vụ của họ, bạn có thể muốn dành chút thời gian để tìm ra dịch vụ nào là quan trọng đối với mình, vì vậy hãy bắt đầu theo dõi những dịch vụ đó. Bạn có thể muốn thiết lập thông báo, ví dụ, bạn nhận được email khi sử dụng đĩa đạt đến cảnh báo hoặc ngưỡng quan trọng hoặc trang web chính bị hỏng, vì vậy bạn có thể giải quyết tình huống ngay lập tức hoặc trước khi sự cố xảy ra.
Chúc bạn thành công!