linux环境安装nagiosgraph将nagios的性能数据绘制成动态图表?

时间:2023-03-08 22:07:17
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--. root root Jul : nagiosgraph-1.5..tar.gz

2.解压软件,执行预安装检查

[root@testvm02 softwares]# tar zxf nagiosgraph-1.5..tar.gz
[root@testvm02 softwares]# cd nagiosgraph-1.5.
[root@testvm02 nagiosgraph-1.5.]# ./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.]# 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.]# ./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...
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.]# ./install.pl

备注:一路回车就可以了.

[root@testvm02 nagiosgraph-1.5.]# ./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...
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 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 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 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 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 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 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 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 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 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..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..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 on /usr/local/nagiosgraph/util/testentry.pl
chmod on /usr/local/nagiosgraph/util/flat2hier.pl
mkdir /usr/local/nagiosgraph/var/rrd
chmod on /usr/local/nagiosgraph/var/rrd
chown nagios,- on /usr/local/nagiosgraph/var/rrd
mkdir /usr/local/nagiosgraph/var/log
chmod on /usr/local/nagiosgraph/var/log
touching /usr/local/nagiosgraph/var/log/nagiosgraph.log
chmod 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 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=
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=
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=
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=
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.
Copyright (c) -present Nagios Core Development Team and Community Contributors
Copyright (c) - Ethan Galstad
Last Modified: --
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 services.
Checked hosts.
Checked host groups.
Checked service groups.
Checked contacts.
Checked contact groups.
Checked commands.
Checked time periods.
Checked host escalations.
Checked service escalations.
Checking for circular paths...
Checked hosts
Checked service dependencies
Checked host dependencies
Checked timeperiods
Checking global event handlers...
Checking obsessive compulsive processor commands...
Checking misc settings... Total Warnings:
Total Errors: 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

选择对应的服务就能够查看图表:

linux环境安装nagiosgraph将nagios的性能数据绘制成动态图表?

备注:这个是在特定的页面进行特定服务的查看.

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++-j
register
}

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字段后面有了一个图片的连接,点击可以连接到具体的服务产生的图

linux环境安装nagiosgraph将nagios的性能数据绘制成动态图表?

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.重新刷新页面,图标已经更换

linux环境安装nagiosgraph将nagios的性能数据绘制成动态图表?

到此,nagiosgraph已经安装完成,其他的可以在根据使用需求,查看官方文档.

文档创建时间:2018年7月31日14:55:34