xml地图|网站地图|网站标签 [设为首页] [加入收藏]

Nginx下构建nagios监控平台Nagios,在Nginx中搭建Nag

来源:http://www.ccidsi.com 作者:集成介绍 人气:183 发布时间:2019-12-05
摘要: 系统境遇:CentOS release 5.8 x86_64 本文只做Nginx下Nagiox安装的认证,其余有关Nagios监察和控制的亲力亲为安插请参见作者的另黄金年代篇小说[Ubuntu10.04下营造Nagios监察和控制平台] 后生可

 系统境遇:CentOS release 5.8 x86_64

本文只做Nginx下Nagiox安装的认证,其余有关Nagios监察和控制的亲力亲为安插请参见作者的另黄金年代篇小说[Ubuntu 10.04下营造Nagios监察和控制平台]

后生可畏:监察和控制端安装

Nagios信任PHP碰到和perl遭受。由于Nginx不帮衬Perl的CGI,这里就要求先来搭建Perl情状。

1,安装perl模块:

一、给Nginx加上对Perl的CGI支持

1)、先安装FCGI模块

让Nginx援救Perl的CGI方法有有些种,基本原理都以因而Perl的FCGI模块达成。具体哪贰个更加好,如今没时间评释。上边的点子正是里面生机勃勃种:

wget http://search.cpan.org/CPAN/authors/id/F/FL/FLORA/FCGI-0.73.tar.gz tar xvzf FCGI-0.73.tar.gz cd FCGI-0.73 perl Makefile.PL make make install 

1、安装FCGI模块

2)、安装FCGI-ProcManager模块

?

wget http://mirrors.ustc.edu.cn/CPAN/authors/id/B/BO/BOBTFISH/FCGI-ProcManager-0.24.tar.gz tar xvzf FCGI-ProcManager-0.19.tar.gz cd FCGI-ProcManager-0.19 perl Makefile.PL make make install 
1
2
3
4
5
6
7
tar xvzf FCGI-0.73.tar.gz
cd FCGI-0.73
perl Makefile.PL
make
make install
cd ..

3)、安装IO和IO::ALL模块

 

wget http://search.cpan.org/CPAN/authors/id/G/GB/GBARR/IO-1.25.tar.gz tar zxvf IO-1.25.tar.gz cd IO-1.25 perl Makefile.PL make make install wget http://mirrors.xmu.edu.cn/CPAN/authors/id/I/IN/INGY/IO-All-0.44.tar.gz tar zxvf IO-All-0.41.tar.gz cd IO-All-0.41 perl Makefile.PL make make install 

2、安装FCGI-ProcManager模块

4)、下载Perl脚本

?

以此剧本的目的正是发生三个PELacrosseL的法斯特CGI接口,让Nginx能够以CGI情势管理Perl。注:提议把那个本子放在Nginx安装目录,修正脚本权限为777

1
2
3
4
5
6
7
tar xvzf FCGI-ProcManager-0.19.tar.gz
cd FCGI-ProcManager-0.19
perl Makefile.PL
make
make install
cd ..
http://www.chlinux.net/perl-fcgi.zip unzip perl-fcgi.zip cp perl-fcgi.pl /usr/local/nginx/ chmod 755 /usr/local/nginx/perl-fcgi.pl 

 

5)、创立贰个CGI运行/甘休脚本

3、安装IO和IO::ALL模块

那一个SHELL脚本只是为着方便管理上边包车型客车Perl脚本。脚本中的nobody为nginx的运营顾客,请据自个儿的实际情状调解。

?

注意事项:不能够用root客户实践(会提醒卡塔尔国. 要用与Nginx相通身份的客商试行。否则恐怕会在Nginx Log中提醒 Permision Denied。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
tar zxvf IO-1.25.tar.gz
cd IO-1.25
perl Makefile.PL
make
make install
cd ..
  
tar zxvf IO-All-0.41.tar.gz
cd IO-All-0.41
perl Makefile.PL
make
make install
cd ..
vi /usr/local/nginx/start_perl_cgi.sh #!/bin/bash #set -x dir=/usr/local/ nginx/ stop () { #pkill  -f  $dir/perl-fcgi.pl kill $(cat $dir/logs/perl-fcgi.pid) rm $dir/logs/perl-fcgi.pid 2>/dev/null rm $dir/logs/perl-fcgi.sock 2>/dev/null echo "stop perl-fcgi done" } start () { rm $dir/now_start_perl_fcgi.sh 2>/dev/null chown nobody.nobody $dir/logs echo "$dir/perl-fcgi.pl -l $dir/logs/perl-fcgi.log -pid $dir/logs/perl-fcgi.pid -S $dir/logs/perl-fcgi.sock" >>$dir/now_start_perl_fcgi.sh chown nobody.nobody $dir/now_start_perl_fcgi.sh chmod u x $dir/now_start_perl_fcgi.sh sudo -u nobody $dir/now_start_perl_fcgi.sh echo "start perl-fcgi done" } case $1 in stop) stop ;; start) start ;; restart) stop start ;; esac 

 

修正SHELL脚本权限

4、下载Perl脚本

chmod 755 /usr/local/nginx/start_perl_cgi.sh

其黄金年代剧本的目标正是发出三个PEEvoqueL的FastCGI接口,让Nginx可以以CGI方式管理Perl。

运行脚本

?

/usr/local/nginx/start_perl_cgi.sh start

1
2
3
unzip perl-fcgi.zip
cp perl-fcgi.pl /usr/local/webserver/nginx/

正规情状下在/usr/local/nginx/logs下生成perl-fcgi.sock这些文件,若无转变,请检查下方面包车型地铁步聚。

 

2、安装Nagios和有关插件

注:提议把这几个本子放在Nginx安装目录。

1)、安装前构思

修改脚本权限

设置的机械上必需有四个WEB服务,本文是在Nginx情形上安装的。下载nagios主程序和有关插件程序包

?

wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.2.3.tar.gz wget http://prdownloads.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.15.tar.gz wget http://prdownloads.sourceforge.net/sourceforge/nagios/nrpe-2.12.tar.gz 
1
chmod 755 /usr/local/webserver/nginx/perl-fcgi.pl

安装GD库(Nagios中的statusmap和trends模块必得卡塔尔国

 

yum -y install libgd2-noxpm libgd2-noxpm-devel

5、创设三个CGI运营/截止脚本

2)、Nagios监察和控制端安装

那几个SHELL脚本只是为着方便管理上边包车型大巴Perl脚本。脚本中的www为nginx的运行客户,请据本人的实际处境调节。

1、创设Nagios客户及组

注意事项:不能用root顾客推行(会唤醒卡塔尔. 要用与Nginx相符身份的客户推行。不然也许会在Nginx Log中晋升 Permision Denied。

建立Nagios账号

?

/usr/sbin/useradd -m -s /sbin/nologin nagios

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
vi /usr/local/webserver/nginx/start_perl_cgi.sh
  
#!/bin/bash
#set -x
dir=/usr/local/webserver/nginx/
  
stop ()
{
#pkill  -f  $dir/perl-fcgi.pl
kill $(cat $dir/logs/perl-fcgi.pid)
rm $dir/logs/perl-fcgi.pid 2>/dev/null
rm $dir/logs/perl-fcgi.sock 2>/dev/null
echo "stop perl-fcgi done"
}
  
start ()
{
rm $dir/now_start_perl_fcgi.sh 2>/dev/null
  
chown www-data.www-data $dir/logs
echo "$dir/perl-fcgi.pl -l $dir/logs/perl-fcgi.log -pid $dir/logs/perl-fcgi.pid -S 
$dir/logs/perl-fcgi.sock" >>$dir/now_start_perl_fcgi.sh
  
chown www.www $dir/now_start_perl_fcgi.sh
chmod u x $dir/now_start_perl_fcgi.sh
  
sudo -u www $dir/now_start_perl_fcgi.sh
echo "start perl-fcgi done"
}
  
case $1 in
stop)
stop
;;
start)
start
;;
restart)
stop
start
;;
esac

2、创设三个名叫nagcmd的顾客组,用于从web接口实践外界命令。将Nagios客商和Nginx顾客踏入组中。

 

groupadd nagcmd

纠正SHELL脚本权限

usermod -a -G nagcmd nagios

?

usermod -a -G nagcmd www

1
chmod 755 /usr/local/webserver/nginx/start_perl_cgi.sh

注:下面的www是Nginx客户所属的组,如有分歧请自行调节。

 

3、编写翻译安装Nagios

运转脚本

tar zxvf nagios-3.2.3.tar.gz cd nagios-3.2.3 ./configure --with-command-group=nagcmd make make all make install make install-init make install-config make install-commandmode #这里是在Nginx下运行Nagios,这一步就不用做了 make install-webconf cd .. 注: make install 用于安装主要的程序、CGI及HTML文件 make install-init 用于生成init启动脚本 make install-config 用于安装示例配置文件 make install-commandmode 用于设置相应的目录权限 make install-webconf 用于安装Apache配置文件 

?

4、验证程序是或不是被正确安装

1
/usr/local/webserver/nginx/start_perl_cgi.sh start
 

切换目录到安装路径,这里是/usr/local/nagios,看是或不是留存etc、bin、 sbin、 share、 var那多个目录,假使存在则可以表明程序被科学的设置到系统了。

 

ls  /usr/local/nagios/

正规状态下在/usr/local/webserver/nginx/logs下生成perl-fcgi.sock那一个文件,若无生成,请检查下方面包车型地铁步聚。图片 1
必须确定保证perl-fcgi.pl存在,推行start_perl_cgi.sh 本事实践成功  最佳用sudo实行

bin/     etc/     sbin/    share/   var/

保险能健康使用 在rc.local中 参加 运维 php功用模块组件 还有运转peri_cgi援助模块

注;bin–Nagios实践顺序所在目录,当中的nagios文件即为主程序。

起步 php 作用模块
 sudo /usr/local/php/sbin/php-fpm
启动peri_cgi扶助模块 
 sudo /etc/nginx/start_perl_cgi.sh start

etc–Nagios配置文件地点

还索要运转 nginx 和nagios 可是这五个暗中认可是随系统同步运行的 

sbin–Nagios cgi文件所在目录,约等于实施外部命令所需文件所在的目录

 

Share–Nagios网页文件所在的目录

二、安装Nagios

var–Nagios日志文件、spid 等文件所在的目录

A、安装前筹划

var/archives–日志归档目录

设置的机械上必需有八个WEB服务,本文是在Nginx境况上安装的。

var/rw–用来存放在外界命令文件

下载nagios主程序和血脉雷同插件程序包

5、配置NGINX

?

1卡塔尔国、配置Nagios Web分界面登入帐号及密码

1
2
3

htpasswd -c /usr/local/nagios/etc/nagiospasswd test

 

意气风发旦您没有htpasswd(那个工具由Apache安装包所提供卡塔尔(قطر‎,可在线生成必要加密数据。

设置GD库(Nagios中的statusmap和trends模块必得卡塔尔(قطر‎

a)、访问

?

b卡塔尔(英语:State of Qatar)、创制加密证实文件

1
apt-get install libgd2-noxpm libgd2-noxpm-dev

vi /usr/local/nagios/etc/nagiospasswd

 

#参加生成的加密数据,冒号前是客户名,后边是加密后的密码

B、Nagios监察和控制端安装

test:25JB.R7mXY96o

1、成立Nagios顾客及组

改过Nagios配置文件,给新添的客户扩充访谈权限

建立Nagios账号

vi /usr/local/nagios/etc/cgi.cfg

?

#以下几项中分别步向新扩展的客户,多客户用逗号分隔。

1
/usr/sbin/useradd -m -s /sbin/nologin nagios
authorized_for_system_information=nagiosadmin,test authorized_for_configuration_information=nagiosadmin,test authorized_for_system_commands=nagiosadmin,test authorized_for_all_services=nagiosadmin,test authorized_for_all_hosts=nagiosadmin,test authorized_for_all_service_commands=nagiosadmin,test authorized_for_all_host_commands=nagiosadmin,test 

2、创设二个名称为nagcmd的客户组,用于从web接口施行外界命令。将Nagios客户和Nginx客户步入组中。

2卡塔尔国、改革NGINX配置,以支撑WEB格局访问Nagios

?

方法一:以

1
2
3
groupadd nagcmd
usermod -a -G nagcmd nagios
usermod -a -G nagcmd www
server   {     listen       80;     server_name  192.168.1.51;     index index.html index.htm index.php;     root  /usr/local/nagios/share;     auth_basic "Nagios Access";     auth_basic_user_file /usr/local/nagios/etc/nagiospasswd;     location ~ .*.(php|php5)?$     {           #fastcgi_pass  unix:/tmp/php-cgi.sock;       fastcgi_pass  127.0.0.1:9000;       fastcgi_index index.php;       include fcgi.conf;     }     location ~ .*.(cgi|pl)?$     {     gzip off;    root   /usr/local/nagios/sbin;     rewrite ^/nagios/cgi-bin/(.*).cgi /$1.cgi break;     fastcgi_pass  unix:/usr/local/nginx/logs/perl-fcgi.sock;     fastcgi_param SCRIPT_FILENAME /usr/local/nagios/sbin$fastcgi_script_name;     fastcgi_index index.cgi;     fastcgi_read_timeout   60;     fastcgi_param  REMOTE_USER        $remote_user;     include fcgi.conf;     auth_basic "Nagios Access";     auth_basic_user_file /usr/local/nagios/etc/nagiospasswd;     }     location /nagios     {     alias /usr/local/nagios/share;     auth_basic "Nagios Access";     auth_basic_user_file /usr/local/nagios/etc/nagiospasswd;       }      } 

 

6、编写翻译并安装Nagios插件

注:上边的www是Nginx顾客所属的组,如有区别请自行调度。

鉴于Nagios主程序只是提供多个运作框架,其切实监督是靠运行在其下的插件实现的,所以Nagios插件是必得安装的。

3、编译安装Nagios

tar zxvf nagios-plugins-1.4.15.tar.gz cd nagios-plugins-1.4.15 ./configure --with-nagios-user=nagios --with-nagios-group=nagios make make install 

?

表明Nagios插件是不是科学安装

1
2
3
4
5
6
7
8
9
10
11
12
tar zxvf nagios-3.2.3.tar.gz
cd nagios-3.2.3
./configure --with-command-group=nagcmd
make
make all
make install
make install-init
make install-config
make install-commandmode
#这里是在Nginx下运行Nagios,这一步就不用做了
make install-webconf
cd ..

ls /usr/local//nagios/libexec

 

展现安装的插件文件,即全数的插件都安装在libexec那些目录下。

注:

7、运转服务

make install 用于安装首要的次序、CGI及HTML文件
make install-init 用于生成init运营脚本
make install-config 用于安装示例配置文件
make install-commandmode 用于安装相应的目录权限
make install-webconf 用于安装Apache配置文件

开发银行前先检查下安插文件是还是不是科学

4、验证程序是还是不是被正确安装

/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

切换目录到安装路径,这里是/usr/local/nagios,看是否留存etc、bin、 sbin、 share、 var那三个目录,假若存在则可以评释程序被科学的设置到系统了。

比如未有报错,能够运营Nagios服务

?

/usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg

1
2
ls  /usr/local/nagios/
bin/     etc/     sbin/    share/   var/

翻看Nagios运营状态

 

/usr/local/nagios/bin/nagiostats

注;bin–Nagios试行顺序所在目录,此中的nagios文件即为主程序。
etc–Nagios配置文件地方
sbin–Nagios cgi文件所在目录,也便是推行外部命令所需文件所在的目录
Share–Nagios网页文件所在的目录
var–Nagios日志文件、spid 等公事所在的目录
var/archives–日志归档目录
var/rw–用来寄存在外界命令文件

8、安装NRPE

5、配置NGINX

是因为Nagios只可以监测自身所在的主机的片段本地意况,比方,cpu负载、内部存款和储蓄器使用、硬盘使用等等。如若想要监测被监督的服务器上的那些地点景况,将在选择NRPE。NRPE(Nagios Remote Plugin Executor卡塔尔国是Nagios的贰个扩展,它被用于被监督的服务器上,向Nagios监控平台提供该服务器的有个别本地的处境。NRPE能够称呼Nagios的Linux客商端。

1卡塔尔(英语:State of Qatar)、配置Nagios Web界面登入帐号及密码

鉴于NRPE是经过SSL情势在监督检查和被监督主机上進展数量传输的,所以必得先安装ssl相关的软件包。

?

编写翻译安装NRPE

1
htpasswd -c /usr/local/nagios/etc/nagiospasswd mike
tar zxvf nrpe-2.12.tar.gz cd nrpe-2.12 ./configure make all make install-plugin make install-daemon make install-daemon-config 

 

注:监察和控制主机上只供给make install-plugin这一步就足以了。监控机上只要有三个check_nrpe插件用于连接被监察和控制端nrpe的daemon就行了。

只要你未曾htpasswd(那么些工具由Apache安装包所提供卡塔尔国,可在线生成须求加密多少。 

启动NRPE

a)、访问更动供给加密数量

/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d

b卡塔尔国、创立加密求证文件

表明NRPE是不是准确安装

?

/usr/local/nagios/libexec/check_nrpe -H localhost

1
2
3
4
vi /usr/local/nagios/etc/nagiospasswd
  
#加入生成的加密数据,冒号前是用户名,后面是加密后的密码
mike:25JB.R7mXY96o

注:如若成功,会回到NRPE的版本号.

 

三、Nagios被控端安装配置

更正Nagios配置文件,给新添的客商扩大访谈权限

1、创设Nagios客商及组

?

建立Nagios账号

1
2
3
4
5
6
7
8
9
10
vi /usr/local/nagios/etc/cgi.cfg
  
#以下几项中分别加入新增的用户,多用户用逗号分隔。
authorized_for_system_information=nagiosadmin,mike
authorized_for_configuration_information=nagiosadmin,mike
authorized_for_system_commands=nagiosadmin,mike
authorized_for_all_services=nagiosadmin,mike
authorized_for_all_hosts=nagiosadmin,mike
authorized_for_all_service_commands=nagiosadmin,mike
authorized_for_all_host_commands=nagiosadmin,mike

/usr/sbin/useradd -m -s /sbin/nologin nagios

 

2、编写翻译并安装Nagios插件

2卡塔尔(قطر‎、校正NGINX配置,以支撑WEB形式访谈Nagios

tar zxvf nagios-plugins-1.4.15.tar.gz

正确:

cd nagios-plugins-1.4.15

server

./configure --with-nagios-user=nagios --with-nagios-group=nagios

  {

make

    listen       8008;

make install

#    server_name  192.168.1.108;

cd ..

    index index.html index.htm index.php;

证实程序是还是不是被精确安装:

    root  /usr/share/nginx/www;

ls /usr/local/nagios/libexec

#    auth_basic "Nagios Access";

体现安装的插件文件,即怀有的插件都安装在libexec那么些目录下。

    auth_basic_user_file /usr/local/nagios/etc/nagiospasswd;

3、安装NRPE

  location ~ .*.(php|php5)?$ {

tar zxvf nrpe-2.12.tar.gz

#root html;

cd nrpe-2.12

fastcgi_pass 127.0.0.1:9000;

./configure

fastcgi_index index.php;

make all

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

make install-plugin

include fastcgi_params;

make install-daemon

}

make install-daemon-config

 

cd ..

     location ~ .*.(cgi|pl)?$ {

4、启动NRPE

                auth_basic "Nagios Access";

/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d

                auth_basic_user_file /usr/local/nagios/etc/nagiospasswd;

表明NRPE是或不是科学安装

                gzip off;

/usr/local/nagios/libexec/check_nrpe -H localhost

                root   /usr/local/nagios/sbin;  #其一目录下必需有ndex.cgi

注:假设成功,会再次回到NRPE的版本号。

                rewrite ^/nagios/cgi-bin/(.*).cgi /$1.cgi break;

5、改进NRPE配置文件,让监督主机可以访谈被监督主机的NRPE。

                fastcgi_pass  unix:/etc/nginx/logs/perl-fcgi.sock; #只顾那文件路线要对

缺省NRPE配置文件中只同意本机访谈NRPE的Daemon

                fastcgi_param SCRIPT_FILENAME /usr/local/nagios/sbin$fastcgi_script_name;

vi /usr/local/nagios/etc/nrpe.cfg

                fastcgi_index index.cgi,index.pl;

#缺省为127.0.0.1,只可以本机访谈

                fastcgi_param  REMOTE_USER        $remote_user;

allowed_hosts=192.168.1.108

                fastcgi_param HTTP_ACCEPT_LANGUAGE en_US;

6、重启nrpe的方法

                include fastcgi_params;

killall nrpe

                fastcgi_read_timeout   60;

/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d

                include /etc/nginx/fastcgi_params; #以此目录也要注意

5、配置nagios

                }

概念主机和主机组

 

1、创立叁个host.cfg用来定义主机

 

Host.cfg文件内容如下

#    log_format  www  '$remote_addr - $remote_user [$time_local] "$request" '

define host{       use                 linux-server                     host_name           WEB1       #主机名随便取,建议取一个便于记忆的名字,主机名后面最后别有空格       alias                WEB1        #主机别名       address              192.168.1.51       #主机IP地址,我现在就暂时填写本机的IP       check_command       check-host-alive      #检查命令,此命令来自commands.cfg,用来监控主机是否存活        max_check_attempts              5      #检查失败后重试的次数        check_period                    24x7      #检查的时间段24x7,同样来自于我们之前在timeperiods.cfg中定义的        contact_groups                  sagroup      #联系人组,上面在contactgroups.cfg中定义的sagroup        notification_interval           10     #提醒的间隔,每隔10秒提醒一次        notification_period             24x7     #提醒的周期, 24x7,同样来自于我们之前在timeperiods.cfg中定义的        notification_options            d,u,r      #指定什么情况下提醒,具体含义见之前contacts.cfg部分的介绍       }  

#               '$status $body_bytes_sent "$http_referer" '

因此轻便的复制改正就能够定义多少个主机了。

#

能够建二个hostgroup.cfg文件来定义主机组文件内容如下:

#               '"$http_user_agent" $http_x_forwarded_for';

define hostgroup{      hostgroup_name     DB-servers #主机组名,可以随意      alias          DB Server      members          DB1,DB2 #成员 } 

#    access_log  /etc/nginx/logs/access_www.log  wwwlogs;

2、创立四个service.cfg文件来定义服务,service.cfg文件内容如下:

  }

define service{         use                     local-service,srv-pnp         host_name               WEB1   #主机名,这主机名必须在host.cfg文件里有定义          service_description            Current disk   #服务说明          check_command                   check_local_disk!20%!10%!/   #服务检查命令,这个命令来自command.cfg文件          max_check_attempts           5    #最多检查次数         check_period                 24x7   #服务检查周期         notification_interval            10   #通知时间间隔         normal_check_interval       1    #正常检查服务的时间间隔         retry_check_interval        1     #重新检查时间间隔         notification_period    24x7    #通知时间段         notification_options    w,u,c,r,d   #服务在什么状态下通知,d = 状态为 DOWN , u = 状态为 UNREACHABLE , r = 状态恢复为 OK , f = flapping,          contact_groups             admins    #联系人组         } 

 

概念联系人,设置联系人的公文名是contacts.cfg 系统暗许就存在,大家假诺改良就能够了文件内容如下:

 

define contact{         contact_name                    nagiosadmin    #联系人名           use                            generic-contact               alias                           Nagios Admin          #联系人别名,         email                           [email protected]          #联系人的邮件,nagios就是用这个邮件报警的,可以设置多个由逗号分开 } 

方法二:以方式访谈

nrpe的主配置文件是/usr/local/nagios/etc/nrpe.cfg,在command.cfg文件中定义nrpe的吩咐

在WEB主目录下创办叁个软链

define command{         command_name    check_nrpe         command_line    $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$         } 

?

要监督长途主机的劳务供给在被监察和控制机的nrpe主配置文件中定义。然后在督察服务器的command.cfg文件中定义命令。操作内容如下:被监察和控制机的概念

1
ln -s  /usr/local/nagios/share/  /data0/htdocs/www/nagios
command[check_load]=/usr/local/nagios/libexec/check_load -w 15,10,5 -c 30,25,20    #监控CPU的负载 command[check_disk]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/sda2    #监控硬盘第二分区的使用情况 command[check_zombie_procs]=/usr/local/nagios/libexec/check_procs -w 5 -c 10 -s Z   #监控僵尸进程 command[check_local_procs]=/usr/local/nagios/libexec/check_procs -w 150 -c 200 -P   #监控活动进程 command[check_mysql]=/usr/local/nagios/libexec/check_mysql  -H localhost  -u mysql用户名 –p mysql密码 –d 需要监控的数据库 #监控mysql数据库。主要监控mysql的开启数据,每秒的查询,慢查询,刷新的表,打开的表。注mysql的用户只要给select权限就可以 command[check_swap]=/usr/local/nagios/libexec/check_swap -w 20% -c 10%   #监控交换分区的使用情况,超过20%就报 w  超过10%就报 c command[check_nginx]=/usr/local/nagios/libexec/check_nginx.sh --url www.chlinux.net/index.php   #监控nginx的状态。可以监控403.502等等 command[check_traffic]=/usr/local/nagios/libexec/check_traffic.sh -V 2c -C public -H 127.0.0.1 -I 2 -w 300,300 -c 500,600 -K –B   #监控网卡流量 

 

被监控机配置好后须要重启nrpe

NGINX配置片断如下

nrpe重启方法

?

killall  -9  nrpe

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
server
  {
    listen       80;
    server_name  192.168.1.108;
    index index.html index.htm index.php;
    root  /data0/htdocs/www;
    auth_basic "Nagios Access";
    auth_basic_user_file /usr/local/nagios/etc/nagiospasswd;
    location ~ .*.(php|php5)?$
    {     
      #fastcgi_pass  unix:/tmp/php-cgi.sock;
      fastcgi_pass  127.0.0.1:9000;
      fastcgi_index index.php;
      include fcgi.conf;
    }
  
    location ~ .*.(cgi|pl)?$
    {
    gzip off;
    root   /usr/local/nagios/sbin;
    rewrite ^/nagios/cgi-bin/(.*).cgi /$1.cgi break;
    fastcgi_pass  unix:/usr/local/webserver/nginx/logs/perl-fcgi.sock;
    fastcgi_param SCRIPT_FILENAME /usr/local/nagios/sbin$fastcgi_script_name;
    fastcgi_index index.cgi;
    fastcgi_read_timeout   60;
    fastcgi_param  REMOTE_USER        $remote_user;
    include fcgi.conf;
    auth_basic "Nagios Access";
    auth_basic_user_file /usr/local/nagios/etc/nagiospasswd;
    }
  
    log_format  wwwlogs  '$remote_addr - $remote_user [$time_local] "$request" '
               '$status $body_bytes_sent "$http_referer" '
               '"$http_user_agent" $http_x_forwarded_for';
    access_log  /data1/logs/access_www.log  wwwlogs;
  }

/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg –d

 

[[email protected] ~]# /usr/local/nagios/libexec/check_nrpe -H localhost

注:借使您的fastcgi的布置文件中从未计划REMOTE_USE途锐参数,一定要在nginx.conf中增加下边那一个fastcgi的参数定义。

NRPE v2.12   检查是还是不是有类似的输出,借使有就是运转成功,未有就反省铺排是不是准确

?

监察和控制机的安插

1
fastcgi_param  REMOTE_USER        $remote_user;

在service.cfg文件配置如下:

 

define service{         use                             local-service,srv-pnp               host_name                       WEB1         service_description             Root Partition         check_command                   check_nrpe!check_disk         check_period            24x7         max_check_attempts      4         normal_check_interval   1         retry_check_interval    1         contact_groups          admins         notification_interval   10         notification_period     24x7         notification_options    w,u,c,r         } 

若果未有这么些fastcgi的参数定义,Nagios就不可能科学验证你的登录音信。网络海高校部分篇章解决Nginx下Nagios登录验证失利的法子都以在Nagios的cgi.cfg配置文件(nagios/etc/cgi.cfg卡塔尔(قطر‎中关掉验证(use_authentication=0卡塔尔国或设置二个缺省的登录客商(default_user_name=test卡塔尔国,那二种方法都以不安全的。

服务端配置完后供给重启nagios服务

6、编写翻译并设置Nagios插件

三、安装pnp

鉴于Nagios主程序只是提供贰个运维框架,其切实监督是靠运转在其下的插件实现的,所以Nagios插件是必需设置的。

Pnp是叁个制图工具,须求信任rrdtool软件包

?

wget http://pkgs.fedoraproject.org/repo/pkgs/pnp4nagios/pnp-0.4.13.tar.gz/20a96f81edba29dcd21215bde4af8b57/pnp-0.4.13.tar.gz tar zxvf  pnp-0.4.13.tar.gz cd pnp-0.4.13 ./configure --with-nagios-user=nagios --with-nagios-group=nagios --with-perfdata-dir=/usr/local/nagios/share/perfdata --with-rrdtool make all make install   make install-config make install-init   cd /usr/local/nagios/etc/pnp cp npcd.cfg-sample npcd.cfg cp rra.cfg-sample rra.cfg cp process_perfdata.cfg-sample process_perfdata.cfg chown nagios.nagios /usr/local/nagios/etc/pnp/ -R 
1
2
3
4
5
tar zxvf nagios-plugins-1.4.15.tar.gz
cd nagios-plugins-1.4.15
./configure --with-nagios-user=nagios --with-nagios-group=nagios
make
make install
 

改进nagios的主配置文件 /usr/local/nagios/etc/nagios.cfg

 

#开发注释项:

表达Nagios插件是不是科学安装

host_perfdata_command=process-host-perfdata service_perfdata_command=process-service-perfdata process_performance_data=1 

?

5.修改 commands.cfg

1
ls /usr/local/nagios/libexec
cd /usr/local/nagios/etc/objects vim commands.cfg ##添加 # 'process-host-perfdata' command definition define command{         command_name    process-host-perfdata         command_line    /usr/local/nagios/libexec/process_perfdata.pl         } define command{         command_name    process-service-perfdata         command_line    /usr/local/nagios/libexec/process_perfdata.pl         } 

 

  1. 增加小太阳模版,镶嵌在nagios页面上。

    define host { name       host-pnp action_url /pnp/index.php?host=$HOSTNAME$ register   0 } define service { name       srv-pnp action_url /pnp/index.php?host=$HOSTNAME$&srv=$SERVICEDESC$ register   0 } 7,修改 hosts.cfg 和 services.cfg cd /usr/local/nagios/etc/eric.com #修改hosts.cfg vim hosts.cfg define host{         use                     linux-server,host-pnp          host_name         eric.com         alias                     eric.com         address                 192.168.6.101         }   # 修改 services.cfg define service{         use                                     local-service,srv-pnp              host_name                       eric.com         service_description        PING         check_command            check_ping!100.0,20%!500.0,60% } 8.重启 nagios 服务 /etc/init.d/nagios restart 

呈现安装的插件文件,即怀有的插件都设置在libexec那几个目录下。

本文出自 “平凡的小日子” 博客,请必需保留此出处

7、运行服务

release 5.8x86_64 生龙活虎:监察和控制端安装 1,安装perl模块: 1)、先安装FCGI模块 wget...

运转前先检查下布署文件是还是不是科学

?

1
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

 

若无报错,能够运行Nagios服务

?

1
/usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg

 

查看Nagios运转境况

?

1
/usr/local/nagios/bin/nagiostats

 

8、安装NRPE

是因为Nagios只好监测自身所在的主机的片段本地情况,比如,cpu负载、内部存款和储蓄器使用、硬盘使用等等。倘诺想要监测被监督的服务器上的这一个本地景况,将要选拔NRPE。NRPE(Nagios Remote Plugin Executor卡塔尔国是Nagios的三个恢弘,它被用于被监督的服务器上,向Nagios监察和控制平台提供该服务器的有些本地的事态。NRPE能够称为Nagios的Linux客商端。

是因为NRPE是因此SSL方式在监察和控制和被监督主机上开展多少传输的,所以必需先安装ssl相关的软件包。

?

本文由68399皇家赌场发布于集成介绍,转载请注明出处:Nginx下构建nagios监控平台Nagios,在Nginx中搭建Nag

关键词: 68399皇家赌场 Linux

最火资讯