Thứ hai, 02/03/2015 | 00:00 GMT+7

Cách cài đặt Nagios 4 và theo dõi server của bạn trên Ubuntu 14.04

Trong hướng dẫn này, ta sẽ đề cập đến việc cài đặt Nagios 4, một hệ thống giám sát open-souce rất phổ biến, trên Ubuntu 14.04. Ta sẽ đề cập đến một số cấu hình cơ bản, vì vậy bạn có thể theo dõi tài nguyên server lưu trữ thông qua giao diện web. Ta cũng sẽ sử dụng Nagios Remote Plugin Executor (NRPE), sẽ được cài đặt như một tác nhân trên các server từ xa, để giám sát tài nguyên local của chúng.

Nagios rất hữu ích để giữ một repository các server của bạn và đảm bảo các dịch vụ quan trọng của bạn đang hoạt động. Sử dụng một hệ thống giám sát, như Nagios, là một công cụ cần thiết cho bất kỳ môi trường server production nào.

Yêu cầu

Để làm theo hướng dẫn này, bạn phải có quyền siêu user trên server Ubuntu 14.04 sẽ chạy Nagios. Lý tưởng nhất là bạn sẽ sử dụng một user không phải root với các quyền của superuser. Nếu bạn cần trợ giúp cài đặt , hãy làm theo các bước từ 1 đến 3 trong hướng dẫn này: Cài đặt server ban đầu với Ubuntu 14.04 .

Một LAMP cũng được yêu cầu. Làm theo hướng dẫn này nếu bạn cần cài đặt : Cách cài đặt ngăn xếp Linux, Apache, MySQL, PHP (LAMP) trên Ubuntu 14.04 .

Hướng dẫn này giả định server của bạn đã 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ờ ta đã sắp xếp các yêu cầu , hãy chuyển sang cài đặt Nagios 4.

Cài đặt Nagios 4

Phần này sẽ trình bày cách cài đặt Nagios 4 trên server giám sát của bạn. Bạn chỉ cần hoàn thành phần này một lần.

Tạo user và group Nagios

Ta phải tạo một user và group sẽ chạy quá trình Nagios. Tạo user “nagios” và group “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 phụ thuộc vào bản dựng

Vì ta đang xây dựng Nagios Core từ nguồn, ta phải cài đặt một vài thư viện phát triển sẽ cho phép ta hoàn thành quá trình xây dựng. Trong khi ta đang ở đó, ta cũng sẽ cài đặt apache2-utils , sẽ được sử dụng để cài đặt giao diện web Nagios.

Trước tiên, hãy cập nhật danh sách gói apt-get của bạn:

  • sudo apt-get update

Sau đó cài đặt các gói yêu cầu:

  • 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

Download mã nguồn cho bản phát hành ổn định mới nhất của Nagios Core. Truy cập trang download Nagios và nhấp vào liên kết Bỏ qua để 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 để bạn có thể download server Nagios của bạn .

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. Download folder chính của bạn với curl:

cd ~ curl -L -O https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.1.1.tar.gz 

Extract repository Nagios bằng lệnh này:

  • tar xvf nagios-*.tar.gz

Sau đó, thay đổi folder đã extract :

  • cd nagios-*

Trước khi xây dựng Nagios, ta phải cấu hình nó. Nếu bạn muốn cấu hình nó để sử dụng postfix (mà bạn 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ờ ta có thể chạy các lệnh thực hiện này để cài đặt Nagios, init script và các file 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

Để đưa ra các lệnh bên ngoài qua giao diện web cho Nagios, ta phải thêm user web server , www-data , vào group nagcmd :

  • sudo usermod -G nagcmd www-data

Cài đặt các plugin Nagios

Tìm bản phát hành mới nhất của Plugin Nagios tại đây: Download plugin Nagios . Sao chép địa chỉ liên kết cho version mới nhất và sao chép địa chỉ liên kết để bạn có thể download server Nagios của bạn .

Tại thời điểm viết bài này, version mới nhất là Nagios Plugins 2.1.1. Download folder chính của bạn với curl:

cd ~ curl -L -O http://nagios-plugins.org/download/nagios-plugins-2.1.1.tar.gz 

Extract repository Plugin Nagios bằng lệnh này:

  • tar xvf nagios-plugins-*.tar.gz

Sau đó, thay đổi folder đã extract :

  • cd nagios-plugins-*

Trước khi xây dựng Plugin Nagios, ta phải cấu hình 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 các Plugin Nagios bằng lệnh này:

  • make

Sau đó cài đặt nó bằng lệnh này:

  • sudo make install

Cài đặt NRPE

Tìm mã nguồn cho version NRPE ổn định mới nhất tại trang download NRPE . Download version mới nhất cho server 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. Download folder chính của bạn với curl:

  • cd ~
  • curl -L -O http://downloads.sourceforge.net/project/nagios/nrpe-2.x/nrpe-2.15/nrpe-2.15.tar.gz

Extract repository NRPE bằng lệnh này:

  • tar xvf nrpe-*.tar.gz

Sau đó, thay đổi folder đã extract :

  • cd nrpe-*

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ờ 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 editor :

  • 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 server Nagios của bạn vào cuối (thay thế bằng đị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ỉ server Nagios mới được phép giao tiếp với NRPE.

Khởi động lại dịch vụ xinetd để bắt đầu NRPE:

  • sudo service xinetd restart

Bây giờ Nagios 4 đã được cài đặt, ta cần phải cấu hình nó.

Cấu hình 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 server Nagios của bạn .

Tổ chức cấu hình Nagios

Mở file cấu hình Nagios chính trong editor yêu thích của bạn. Ta sẽ sử dụng vi để chỉnh sửa file :

sudo vi /usr/local/nagios/etc/nagios.cfg 

Bây giờ, hãy tìm một comment này bằng cách xóa # :

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

Lưu và thoát.

Bây giờ, hãy tạo folder sẽ lưu trữ file cấu hình cho từng server mà bạn sẽ theo dõi:

sudo mkdir /usr/local/nagios/etc/servers 

Cấu hình Danh bạ Nagios

Mở cấu hình danh bạ Nagios trong editor yêu thích của bạn. Ta sẽ sử dụng vi để chỉnh sửa file :

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 bạn :

email                           nagios@localhost        ; <<***** CHANGE THIS TO YOUR EMAIL ADDRESS ****** 

Lưu và thoát.

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 của ta :

  • sudo vi /usr/local/nagios/etc/objects/commands.cfg

Thêm phần sau vào cuối file :

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 bạn sử dụng lệnh check_nrpe trong định nghĩa dịch vụ Nagios của bạn.

Cấu hình Apache

Bật các module cgi và ghi lại 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 giao diện web Nagios:

sudo htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin 

Nhập password khi được yêu cầu . Hãy nhớ password này, vì bạn cần password để truy cập giao diện web Nagios.

Lưu ý: Nếu bạn tạo user không có tên là “nagiosadmin”, bạn cần chỉnh sửa /usr/local/nagios/etc/cgi.cfg và thay đổi tất cả các tham chiếu “nagiosadmin” cho user bạn đã tạo.

Bây giờ, hãy tạo một softlink của nagios.conf đến folder 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 khi server khởi động server , 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 bạn muốn hạn chế các địa chỉ IP có thể truy cập giao diện web Nagios, bạn cần chỉnh sửa file cấu hình Apache:

sudo vi /etc/apache2/sites-available/nagios.conf 

Tìm và comment hai dòng sau bằng cách thêm # ký hiệu vào trước chúng:

Order allow,deny Allow from all 

Sau đó, bỏ ghi chú các dòng sau, bằng cách xóa các ký hiệu # và thêm địa chỉ IP hoặc phạm vi (được phân cách bằng dấu cách) mà bạn muốn cho phép trong dòng Allow from :

#  Order deny,allow #  Deny from all #  Allow from 127.0.0.1 

Vì các dòng này sẽ xuất hiện hai lần trong file cấu hình, vì vậy bạn cần thực hiện các bước này .

Lưu và thoát.

Bây giờ khởi động lại Apache để 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 giao diện web Nagios

Mở trình duyệt web yêu thích của bạn và truy cập server Nagios của bạn (thay thế địa chỉ IP hoặc tên server cho phần được đánh dấu):

http://nagios_server_public_ip/nagios 

Vì ta đã cấu hình Apache để sử dụng htpasswd, nên bạn phải nhập thông tin đăng nhập mà bạn đã tạo trước đó. Ta đã sử dụng “nagiosadmin” làm tên user :

htaccess Xác thực Nhắc nhở

Sau khi xác thực, bạn sẽ thấy trang chủ Nagios mặc định. Nhấp vào liên kết Server , trong thanh chuyển bên trái, để xem server nào mà Nagios đang theo dõi:

Trang chủ của Nagios

Như bạn thấy , Nagios chỉ giám sát “localhost” hoặc chính nó.

Hãy theo dõi một server khác với Nagios!

Giám sát Server lưu trữ bằng NRPE

Trong phần này, ta sẽ hướng dẫn bạn cách thêm một server mới vào Nagios, vì vậy nó sẽ được theo dõi. Lặp lại phần này cho từng server mà bạn muốn theo dõi.

Trên server mà bạn muốn theo dõi, hãy cập nhật apt-get:

sudo apt-get update 

Bây giờ hãy cài đặt Plugin Nagios và NRPE:

sudo apt-get install nagios-plugins nagios-nrpe-server 

Cấu hình server được phép

Bây giờ, hãy cập nhật file cấu hình NRPE. Mở nó trong trình soạn thảo yêu thích của bạn ( ta đ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 server Nagios của bạn vào danh sách được phân tách bằng dấu phẩy (thay thế nó vào vị trí của 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 cấu hình NRPE để chấp nhận các yêu cầu từ server Nagios của bạn, thông qua địa chỉ IP riêng của nó.

Cấu hình các lệnh NRPE được phép

Tra cứu tên của hệ thống file root của bạn (vì nó là một trong những mục ta muốn theo dõi):

df -h / 

Ta sẽ sử dụng tên hệ thống file trong cấu hình NRPE để theo dõi việc sử dụng đĩa của bạn (có thể là /dev/vda ). Bây giờ hãy 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 comment . Có một vài dòng mà bạn cần tìm và sửa đổi:

  • server_address : Đặt thành địa chỉ IP riêng của server này
  • allow_hosts : Đặt thành địa chỉ IP riêng của server Nagios của bạn
  • command [check_hda1] : Thay đổi /dev/hda1 thành bất kỳ hệ thống file root nào của bạn được gọi

Ba dòng nói trên sẽ giống như sau (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 ý có một số “lệnh” khác được định nghĩa trong file này sẽ chạy nếu server Nagios được cấu hình để sử dụng chúng. Cũng lưu ý NRPE sẽ lắng nghe trên cổng 5666 vì server_port=5666 được đặt. Nếu bạn có firewall nào chặn cổng đó, hãy đảm bảo mở nó đến server Nagios của bạn.

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 

Sau khi hoàn tất cài đặt và cấu hình NRPE trên các server mà bạn muốn theo dõi, bạn sẽ phải thêm các server này vào cấu hình server Nagios của bạn trước khi nó bắt đầu giám sát chúng.

Thêm server vào cấu hình Nagios

Trên server Nagios của bạn, hãy tạo một file cấu hình mới cho từng server từ xa mà bạn muốn theo dõi trong /usr/local/nagios/etc/servers/ . Thay thế từ được đánh dấu, “ server của bạn”, bằng tên của server của bạn:

sudo vi /usr/local/nagios/etc/servers/yourhost.cfg 

Thêm vào định nghĩa server lưu trữ sau, thay thế giá trị host_name bằng tên server từ xa của bạn (trong ví dụ là “web-1”), giá trị alias với mô tả server và giá trị address bằng địa chỉ IP riêng của server 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 file cấu hình ở trên, Nagios sẽ chỉ theo dõi xem server đang hoạt động hay không. Nếu điều này là đủ cho 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 trong số này cho các dịch vụ bạn muốn giám sát. Lưu ý giá trị của check_command xác định những gì sẽ được giám sát, bao gồm cả các giá trị ngưỡng trạng thái. Dưới đây là một số ví dụ mà bạn có thể thêm vào file cấu hình server của bạn :

Ping:

define service {         use                             generic-service         host_name                       yourhost         service_description             PING         check_command                   check_ping!100.0,20%!500.0,60% } 

SSH (notification_enabled được đặt thành 0 vô hiệu hóa thông báo cho một dịch vụ):

define service {         use                             generic-service         host_name                       yourhost         service_description             SSH         check_command                   check_ssh         notifications_enabled           0 } 

Nếu bạn không chắc chắn việc use generic-service nghĩa là gì, nó chỉ đơn giản là kế thừa các giá trị của mẫu dịch vụ được gọi là “dịch vụ chung” được xác định theo mặc định.

Bây giờ lưu và thoát. Reload cấu hình Nagios của bạn để thực hiện bất kỳ thay đổi nào:

sudo service nagios reload 

Khi bạn đã hoàn tất việc cấu hình Nagios để giám sát tất cả các server từ xa của bạn , bạn sẽ được cài đặt . Đảm bảo truy cập giao diện web Nagios của bạn và xem trang Dịch vụ để xem tất cả các server và dịch vụ được giám sát của bạn:

Trang Dịch vụ Nagios

Kết luận

Đến đây bạn đang theo dõi server của bạn và một số dịch vụ của họ, bạn có thể cần dành một chút thời gian để tìm ra dịch vụ nào là quan trọng đối với bạn, vì vậy bạn có thể bắt đầu theo dõi những dịch vụ đó. Bạn cũng có thể cần cài đặt thông báo, chẳng hạn như bạn nhận được email khi việc sử dụng đĩa của bạn đạt đến ngưỡng cảnh báo hoặc ngưỡng quan trọng hoặc trang web chính của bạn không hoạt động, vì vậy bạn có thể giải quyết tình huống này ngay lập tức hoặc trước khi sự cố xảy ra.

Chúc may mắn!


Tags:

Các tin liên quan

Cách cài đặt và cấu hình Sphinx trên Ubuntu 14.04
2015-02-18
Cách cài đặt MediaWiki trên Ubuntu 14.04
2015-02-06
Cách cài đặt phpBB trên Ubuntu 14.04
2015-02-04
Cách sử dụng puppet để quản lý chủ đề và plugin WordPress trên Ubuntu 14.04
2015-02-02
Giám sát LEMP với Monit trên Ubuntu 14.04
2015-01-26
Cách đồng bộ hóa lịch và danh bạ bằng chuẩn CardDAV và CalDAV với Baïkal trên Ubuntu 14.04
2015-01-23
Cách cài đặt Webmin với SSL trên Ubuntu 14.04
2015-01-19
Cách bắt đầu với Silex trên Ubuntu 14.04
2015-01-15
Cách triển khai ứng dụng DocPad trên Ubuntu 14.04
2015-01-14
Cách tạo một Playbook Ansible để tự động cài đặt Drupal trên Ubuntu 14.04
2014-12-23