Thứ hai, 29/04/2013 | 00:00 GMT+7

Cách tạo plugin Nagios với Bash trên CentOS 6


Giới thiệu

Bash là một bộ xử lý lệnh phổ biến có sẵn trên Linux theo mặc định.

Trước đây ta đã trình bày cách cài đặt server giám sát Nagios trên CentOS 6 x64 .

Lần này, ta sẽ mở rộng ý tưởng này và tạo các plugin Nagios bằng Bash. Các plugin này sẽ chạy trên client VPS và được thực thi qua NRPE.

Bước 1 - Cài đặt RPMForge Repository và NRPE trên client VPS

  rpm -ivh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm  yum -y install nagios-nrpe  useradd nrpe && chkconfig nrpe on  

Bước 2 - Tạo Bash Script của bạn

Bạn nên giữ các plugin của bạn trong cùng một folder với các plugin Nagios khác ( / usr / lib64 / nagios / plugins / chẳng hạn).

Đối với ví dụ của ta , ta sẽ tạo một tập lệnh kiểm tra việc sử dụng đĩa hiện tại bằng cách gọi "df" từ shell và đưa ra một cảnh báo nếu nó được sử dụng trên 85%:

  #!/bin/bash  used_space=`df -h / | grep -v Filesystem | awk '{print $5}' | sed 's/%//g'`  case $used_space in  [1-84]*)  echo "OK - $used_space% of disk space used."  exit 0  ;;  [85]*)  echo "WARNING - $used_space% of disk space used."  exit 1  ;;  [86-100]*)  echo "CRITICAL - $used_space% of disk space used."  exit 2  ;;  *)  echo "UNKNOWN - $used_space% of disk space used."  exit 3  ;;  esac  

Ta sẽ lưu tập lệnh này trong /usr/lib64/nagios/plugins/usedspace.sh và làm cho nó có thể thực thi được:

  chmod +x /usr/lib64/nagios/plugins/usedspace.sh  

Toàn bộ plugin Nagios NRPE đều sử dụng mã thoát để kích hoạt cảnh báo.

Bạn giới thiệu mức độ logic của bạn cho tập lệnh và nếu bạn muốn kích hoạt một cảnh báo (cho dù là OK, CẢNH BÁO, CRITICAL hay UNKNOWN) - bạn chỉ định mã thoát.

Tham khảo các Mã thoát Nagios sau:

Mã thoát Nagios

Mã thoát Trạng thái
0 đồng ý
1 CẢNH BÁO
2 BẠO KÍCH
3 KHÔNG XÁC ĐỊNH

Bước 3 - Thêm Tập lệnh của bạn vào cấu hình NRPE trên server khách

Xóa /etc/nagios/nrpe.cfg root và thêm các dòng sau vào đó:

  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[usedspace_bash]=/usr/lib64/nagios/plugins/usedspace.sh  

Trong đó 198.211.117.251 là server giám sát của ta từ các bài viết trước. Thay đổi chúng thành giá trị của bạn .

Đảm bảo khởi động lại dịch vụ Nagios NRPE:

  service nrpe restart  

Bước 4 - Thêm Lệnh mới của bạn vào Kiểm tra Nagios trên Server Giám sát Nagios

Xác định lệnh mới trong /etc/nagios/objects/commands.cfg

  define command{          command_name    usedspace_bash          command_line    $USER1$/check_nrpe -H $HOSTADDRESS$ -c usedspace_bash          }  

Như bạn thấy , nó sử dụng NRPE để tạo kết nối TCP tới cổng 5666 và chạy lệnh 'usedspace_bash', mà ta đã xác định trong /etc/nagios/nrpe.cfg trên server từ xa đó.

Thêm kiểm tra này vào file cấu hình Nagios của bạn cho VPS khách hàng.

Đối với ví dụ của ta , ta sẽ giám sát một server có tên là CentOSServer và chỉnh sửa /etc/nagios/servers/CentOSServer.cfg

  define service {          use                             generic-service          host_name                       CentOSServer          service_description             Custom Disk Checker In Bash          check_command                   usedspace_bash          }  

Khởi động lại Nagios:

  service nagios restart  

Xác minh séc mới đang hoạt động:

Và bạn đã hoàn tất!


Tags:

Các tin liên quan

Cách tạo plugin Nagios với Perl trên CentOS 6
2013-04-29
Cách tạo plugin Nagios với Ruby On CentOS 6
2013-04-29
Cách tạo bản backup Off-Site cho trang web của bạn với Rsync trên Centos 6
2013-04-18
Cách cài đặt và chạy ứng dụng Node.js trên Centos 6.4 64bit
2013-04-15
Cách cài đặt Squid Proxy trên CentOS 6
2013-04-04
Cách cài đặt Nagios trên CentOS 6
2013-03-29
Cách cài đặt OpenX trên CentOS 6
2013-03-29
Cách cài đặt PowerDNS trên CentOS 6.3 x64
2013-03-18
Cách cài đặt iRedMail trên CentOS 6.5 x64
2013-03-18
Cách cài đặt VirtualBox trên CentOS 6.3 x64
2013-03-17