Skip to content

Latest commit

 

History

History
248 lines (180 loc) · 8.08 KB

7.nagiosgraph.md

File metadata and controls

248 lines (180 loc) · 8.08 KB

NagiosGraph

NagiosGraph

About nagiosgraph

nagiosgraph phân tích dữ liệu đầu ra và performance data từ các Nagios plugins và lưu trữ dữ liệu trong các tệp RRD.

nagiosgraph tạo biểu đồ và tạo các trang HTML với các báo cáo đồ họa từ dữ liệu.

Cài đặt nagiosgraph

Step1: Cài đặt gói công cụ cần thiết

nagiosgraph yêu cầu công cụ xuất đồ họa rrdtool, sử dụng perl để chạy

yum install perl-CGI rrdtool-perl perl-Time-HiRes perl-GD perl-CPAN perl-Module-Build

Step2: download nagiosgraph

Bản mới nhất của nagiosgraph là nagiosgraph-1.5.2 từ 09/2014 (không thấy update bản mới)

cd /opt
wget https://sourceforge.net/projects/nagiosgraph/files/nagiosgraph/1.5.2/nagiosgraph-1.5.2.tar.gz
tar -xzvf nagiosgraph-1.5.2.tar.gz
cd nagiosgraph-1.5.2

Step3: Cài đặt nagiosgraph

Kiểm tra trạng thái trước khi cài

perl install.pl --check-prereq

  • Nếu có lỗi "FAIL" thì thực hiện cài đặt module bổ sung cho Perl

Chạy lệnh:

cpan -->enter --> ... --> enter đến khi xuất hiện CPAN>

Thực hiện cài đặt module

cpan1> install Nagios::Config

  • Nếu không có lỗi, thì thực hiện cài đặt

Thực hiện cài đặt NagiosGraph

cd /opt
cd nagiosgraph-1.5.2
./install.pl --prefix=/usr/local/nagiosgraph

Trong quá trình cài đặt, xác nhận các thông tin sau về đường dẫn

Destination directory (prefix)? [/usr/local/nagiosgraph]
Location of configuration files (etc-dir)? [/usr/local/nagiosgraph/etc]
Location of executables? [/usr/local/nagiosgraph/bin]
Location of CGI scripts? [/usr/local/nagiosgraph/cgi]
Location of documentation (doc-dir)? [/usr/local/nagiosgraph/doc]
Location of examples? [/usr/local/nagiosgraph/examples]
Location of CSS and JavaScript files? [/usr/local/nagiosgraph/share]
Location of utilities? [/usr/local/nagiosgraph/util]
Location of state files (var-dir)? [/usr/local/nagiosgraph/var]
Location of RRD files? [/usr/local/nagiosgraph/var/rrd]
Location of log files (log-dir)? [/usr/local/nagiosgraph/var/log]
Path of log file? [/usr/local/nagiosgraph/var/log/nagiosgraph.log]
Path of CGI log file? [/usr/local/nagiosgraph/var/log/nagiosgraph-cgi.log]
Base URL? [/nagiosgraph]
URL of CGI scripts? [/nagiosgraph/cgi-bin]
URL of CSS file? [/nagiosgraph/nagiosgraph.css]
URL of JavaScript file? [/nagiosgraph/nagiosgraph.js]
URL of Nagios CGI scripts? [/nagios/cgi-bin]
Path of Nagios performance data file? [/opt/perfdata.log]
username or userid of Nagios user? [nagios]
username or userid of web server user? [apache]
Modify the Nagios configuration? [n] y
Path of Nagios configuration file? /usr/local/nagios/etc/nagios.cfg
Path of Nagios commands file? /usr/local/nagios/etc/objects/commands.cfg
Modify the Apache configuration? [n] y

Note: Chúng ta có thể thực hiện thao tác cài đặt thủ công nagiosgraph

Step3: Cấu hình Web Frontend

Sửa một số tệp tin /etc/httpd/conf.d/nagiosgraph.conf trong cấu hình apache để cho phép truy cập thư mục /usr/local/nagiosgraph/share

# enable nagiosgraph CGI scripts
ScriptAlias /nagiosgraph/cgi-bin "/usr/local/nagiosgraph/cgi"
<Directory "/usr/local/nagiosgraph/cgi">
   Options ExecCGI
   AllowOverride None
   Order allow,deny
   Allow from all
   Require all granted #Day la thong tin can bo sung
</Directory>
# enable nagiosgraph CSS and JavaScript
Alias /nagiosgraph "/usr/local/nagiosgraph/share"
<Directory "/usr/local/nagiosgraph/share">
   Options None
   AllowOverride None
   Order allow,deny
   Allow from all
   Require all granted #Day la thong tin can bo sung
</Directory>

Cấu hình nagiosgraph và Nagios server

Step1: Cấu hình Nagios cho phép xử lý performance data

Sửa tệp /usr/local/nagios/etc/nagios.cfg với nội dung sau:

process_performance_data=1 ; default = 0

và thêm các nội dung sau:

# begin nagiosgraph configuration
# process nagios performance data using nagiosgraph
service_perfdata_file=/opt/perfdata.log
service_perfdata_file_template=$LASTSERVICECHECK$||$HOSTNAME$||$SERVICEDESC$||$SERVICEOUTPUT$||$SERVICEPERFDATA$
service_perfdata_file_mode=a
service_perfdata_file_processing_interval=30
service_perfdata_file_processing_command=process-service-perfdata-for-nagiosgraph
# end nagiosgraph configuration

Trong đó:

  • service_perfdata_file : chỉ định đường dẫn chứa các tệp tin chứa performance data

  • service_perfdata_file_template : Định nghĩa định dạng kiểu dữ liệu nagios macros

  • service_perfdata_file_mode=a : Tùy chọn “a” dùng chỉ định để mở rộng tệp tin (append)

  • service_perfdata_file_processing_interval : Khoảng thời gian xử lý mỗi tệp tin

  • service_perfdata_file_processing_command : Chỉ định command xử lý được gọi trong suốt khoảng thời gian trên

Step2: Định nghĩa command process-service-perfdata-for-nagiosgrap

Định nghĩa process-service-perfdata-for-nagiosgrap để cho phép xử lý performace data

Thêm nội dung sau vào tệp tin /usr/local/nagios/etc/objects/commands.cfg

# command to process nagios performance data for nagiosgraph
define command {
  command_name process-service-perfdata-for-nagiosgraph
  command_line /usr/local/nagiosgraph/bin/insert.pl
}

Step3: Định nghĩa template

Cấu hình action URL từ Nagios đến nagiosgraph chúng ta phải thêm chỉ thị

  • action_url /nagiosgraph/cgi-bin/show.cgi?host=$HOSTNAME$&service=$SERVICEDESC$

Cấu hình Popup khi rê chuột qua icon graph, thêm chỉ thị sau

  • action_url /nagiosgraph/cgi-bin/show.cgi?host=$HOSTNAME$&service=$SERVICEDESC$' onMouseOver='showGraphPopup(this)' onMouseOut='hideGraphPopup()' rel='/nagiosgraph/cgi-bin/showgraph.cgi?host=$HOSTNAME$&service=$SERVICEDESC$

Khi chúng ta cấu hình template service graphed-service với nội dung sau vào tệp /usr/local/nagios/etc/objects/templates.cfg

define service {
  name graphed-service
  action_url /nagiosgraph/cgi-bin/show.cgi?host=$HOSTNAME$&service=$SERVICEDESC$
  action_url /nagiosgraph/cgi-bin/show.cgi?host=$HOSTNAME$&service=$SERVICEDESC$' onMouseOver='showGraphPopup(this)' onMouseOut='hideGraphPopup()' rel='/nagiosgraph/cgi-bin/showgraph.cgi?host=$HOSTNAME$&service=$SERVICEDESC$
  register 0
}

Tạo tệp /usr/local/nagios/share/common-header.ssi với nội dung sau:

<script type="text/javascript" src="/nagiosgraph/nagiosgraph.js"></script>

Set quyền cho thư mục sau:

chown nagios:apache /usr/local/nagiosgraph/var/rrd
chmod 755 /usr/local/nagiosgraph/var/rrd/

Step4: Định nghĩa host để giám kết hợp với đồ họa nagiosgraph

Thêm template "graphed-service" đã định nghĩa vào host cần giám sát

Ví dụ host: linux_192.168.10.112.cfg

Thêm nội dung sau vào tệp tin /usr/local/nagios/etc/servers/linux_192.168.10.112.cfg

define service {
      use generic-service,graphed-service
      host_name Linux_192.168.10.112
      contact_groups admins
      service_description Check-Load
      check_command  check_nrpe!check_load
}

define service {
      use generic-service,graphed-service
      host_name Linux_192.168.10.112
      contact_groups admins
      service_description MEMORY
      check_command  check_nrpe!check_memory
}
define service {
      use generic-service,graphed-service
      host_name Linux_192.168.10.112
      contact_groups admins
      service_description DISK_ROOT
      check_command  check_nrpe!check_disk_root
}

define service {
      use generic-service,graphed-service
      host_name Linux_192.168.10.112
      contact_groups admins
      service_description HTTP_P80
      check_command  check_nrpe!check_service_http
}

Step5: Kiểm tra dữ liệu đồ họa

Thực hiện restart nagios, httpd

systemctl restart httpd
systemctl restart nagios

Và thực hiện truy cập giao diện web nagios kiểm tra