仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1265|回复: 13
打印 上一主题 下一主题

[CentOS(社区)] 给大家带来centos6.3下Lnmp搭建nagios

[复制链接]
爱飞 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-14 21:09:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

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{


  • uselinux-server




  • host_nameWEB1#主机名任意取,倡议取一个便于影象的名字,主机名前面最初别有空格




  • aliasWEB1#主机别号



  • 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#主机组名,能够随便



  • aliasDBServer#办事器别号




  • membersDB1,DB2#成员



  • }
2、创建一个service.cfg文件来界说办事
service.cfg文件内容以下
defineservice{


  • uselocal-service,srv-pnp



  • 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发行版本。
因胸联盟 该用户已被删除
沙发
发表于 2015-1-17 06:31:15 | 只看该作者
最好先搜寻一下论坛是否有您需要的文章。这样可以获得事半功倍的效果。
山那边是海 该用户已被删除
板凳
发表于 2015-1-24 11:09:01 | 只看该作者
下面看看一个让人无法回答的问题:“救命各位高手,向你们请教一些问题:如何在Linux下配制HTTP、FTP、Samba、DNS、DHCP、Sendmail服务器,谢谢”这样的问题。
不帅 该用户已被删除
地板
发表于 2015-2-1 10:08:44 | 只看该作者
任何人都可以根据自己的喜好来定制适合自己的操作系统,Linux?是抢占式多任务多用户操作系统.
活着的死人 该用户已被删除
5#
发表于 2015-2-7 05:51:44 | 只看该作者
掌握在Linux系统中安装软件,在安装Linux工具盘后大致日常所需的软件都会有,一般网络提供下载的软件都会有安装说明。
老尸 该用户已被删除
6#
发表于 2015-2-21 08:13:42 | 只看该作者
编程学习及开发,Linux是免费,开源的操作系统,并且可开发工具相当多,如果您支持自由软件,一定要同广大热爱自由软件人士一同为其不懈努力。
莫相离 该用户已被删除
7#
发表于 2015-3-6 20:30:50 | 只看该作者
主流Linux发行版都自带非常详细的文档(包括手册页和FAQ),从系统安装到系统安全,针对不同层次的人的详尽文档,仔细阅读文档后40%问题都可在此解决。
再见西城 该用户已被删除
8#
发表于 2015-3-13 11:09:56 | 只看该作者
让我树立了很大的信心学好这门课程,也学到了不少专业知识和技能。?
变相怪杰 该用户已被删除
9#
发表于 2015-3-13 11:23:59 | 只看该作者
编程学习及开发,Linux是免费,开源的操作系统,并且可开发工具相当多,如果您支持自由软件,一定要同广大热爱自由软件人士一同为其不懈努力。
飘飘悠悠 该用户已被删除
10#
发表于 2015-3-13 11:28:21 | 只看该作者
Windows?是图形界面的,Linux类似以前的?DOS,是文本界面的,如果你运行了图形界面程序X-WINDOWS后,Linux?也能显示图形界面,也有开始菜单、桌面、图标等。
灵魂腐蚀 该用户已被删除
11#
发表于 2015-3-13 12:44:37 | 只看该作者
清楚了解网络的基础知识,特别是在Linux下应用知识,如接入internet等等。
飘飘悠悠 该用户已被删除
12#
发表于 2015-3-13 13:04:00 | 只看该作者
掌握在Linux系统中安装软件,在安装Linux工具盘后大致日常所需的软件都会有,一般网络提供下载的软件都会有安装说明。
分手快乐 该用户已被删除
13#
发表于 2015-3-13 21:43:15 | 只看该作者
眼看这个学期的Linux课程已经告一段落了,我觉得有必要写一遍心得体会来总结一下这学期对着门课程的学习。
变相怪杰 该用户已被删除
14#
发表于 2015-3-20 20:33:02 | 只看该作者
在学习linux的工程中,linux学习方法有很多种,这里是小编的学习心得,给大家拿出来分享一下。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2025-3-14 03:57

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表