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

posted @ 2018-07-31 14:58  Zhai_David  阅读(970)  评论(1编辑  收藏  举报