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.
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)
- Download nagios graphic at: https://sourceforge.net/projects/nagiosgraph/files/nagiosgraph
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>
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