linux环境安装nagiosgraph将nagios的性能数据绘制成动态图表?
需求描述:
在安装完成nagios之后,比如有监控磁盘负载信息的,连接数的,进程数的,可以通过安装nagiosgraph软件,
将nagios的性能数据绘制成图表,可以看到一段时间内数据的变化
环境说明:
操作系统版本:RedHat_6.6_x64
安装过程:
1.下载,上传nagiosgraph软件
下载地址: https://sourceforge.net/projects/nagiosgraph/files/
软件版本:nagiosgraph-1.5.2.tar.gz
[root@testvm02 ~]# cd /opt/softwares/;ls -l nagiosgrap* -rw-r--r--. 1 root root 329978 Jul 31 14:12 nagiosgraph-1.5.2.tar.gz
2.解压软件,执行预安装检查
[root@testvm02 softwares]# tar zxf nagiosgraph-1.5.2.tar.gz [root@testvm02 softwares]# cd nagiosgraph-1.5.2 [root@testvm02 nagiosgraph-1.5.2]# ./install.pl --check-prereq checking required PERL modules Carp...1.11 CGI... ***FAIL*** #针对这个报错,安装perl-CGI Data::Dumper...2.124 Digest::MD5...2.39 File::Basename...2.77 File::Find...1.14 MIME::Base64...3.08 POSIX...1.17 RRDs... ***FAIL*** #针对这个错误安装rrdtool,并且rrdtool,安装rrdtool-perl Time::HiRes... ***FAIL*** #针对这个报错,安装perl-Time-HiRes checking optional PERL modules GD... ***FAIL*** #针对这个错误安装perl-GD Nagios::Config... ***FAIL*** #针对这个错误安装perl-Nagios-Object checking nagios installation found nagios exectuable at /usr/local/nagios/bin/nagios found nagios init script at /etc/init.d/nagios checking web server installation found apache executable at /usr/sbin/httpd found apache init script at /etc/init.d/httpd *** one or more problems were detected!
3.安装需要的软件包
[root@testvm02 nagiosgraph-1.5.2]# yum install perl-CGI
[root@testvm02 nagiosgraph-1.5.2]# yum install perl-Time-HiRes
[root@testvm02 softwares]# yum install rrdtool
[root@testvm02 softwares]# rpm -Uvh rrdtool-1.3.8-10.el6.x86_64.rpm #这个软件需要手动下载
warning: rrdtool-1.3.8-10.el6.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY
Preparing... ########################################### [100%]
1:rrdtool ########################################### [100%]
[root@testvm02 softwares]# rpm -Uvh rrdtool-perl-1.3.8-10.el6.x86_64.rpm #这个软件需要手动下载
warning: rrdtool-perl-1.3.8-10.el6.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY
Preparing... ########################################### [100%]
1:rrdtool-perl ########################################### [100%]
[root@testvm02 softwares]# rpm -ivh perl-Nagios-Object-0.21.12-1.el6.rf.noarch.rpm #这个软件需要手动下载
warning: perl-Nagios-Object-0.21.12-1.el6.rf.noarch.rpm: Header V3 DSA/SHA1 Signature, key ID 6b8d79e6: NOKEY
Preparing... ########################################### [100%]
1:perl-Nagios-Object ########################################### [100%]
perl模块下载地址:http://rpmfind.net/linux/RPM/index.html (可以下载上面提到的软件)
当出现以下的配置检查结果,表示可以进行安装
[root@testvm02 nagiosgraph-1.5.2]# ./install.pl --check-prereq checking required PERL modules Carp...1.11 CGI...3.51 Data::Dumper...2.124 Digest::MD5...2.39 File::Basename...2.77 File::Find...1.14 MIME::Base64...3.08 POSIX...1.17 RRDs...1.3008 Time::HiRes...1.9721 checking optional PERL modules GD...2.44 Nagios::Config...36 checking nagios installation found nagios exectuable at /usr/local/nagios/bin/nagios found nagios init script at /etc/init.d/nagios checking web server installation found apache executable at /usr/sbin/httpd found apache init script at /etc/init.d/httpd
4.安装nagiosgraph软件
[root@testvm02 nagiosgraph-1.5.2]# ./install.pl
备注:一路回车就可以了.
[root@testvm02 nagiosgraph-1.5.2]# ./install.pl checking required PERL modules Carp...1.11 CGI...3.51 Data::Dumper...2.124 Digest::MD5...2.39 File::Basename...2.77 File::Find...1.14 MIME::Base64...3.08 POSIX...1.17 RRDs...1.3008 Time::HiRes...1.9721 checking optional PERL modules GD...2.44 Nagios::Config...36 checking nagios installation found nagios exectuable at /usr/local/nagios/bin/nagios found nagios init script at /etc/init.d/nagios checking web server installation found apache executable at /usr/sbin/httpd found apache init script at /etc/init.d/httpd 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? [/tmp/perfdata.log] username or userid of Nagios user? [nagios] username or userid of web server user? [apache] Modify the Nagios configuration? [n] Modify the Apache configuration? [n] configuration: ng_prefix /usr/local/nagiosgraph ng_etc_dir /usr/local/nagiosgraph/etc ng_bin_dir /usr/local/nagiosgraph/bin ng_cgi_dir /usr/local/nagiosgraph/cgi ng_doc_dir /usr/local/nagiosgraph/doc ng_examples_dir /usr/local/nagiosgraph/examples ng_www_dir /usr/local/nagiosgraph/share ng_util_dir /usr/local/nagiosgraph/util ng_var_dir /usr/local/nagiosgraph/var ng_rrd_dir /usr/local/nagiosgraph/var/rrd ng_log_dir /usr/local/nagiosgraph/var/log ng_log_file /usr/local/nagiosgraph/var/log/nagiosgraph.log ng_cgilog_file /usr/local/nagiosgraph/var/log/nagiosgraph-cgi.log ng_url /nagiosgraph ng_cgi_url /nagiosgraph/cgi-bin ng_css_url /nagiosgraph/nagiosgraph.css ng_js_url /nagiosgraph/nagiosgraph.js nagios_cgi_url /nagios/cgi-bin nagios_perfdata_file /tmp/perfdata.log nagios_user nagios www_user apache modify_nagios_config n nagios_config_file nagios_commands_file modify_apache_config n apache_config_dir apache_config_file Continue with this configuration? [y] mkdir /usr/local/nagiosgraph mkdir /usr/local/nagiosgraph/etc copy etc/access.conf to /usr/local/nagiosgraph/etc/access.conf copy etc/hostdb.conf to /usr/local/nagiosgraph/etc/hostdb.conf copy etc/servdb.conf to /usr/local/nagiosgraph/etc/servdb.conf copy etc/nagiosgraph.conf to /usr/local/nagiosgraph/etc/nagiosgraph.conf copy etc/nagiosgraph_es.conf to /usr/local/nagiosgraph/etc/nagiosgraph_es.conf copy etc/nagiosgraph_de.conf to /usr/local/nagiosgraph/etc/nagiosgraph_de.conf copy etc/datasetdb.conf to /usr/local/nagiosgraph/etc/datasetdb.conf copy etc/rrdopts.conf to /usr/local/nagiosgraph/etc/rrdopts.conf copy etc/nagiosgraph_fr.conf to /usr/local/nagiosgraph/etc/nagiosgraph_fr.conf copy etc/labels.conf to /usr/local/nagiosgraph/etc/labels.conf copy etc/groupdb.conf to /usr/local/nagiosgraph/etc/groupdb.conf copy etc/map to /usr/local/nagiosgraph/etc/map copy etc/ngshared.pm to /usr/local/nagiosgraph/etc replace text in /usr/local/nagiosgraph/etc/nagiosgraph.conf move /usr/local/nagiosgraph/etc/nagiosgraph.conf-bak to /usr/local/nagiosgraph/etc/nagiosgraph.conf replace text in /usr/local/nagiosgraph/etc/nagiosgraph.conf move /usr/local/nagiosgraph/etc/nagiosgraph.conf-bak to /usr/local/nagiosgraph/etc/nagiosgraph.conf write stub to /usr/local/nagiosgraph/etc/nagiosgraph-nagios.cfg write stub to /usr/local/nagiosgraph/etc/nagiosgraph-commands.cfg write stub to /usr/local/nagiosgraph/etc/nagiosgraph-apache.conf mkdir /usr/local/nagiosgraph/cgi copy cgi/testcolor.cgi to /usr/local/nagiosgraph/cgi replace text in /usr/local/nagiosgraph/cgi/testcolor.cgi move /usr/local/nagiosgraph/cgi/testcolor.cgi-bak to /usr/local/nagiosgraph/cgi/testcolor.cgi chmod 755 on /usr/local/nagiosgraph/cgi/testcolor.cgi copy cgi/showservice.cgi to /usr/local/nagiosgraph/cgi replace text in /usr/local/nagiosgraph/cgi/showservice.cgi move /usr/local/nagiosgraph/cgi/showservice.cgi-bak to /usr/local/nagiosgraph/cgi/showservice.cgi chmod 755 on /usr/local/nagiosgraph/cgi/showservice.cgi copy cgi/show.cgi to /usr/local/nagiosgraph/cgi replace text in /usr/local/nagiosgraph/cgi/show.cgi move /usr/local/nagiosgraph/cgi/show.cgi-bak to /usr/local/nagiosgraph/cgi/show.cgi chmod 755 on /usr/local/nagiosgraph/cgi/show.cgi copy cgi/showgroup.cgi to /usr/local/nagiosgraph/cgi replace text in /usr/local/nagiosgraph/cgi/showgroup.cgi move /usr/local/nagiosgraph/cgi/showgroup.cgi-bak to /usr/local/nagiosgraph/cgi/showgroup.cgi chmod 755 on /usr/local/nagiosgraph/cgi/showgroup.cgi copy cgi/showconfig.cgi to /usr/local/nagiosgraph/cgi replace text in /usr/local/nagiosgraph/cgi/showconfig.cgi move /usr/local/nagiosgraph/cgi/showconfig.cgi-bak to /usr/local/nagiosgraph/cgi/showconfig.cgi chmod 755 on /usr/local/nagiosgraph/cgi/showconfig.cgi copy cgi/export.cgi to /usr/local/nagiosgraph/cgi replace text in /usr/local/nagiosgraph/cgi/export.cgi move /usr/local/nagiosgraph/cgi/export.cgi-bak to /usr/local/nagiosgraph/cgi/export.cgi chmod 755 on /usr/local/nagiosgraph/cgi/export.cgi copy cgi/showgraph.cgi to /usr/local/nagiosgraph/cgi replace text in /usr/local/nagiosgraph/cgi/showgraph.cgi move /usr/local/nagiosgraph/cgi/showgraph.cgi-bak to /usr/local/nagiosgraph/cgi/showgraph.cgi chmod 755 on /usr/local/nagiosgraph/cgi/showgraph.cgi copy cgi/showhost.cgi to /usr/local/nagiosgraph/cgi replace text in /usr/local/nagiosgraph/cgi/showhost.cgi move /usr/local/nagiosgraph/cgi/showhost.cgi-bak to /usr/local/nagiosgraph/cgi/showhost.cgi chmod 755 on /usr/local/nagiosgraph/cgi/showhost.cgi mkdir /usr/local/nagiosgraph/bin copy lib/insert.pl to /usr/local/nagiosgraph/bin replace text in /usr/local/nagiosgraph/bin/insert.pl move /usr/local/nagiosgraph/bin/insert.pl-bak to /usr/local/nagiosgraph/bin/insert.pl chmod 755 on /usr/local/nagiosgraph/bin/insert.pl mkdir /usr/local/nagiosgraph/share copy share/nagiosgraph.css to /usr/local/nagiosgraph/share/nagiosgraph.css copy share/nagiosgraph.js to /usr/local/nagiosgraph/share mkdir /usr/local/nagiosgraph/doc copy AUTHORS to /usr/local/nagiosgraph/doc copy CHANGELOG to /usr/local/nagiosgraph/doc copy INSTALL to /usr/local/nagiosgraph/doc copy README to /usr/local/nagiosgraph/doc copy TODO to /usr/local/nagiosgraph/doc mkdir /usr/local/nagiosgraph/examples copy examples/nagiosgraph-logrotate to /usr/local/nagiosgraph/examples copy examples/nagiosgraph-apache.conf to /usr/local/nagiosgraph/examples copy examples/map_mwall to /usr/local/nagiosgraph/examples copy examples/map_1_4_4 to /usr/local/nagiosgraph/examples copy examples/graphed-host.cfg to /usr/local/nagiosgraph/examples copy examples/map_1_4_3 to /usr/local/nagiosgraph/examples copy examples/nagiosgraph-nagios.cfg to /usr/local/nagiosgraph/examples copy examples/nagiosgraph.1.css to /usr/local/nagiosgraph/examples copy examples/nagiosgraph-commands.cfg to /usr/local/nagiosgraph/examples copy examples/map_minimal to /usr/local/nagiosgraph/examples copy examples/nagiosgraph.2.css to /usr/local/nagiosgraph/examples copy examples/insert.sh to /usr/local/nagiosgraph/examples copy examples/map_1_3 to /usr/local/nagiosgraph/examples copy examples/graphed-service.cfg to /usr/local/nagiosgraph/examples copy examples/map_examples to /usr/local/nagiosgraph/examples copy examples/map_1_4_5 to /usr/local/nagiosgraph/examples copy share/graph.gif to /usr/local/nagiosgraph/examples copy share/nagiosgraph.ssi to /usr/local/nagiosgraph/examples mkdir /usr/local/nagiosgraph/util copy utils/testentry.pl to /usr/local/nagiosgraph/util copy utils/flat2hier.pl to /usr/local/nagiosgraph/util chmod 755 on /usr/local/nagiosgraph/util/testentry.pl chmod 755 on /usr/local/nagiosgraph/util/flat2hier.pl mkdir /usr/local/nagiosgraph/var/rrd chmod 755 on /usr/local/nagiosgraph/var/rrd chown nagios,- on /usr/local/nagiosgraph/var/rrd mkdir /usr/local/nagiosgraph/var/log chmod 755 on /usr/local/nagiosgraph/var/log touching /usr/local/nagiosgraph/var/log/nagiosgraph.log chmod 644 on /usr/local/nagiosgraph/var/log/nagiosgraph.log chown nagios,- on /usr/local/nagiosgraph/var/log/nagiosgraph.log touching /usr/local/nagiosgraph/var/log/nagiosgraph-cgi.log chmod 644 on /usr/local/nagiosgraph/var/log/nagiosgraph-cgi.log chown apache,- on /usr/local/nagiosgraph/var/log/nagiosgraph-cgi.log To complete the installation, do the following: * In the nagios configuration file (nagios.cfg), add these lines: # process nagios performance data using nagiosgraph process_performance_data=1 service_perfdata_file=/tmp/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 * In the nagios commands file (command.cfg), add these lines: # 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 } * In the apache configuration file (httpd.conf), add this line: include /usr/local/nagiosgraph/etc/nagiosgraph-apache.conf * Check the nagios configuration: /usr/local/nagios/bin/nagios -v /path/to/nagios.cfg * Restart nagios to start data collection: /etc/init.d/nagios restart * Restart apache to enable display of graphs: /etc/init.d/httpd restart * To enable graph links and mouseovers, see README sections: Displaying Per-Service and Per-Host Graph Icons and Links Displaying Graphs in Nagios Mouseovers
5.配置nagiosgraph
5.1 在nagios.cfg中增加以下配置(nagios.cfg文件默认位置:/usr/local/nagios/etc)
# process nagios performance data using nagiosgraph process_performance_data=1 service_perfdata_file=/tmp/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
5.2 在nagios的命令文件commands.cfg(默认位置:/usr/local/nagios/etc/objects)中加入以下内容
# 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 }
5.3 在apache的配置文件httpd.conf(文件位置:/etc/httpd/conf)加入以下内容
/usr/local/nagios/bin/nagios -v /path/to/nagios.cfg
5.4 检查nagios配置,如果没有问题,就表示增加的配置是正确,如果配置错误,会有提示
[root@testvm02 conf]# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg Nagios Core 4.4.1 Copyright (c) 2009-present Nagios Core Development Team and Community Contributors Copyright (c) 1999-2009 Ethan Galstad Last Modified: 2018-06-25 License: GPL Website: https://www.nagios.org Reading configuration data... Read main config file okay... Read object config files okay... Running pre-flight check on configuration data... Checking objects... Checked 8 services. Checked 1 hosts. Checked 1 host groups. Checked 0 service groups. Checked 1 contacts. Checked 1 contact groups. Checked 25 commands. Checked 5 time periods. Checked 0 host escalations. Checked 0 service escalations. Checking for circular paths... Checked 1 hosts Checked 0 service dependencies Checked 0 host dependencies Checked 5 timeperiods Checking global event handlers... Checking obsessive compulsive processor commands... Checking misc settings... Total Warnings: 0 Total Errors: 0 Things look okay - No serious problems were detected during the pre-flight check
5.5 重启nagios,启动收集数据,重启httpd来显示图表
[root@testvm02 conf]# service nagios restart Running configuration check... Stopping nagios: done. Starting nagios: Running configuration check... done. [root@testvm02 conf]# service httpd restart Stopping httpd: [ OK ] Starting httpd: httpd: apr_sockaddr_info_get() failed for testvm02 httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName [ OK ]
6.通过以下命令,查看nagiosgraph已经运行
http://192.168.53.25/nagiosgraph/cgi-bin/showconfig.cgi
7.针对某些数据,可以看图
http://192.168.53.25/nagiosgraph/cgi-bin/show.cgi
选择对应的服务就能够查看图表:
备注:这个是在特定的页面进行特定服务的查看.
8.在nagios的template.cfg文件中增加nagiosgraph的实例信息
define service { name graphed-service 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$&period=week&rrdopts=-w+450+-j register 0 }
9.针对具体的服务加上图表连接,将前面定义的graphed-service加入到具体的service定义中(以本地服务为例,localhost.cfg文件)
vi localhost.cfg
define service {
use local-service,graphed-service ; Name of service template to use #在每一个的service的后面都加上graphed-service
host_name localhost
service_description PING
check_command check_ping!100.0,20%!500.0,60%
}
10.重启nagios加载新的配置文件
service nagios restart
11.查看nagios页面的显示,在Service字段后面有了一个图片的连接,点击可以连接到具体的服务产生的图
12.可以更换这个图片
mv /usr/local/nagios/share/images/action.gif /usr/local/nagios/share/images/action.gif-orig [root@testvm02 objects]# cd /opt/softwares/nagiosgraph-1.5.2
[root@testvm02 nagiosgraph-1.5.2]# cp share/graph.gif /usr/local/nagios/share/images/action.gif
13.重新刷新页面,图标已经更换
到此,nagiosgraph已经安装完成,其他的可以在根据使用需求,查看官方文档.
文档创建时间:2018年7月31日14:55:34