• 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

  • 相关阅读:
    事件基础 (事件对象 阻止事件冒泡)
    document
    linux 下使用shell命令iostat监控iowait是否超负载
    使用shell来监控linux的io
    linux下使用awk命令按时间段筛选日志
    gulp 压缩js
    cf776D Mahmoud and a Dictionary
    P1313 计算系数
    __builtin_popcount() 函数
    HDU 6386 Age of Moyu
  • 原文地址:https://www.cnblogs.com/chuanzhang053/p/9395884.html
Copyright © 2020-2023  润新知