马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
小知识:Linux发展和成长过程始终依赖着五个重要支柱:UNIX操作系统、MINIX操作系统、GNU计划、POSIX标准和Internet网络。
情况先容:
体系:centos6.3miniX64
IP:172.16.1.200
集成情况:Lnmp
―――――――――――――――――――――――――――――-
装置入手下手:
1、装置FCGI模块
#yuminstall-yperl-devel
#wgethttp://search.cpan.org/CPAN/authors/id/F/FL/FLORA/FCGI-0.73.tar.gz
#tarxvzfFCGI-0.73.tar.gz
#cdFCGI-0.73
#perlMakefile.PL
#make
#makeinstall
2、装置FCGI-ProcManager模块
#wgethttp://mirrors.ustc.edu.cn/CPAN/authors/id/B/BO/BOBTFISH/FCGI-ProcManager-0.24.tar.gz
#tarxvzfFCGI-ProcManager-0.19.tar.gz
#cdFCGI-ProcManager-0.19
#perlMakefile.PL
#make&&makeinstall
3、装置IO和IO::ALL模块
#wgethttp://search.cpan.org/CPAN/authors/id/G/GB/GBARR/IO-1.25.tar.gz
#tarzxvfIO-1.25.tar.gz
#cdIO-1.25
#perlMakefile.PL
#make
#makeinstall
#wgethttp://cpan.metacpan.org/authors/id/I/IN/INGY/IO-All-0.44.tar.gz
#tarzxvfIO-All-0.41.tar.gz
#cdIO-All-0.41
#perlMakefile.PL
#make
#makeinstall
4、下载Perl剧本
这个剧本的目标就是发生一个PERL的FastCGI接口,让Nginx能够以CGI体例处置Perl。
#wgethttp://www.chlinux.net/perl-fcgi.zip
#unzipperl-fcgi.zip
#cpperl-fcgi.pl/usr/local/nginx/注:倡议把这个剧本放在Nginx装置目次。
修正剧本权限
#chmod755/usr/local/nginx/perl-fcgi.pl
5、创建一个CGI启动/中断剧本
这个SHELL剧本只是为了便利办理下面的Perl剧本。剧本中的nobody为nginx的运转用户,请据本人的实践情形调剂。
注重事项:不克不及用root用户实行(会提醒).要用与Nginx不异身份的用户实行。不然大概会在NginxLog中提醒PermisionDenied。
#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.pid2>/dev/null
rm$dir/logs/perl-fcgi.sock2>/dev/null
echo“stopperl-fcgidone”
}
start()
{
rm$dir/now_start_perl_fcgi.sh2>/dev/null
chownwww.www$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
chownwww.www$dir/now_start_perl_fcgi.sh
chmodu+x$dir/now_start_perl_fcgi.sh
sudo-unobody$dir/now_start_perl_fcgi.sh
echo“startperl-fcgidone”
}
case$1in
stop)
stop
;;
start)
start
;;
restart)
stop
start
;;
esac
保留加入
修正SHELL剧本权限
#chmod755/usr/local/nginx/start_perl_cgi.sh
启动剧本
#/usr/local/nginx/start_perl_cgi.shstart
一般情形下在/usr/local/nginx/logs下天生perl-fcgi.sock这个文件,假如没有天生,请反省下下面的步聚。
2、装置Nagios
A、装置前筹办
装置的呆板上必需有一个WEB办事,本文是在Nginx情况上装置的。
下载nagios主步伐和相干插件步伐包
#wgethttp://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.2.3.tar.gz
#wgethttp://prdownloads.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.15.tar.gz
#wgethttp://prdownloads.sourceforge.net/sourceforge/nagios/nrpe-2.12.tar.gz
装置GD库(Nagios中的statusmap和trends模块必需)
#yum-yinstalllibgd2-noxpmlibgd2-noxpm-devel
B、Nagios监控端装置
1、创立Nagios用户及组
创建Nagios账号
#/usr/sbin/useradd-m-s/sbin/nologinnagios
2、创立一个名为nagcmd的用户组,用于从web接口实行内部下令。将Nagios用户和Nginx用户到场组中。
#groupaddnagcmd
#usermod-a-Gnagcmdnagios
#usermod-a-Gnagcmdwww
注:下面的www是Nginx用户所属的组,若有分歧请自行调剂。
3、编译装置Nagios
#tarzxvfnagios-3.2.3.tar.gz
#cdnagios-3.2.3
#./configureCprefix=/usr/local/nagiosCwith-command-group=nagcmd
#makeall
#makeinstall
#makeinstall-config
#makeinstall-commandmode
#makeinstall-webconf
#cd..
- makeinstall用于装置次要的步伐、CGI及HTML文件
- makeinstall-init用于天生init启动剧本
- makeinstall-config用于装置示例设置文件
- makeinstall-commandmode用于设置响应的目次权限
- makeinstall-webconf用于装置Apache设置文件
4、考证步伐是不是被准确装置
切换目次到装置路径,这里是/usr/local/nagios,看是不是存在etc、bin、sbin、share、var这五个目次,假如存在则能够标明步伐被准确的装置到体系了。
#ls/usr/local/nagios/
bin/etc/sbin/share/var/
注;binCNagios实行步伐地点目次,个中的nagios文件即为主步伐。
etcCNagios设置文件地位
sbinCNagioscgi文件地点目次,也就是实行内部下令所需文件地点的目次
ShareCNagios网页文件地点的目次
varCNagios日记文件、spid等文件地点的目次
var/archivesC日记回档目次
var/rwC用来寄存内部下令文件
5、设置NGINX
1)、设置NagiosWeb界面上岸帐号及暗码
#htpasswd-c/usr/local/nagios/etc/nagiospasswdtest
假如你没有htpasswd(这个工具由Apache装置包所供应),可在线天生必要加密数据。
a)、会见http://www.4webhelp.net/us/password.php天生必要加密数据
b)、创立加密考证文件
#vi/usr/local/nagios/etc/nagiospasswd
#到场天生的加密数据,冒号前是用户名,前面是加密后的暗码
test:25JB.R7mXY96o
修正Nagios设置文件,给新增的用户增添会见权限
#vi/usr/local/nagios/etc/cgi.cfg
#以下几项平分别到场新增的用户,多用户用逗号分开。
- 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)、修正NGINX设置,以撑持WEB体例会见Nagios
由于我是多个假造主机绑定域名,以是server_name是域名,假如单个主机间接写IP就能够了。
NGINX设置片段以下:
- server
- {
- listen80;
- server_namenagios.xx.com;
- indexindex.htmlindex.htmindex.php;
- root/usr/local/nagios/share;
- auth_basic“NagiosAccess”;
- auth_basic_user_file/usr/local/nagios/etc/nagiospasswd;
- location~.*.(php|php5)?$
- {
- #fastcgi_passunix:/tmp/php-cgi.sock;
- fastcgi_pass127.0.0.1:9000;
- fastcgi_indexindex.php;
- includefcgi.conf;
- }
- location~.*.(cgi|pl)?$
- {
- gzipoff;
- root/usr/local/nagios/sbin;
- rewrite^/nagios/cgi-bin/(.*).cgi/$1.cgibreak;
- fastcgi_passunix:/usr/local/nginx/logs/perl-fcgi.sock;
- fastcgi_paramSCRIPT_FILENAME/usr/local/nagios/sbin$fastcgi_script_name;
- fastcgi_indexindex.cgi;
- fastcgi_read_timeout60;
- fastcgi_paramREMOTE_USER$remote_user;
- includefcgi.conf;
- auth_basic“NagiosAccess”;
- auth_basic_user_file/usr/local/nagios/etc/nagiospasswd;
- }
- location/nagios
- {
- alias/usr/local/nagios/share;
- auth_basic“NagiosAccess”;
- auth_basic_user_file/usr/local/nagios/etc/nagiospasswd;
- }
- }
6、编译并装置Nagios插件
因为Nagios主步伐只是供应一个运转框架,其详细监控是靠运转在其下的插件完成的,以是Nagios插件是必需装置的。
#tarzxvfnagios-plugins-1.4.15.tar.gz
#cdnagios-plugins-1.4.15
#./configureCprefix=/usr/local/nagiosCwith-nagios-user=nagiosCwith-nagios-group=nagios
#make&&makeinstall
考证Nagios插件是不是准确装置
#ls/usr/local/nagios/libexec
显现装置的插件文件,即一切的插件都装置在libexec这个目次下。
7、启动办事
启动前先反省下设置文件是不是准确
#/usr/local/nagios/bin/nagios-v/usr/local/nagios/etc/nagios.cfg
假如没有报错,能够启动Nagios办事
#/usr/local/nagios/bin/nagios-d/usr/local/nagios/etc/nagios.cfg
检察Nagios运转形态
#/usr/local/nagios/bin/nagiostats
8、装置NRPE
因为Nagios只能监测本人地点的主机的一些当地情形,比方,cpu负载、内存利用、硬盘利用等等。假如想要监测被监控的办事器上的这些当地情形,就要用到NRPE。NRPE(NagiosRemotePluginExecutor)是Nagios的一个扩大,它被用于被监控的办事器上,向Nagios监控平台供应该办事器的一些当地的情形。NRPE能够称为Nagios的Linux客户端。
因为NRPE是经由过程SSL体例在监控和被监控主机长进行数据传输的,以是必需先装置ssl相干的软件包。
编译装置NRPE
#tarzxvfnrpe-2.12.tar.gz
#cdnrpe-2.12
#./configure
#makeall
#makeinstall-plugin
#makeinstall-daemon
#makeinstall-daemon-config
注:监控主机上只必要makeinstall-plugin这一步就能够了。监控机上只需有一个check_nrpe插件用于毗连被监控端nrpe的daemon就好了。
启动NRPE
/usr/local/nagios/bin/nrpe-c/usr/local/nagios/etc/nrpe.cfg-d
考证NRPE是不是准确装置
/usr/local/nagios/libexec/check_nrpe-Hlocalhost
注:假如乐成,会前往NRPE的版本号.
5、修正NRPE设置文件,让监控主机能够会见被监控主机的NRPE。
缺省NRPE设置文件中只同意本机会见NRPE的Daemon
#vi/usr/local/nagios/etc/nrpe.cfg
#缺省为127.0.0.1,只能本机会见
allowed_hosts=192.168.1.108
6、重启nrpe的***
killallnrpe
#/usr/local/nagios/bin/nrpe-c/usr/local/nagios/etc/nrpe.cfg-d
设置nagios
2、界说主机和主机组
1、创建一个host.cfg用来界说主机
Host.cfg文件内容以下
definehost{
- host_nameWEB1#主机名任意取,倡议取一个便于影象的名字,主机名前面最初别有空格
- address192.168.1.51#主机IP地点,我如今就临时填写本机的IP
- check_commandcheck-host-alive#反省下令,此下令来自commands.cfg,用来监控主机是不是存活
- max_check_attempts5#反省失利后重试的次数
- check_period24×7#反省的工夫段24×7,一样来自于我们之前在timeperiods.cfg中界说的
- contact_groupssagroup#接洽人组,下面在contactgroups.cfg中界说的sagroup
- notification_interval10#提示的距离,每隔10秒提示一次
- n
- otification_period24×7#提示的周期,24×7,一样来自于我们之前在timeperiods.cfg中界说的
- notification_optionsd,u,r#指定甚么情形下提示,详细寄义见之前contacts.cfg局部的先容
经由过程复杂的复制修正就可以界说多个主机了。
能够建一个hostgroup.cfg文件来界说主机组
文件内容以下
definehostgroup{
- hostgroup_nameDB-servers#主机组名,能够随便
2、创建一个service.cfg文件来界说办事
service.cfg文件内容以下
defineservice{
- host_nameWEB1#主机名,这主机名必需在host.cfg文件里有界说
- service_descriptionCurrentdisk#办事申明
- check_commandcheck_local_disk!20%!10%!/#办事反省下令,这个下令来自command.cfg文件
- max_check_attempts5#最多反省次数
- check_period24×7#办事反省周期
- notification_interval10#关照工夫距离
- normal_check_interval1#一般反省办事的工夫距离
- retry_check_interval1#从头反省工夫距离
- notification_period24×7#关照工夫段
- notification_optionsw,u,c,r,d#办事在甚么形态下关照,d=形态为DOWN,u=形态为UNREACHABLE,r=形态规复为OK,f=flapping,
- contact_groupsadmins#接洽人组
- }
界说接洽人,设置接洽人的文件名是contacts.cfg体系默许就存在,我们只需修正就好了文件内容以下
- definecontact{
- contact_namenagiosadmin#接洽人名
- usegeneric-contact
- aliasNagiosAdmin#接洽人别号,
- emailnagios@localhost#接洽人的邮件,nagios就是用这个邮件报警的,能够设置多个由逗号分隔
- }
nrpe的主设置文件是/usr/local/nagios/etc/nrpe.cfg
在command.cfg文件中界说nrpe的下令
- definecommand{
- command_namecheck_nrpe
- command_line$USER1$/check_nrpe-H$HOSTADDRESS$-c$ARG1$
- }
要监控近程主机的办事必要在被监控机的nrpe主设置文件中界说。然后在监控办事器的command.cfg文件中界说下令。操纵内容以下:
被监控机的界说
- command[check_load]=/usr/local/nagios/libexec/check_load-w15,10,5-c30,25,20
- #监控CPU的负载
- command[check_disk]=/usr/local/nagios/libexec/check_disk-w20%-c10%-p/dev/sda2
- #监控硬盘第二分区的利用情形
- command[check_zombie_procs]=/usr/local/nagios/libexec/check_procs-w5-c10-sZ
- #监控僵尸历程
- command[check_local_procs]=/usr/local/nagios/libexec/check_procs-w150-c200-P
- #监控举动历程
- command[check_mysql]=/usr/local/nagios/libexec/check_mysql-Hlocalhost-umysql用户名Cpmysql暗码Cd必要监控的数据库
- #监控mysql数据库。次要监控mysql的开启数据,每秒的查询,慢查询,革新的表,翻开的表。注mysql的用户只需给select权限就能够
- command[check_swap]=/usr/local/nagios/libexec/check_swap-w20%-c10%
- #监控互换分区的利用情形,凌驾20%就报w凌驾10%就报c
- command[check_nginx]=/usr/local/nagios/libexec/check_nginx.shCurlwww.chlinux.net/index.php
- #监控nginx的形态。能够监控403.502等等
- command[check_traffic]=/usr/local/nagios/libexec/check_traffic.sh-V2c-Cpublic-H127.0.0.1-I2-w300,300-c500,600-KCB
- #监控网卡流量
被监控机设置好后必要重启nrpe
nrpe重启***
killall-9nrpe
/usr/local/nagios/bin/nrpe-c/usr/local/nagios/etc/nrpe.cfgCd
[root@localhost~]#/usr/local/nagios/libexec/check_nrpe-Hlocalhost
NRPEv2.12反省是不是有相似的输入,假如有就是启动乐成,没有就反省设置是不是准确
监控机的设置
在service.cfg文件设置以下
- defineservice{
- uselocal-service,srv-pnp
- host_nameWEB1
- service_descriptionRootPartition
- check_commandcheck_nrpe!check_disk
- check_period24×7
- max_check_attempts4
- normal_check_interval1
- retry_check_interval1
- contact_groupsadmins
- notification_interval10
- notification_period24×7
- notification_optionsw,u,c,r
- }
办事端设置完后必要重启nagios办事
3、装置pnp
Pnp是一个画图工具,必要依附rrdtool软件包
- wgethttp://pkgs.fedoraproject.org/repo/pkgs/pnp4nagios/pnp-0.4.13.tar.gz/20a96f81edba29dcd21215bde4af8b57/pnp-0.4.13.tar.gz
- tarzxvfpnp-0.4.13.tar.gz
- cdpnp-0.4.13
- ./configureCwith-nagios-user=nagiosCwith-nagios-group=nagiosCwith-perfdata-dir=/usr/local/nagios/share/perfdataCwith-rrdtool
- makeall
- makeinstall
- makeinstall-config
- makeinstall-init
- cd/usr/local/nagios/etc/pnp
- cpnpcd.cfg-samplenpcd.cfg
- cprra.cfg-samplerra.cfg
- cpprocess_perfdata.cfg-sampleprocess_perfdata.cfg
- chownnagios.nagios/usr/local/nagios/etc/pnp/-R
修正nagios的主设置文件/usr/local/nagios/etc/nagios.cfg
#翻开正文项:
host_perfdata_command=process-host-perfdata
service_perfdata_command=process-service-perfdata
process_performance_data=1
5.修正commands.cfg
cd/usr/local/nagios/etc/objects
vimcommands.cfg
##增加
#‘process-host-perfdata’commanddefinition
- definecommand{
- command_nameprocess-host-perfdata
- command_line/usr/local/nagios/libexec/process_perfdata.pl
- }
- definecommand{
- command_nameprocess-service-perfdata
- command_line/usr/local/nagios/libexec/process_perfdata.pl
- }
6.增加小太阳模版,镶嵌在nagios页面上。
vimtemplates.cfg
##在最初增加
- definehost{
- namehost-pnp
- action_url/pnp/index.php?host=$HOSTNAME$
- register0
- }
- defineservice{
- namesrv-pnp
- action_url/pnp/index.php?host=$HOSTNAME$&srv=$SERVICEDESC$
- register0
- }
7,修正hosts.cfg和services.cfg
cd/usr/local/nagios/etc/eric.com
#修正hosts.cfg
- vimhosts.cfg
- definehost{
- uselinux-server,host-pnp
- host_nameeric.com
- aliaseric.com
- address192.168.6.101
- }
#修正services.cfg
- defineservice{
- uselocal-service,srv-pnp
- host_nameeric.com
- service_descriptionPING
- check_commandcheck_ping!100.0,20%!500.0,60%
- }
8.重启nagios办事
/etc/init.d/nagiosrestart
小知识:CentOS是一个基于RedHatLinux提供的可自由使用源代码的企业级Linux发行版本。 |