• 云途科技成立于2010年 - 专注全球跨境电商服务器租赁托管!
  • 帮助中心

    您可以通过下方搜索框快速查找您想知道的问题

    nagios pnp4nagios yum 安装 配置

      in  unix      Tags: 

    nagios功能很多,最主要是有报警功能,但是nagios也有一个缺点,就是自身没有图形化工具,要另外去装pnp4nagios,网上大部分都是结合apache的,下面说一下pnp4nagios配合Nginx的配置

    一,安装pnp4nagios

    [root@localhost objects]# yum install pnp4nagios rrdtool

    如果找不到包换epel源,博客里面有搜一下。关于nagios的安装,请参考:nagios 安装配置 详解

    二,配置nagios

    1,修改nagios.cfg

    [root@localhost objects]# vim /etc/nagios/nagios.cfg    //修改以下内容
    process_performance_data=1                             //由0改为1
    host_perfdata_command=process-host-perfdata            //前面的注释拿掉
    service_perfdata_command=process-service-perfdata      //注释拿掉
    enable_environment_macros=1                            //如果有注释拿掉

    2,修改commands.cfg

    注释掉原有对process-host-perfdata和process-service-perfdata,重新定义

    [root@localhost objects]# vim /etc/nagios/objects/commands.cfg
    
    define command {
           command_name    process-service-perfdata
           command_line    /usr/bin/perl /usr/libexec/pnp4nagios/process_perfdata.pl
    }
    
    define command {
           command_name    process-host-perfdata
           command_line    /usr/bin/perl /usr/libexec/pnp4nagios/process_perfdata.pl -d HOSTPERFDATA
    }

    4、修改配置文件templates.cfg

    添加以下内容

    [root@localhost objects]# vim /etc/nagios/objects/templates.cfg 
    
    define host {
            name       hosts-pnp
            register   0
            action_url /pnp4nagios/index.php/graph?host=$HOSTNAME$&srv=_HOST_
            process_perf_data               1
    }
    define service {
            name       srv-pnp
            register   0
            action_url /pnp4nagios/index.php/graph?host=$HOSTNAME$&srv=$SERVICEDESC$
            process_perf_data               1
    }

    5,修改服务器配置文件localhost.cfg

    [root@localhost objects]# vim /etc/nagios/objects/localhost.cfg
    
    define host{
            use                     linux-server,hosts-pnp
            host_name               localhost
            alias                   localhost
            address                 127.0.0.1
            }
    
    define service{
            use                             local-service,srv-pnp
            host_name                       localhost
            service_description             PING
            check_command                   check_ping!100.0,20%!500.0,60%
            }

    上面只是例举了一个,你可以都加一下。

    三,pnp4nagios配置

    在网上好多关于pnp4nagios的文章,都是要把mv misccommands.cfg-sample misccommands.cfg 生成配置文件,我是yum安装的,安装目录下根本没有sample这样的东西

    [root@localhost objects]# tree /etc/pnp4nagios/
    /etc/pnp4nagios/
    ├── background.pdf
    ├── check_commands
    │   ├── check_all_local_disks.cfg
    │   ├── check_nrpe.cfg
    │   └── check_nwstat.cfg
    ├── config.php
    ├── misccommands.cfg
    ├── nagios.cfg
    ├── npcd.cfg
    ├── pages
    │   └── web_traffic.cfg
    ├── pnp4nagios_release
    ├── process_perfdata.cfg
    └── rra.cfg

    所在我根本没有配置任何东西。

    四,重启nagios,启动npcd

    [root@localhost pnp4nagios]# /etc/init.d/npcd start
    [root@localhost pnp4nagios]# /etc/init.d/nagios restart

    五,Nginx配置

    配置Nginx的时候,配置挺头痛的,nagios的根目录是有php的,pnp4nagios是放在nagios的根目录下面,pnp4nagios也是php的,配置不好容易错乱的。

    server
    {
        listen       80;
        server_name  nagios.xxxx.com;
        index  index.php;
        root   /usr/share/nagios/html;
    
        location ~ .*\.(php|php5)?$ {        //nagios根目录的php
            fastcgi_pass  127.0.0.1:9000;
            fastcgi_index index.php;
            include fastcgi.conf;
        }
    
        location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {   //nagios的图片重写
            rewrite ^/nagios/images/(.*) /images/$1 break;
            rewrite ^/pnp4nagios/index.php/(.*) /pnp4nagios/$1 break;
            expires     30d;
        }
    
        location ~ .*\.(js|css)?$ {       //nagios的js,css重写
            rewrite ^/nagios/stylesheets/(.*) /stylesheets/$1 break;
            rewrite ^/nagios/js/(.*) /js/$1 break;
            rewrite ^/pnp4nagios/index.php/(.*) /pnp4nagios/$1 break;
            expires     1h;
        }
    
        location ~ .*\.cgi$ {             //nagios的主程序是perl的,perl的cgi重写
            root /usr/lib64/nagios/cgi-bin;
            rewrite ^/nagios/cgi-bin/(.*)\.cgi /$1.cgi break;
            fastcgi_pass   127.0.0.1:9001;
            fastcgi_index index.cgi;
            include fastcgi.conf;
        }
        location ~ ^(/pnp4nagios.*\.php)(.*)$ {       //pnp4nagios的php重写
            rewrite ^/pnp4nagios/index.php/index.php/(.*)$ /pnp4nagios/index.php/$1; break;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index index.php;
            include fastcgi.conf;
        }
    
    }

    在这里有一个问题就是http://nagios.xxxx.com/pnp4nagios/index.php/index.php/graph?host=localhost&srv=PING在这里有二个index.php,这个是php的程序加上去的,我并没有改。同一个页面有二种链接。

    由nagios的监控页面,跳转到pnp4nagios监控页面的连接是

    http://nagios.xxxx.com/pnp4nagios/index.php/graph?host=localhost&srv=PING

    点php4nagios监控页面中的连接然后就会多加一个index.php,

    http://nagios.xxxx.com/pnp4nagios/index.php/index.php/graph?host=localhost&srv=PING

    这也是上面我为什么要加这一句rewrite ^/pnp4nagios/index.php/index.php/(.*)$ /pnp4nagios/index.php/$1; break;的原因

    看一下效果图

    nagios 监控页面看到pnp4nagios图标,折线小图

    nagios 监控页面看到pnp4nagios图标,折线小图

    点击上图中的折线小图,进入下图

    pnp4nagios 管理页面

    pnp4nagios 管理页面



    • 外贸虚拟主机

      1GB硬盘

      2个独立站点

      1000M带宽

      不限制流量

      美国外贸专用虚拟主机,cPanel面板,每天远程备份.
      服务器配置:2*E5 32核,96GB 内存,4*2TB 硬盘 RAID10 阵列.

      ¥180/年

    • 美国/荷兰外贸VPS

      2核CPU

      1G内存

      30硬盘

      10M带宽

      美国/荷兰外贸云服务器,专注外贸服务器行业12年.
      服务器配置:2*E5 32核,96GB 内存,4*2TB 硬盘 RAID10 阵列.

      ¥99/月

    • 全球外贸服务器

      8核CPU

      32G内存

      1TB硬盘

      1000M带宽

      已部署数据中心:美国洛杉矶/亚特兰大、荷兰、加拿大、英国伦敦、德国、拉脱维亚、瑞典、爱沙尼亚
      自有机柜(全球九大数据中心),稳定在线率:99.9%

      ¥999/月 原价1380

    7*24小时 在线提交工单

    如果您的问题没有得到解决,推荐您在线提交工单,我们的客服人员会第一时间为您解决问题

    展开