Nagios监控Linux主机(NRPE安装与应用)
- 格式:doc
- 大小:91.50 KB
- 文档页数:6
一、监控端安装NRPE安装所需软件环境apt-get install libssl-dev libssl0.9.8编译安装NRPEtar zxvf nrpe-2.12.tar.gzcd nrpe-2.12./configuremake allmake install-pluginmake install-daemonmake install-daemon-config注:监控主机上只需要make install-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 -H localhost二、Nagios被控端安装配置1、创建Nagios用户及组建立Nagios账号/usr/sbin/useradd -m-s/sbin/nologin nagios2、编译并安装Nagios插件tar zxvf nagios-plugins-1.4.15.tar.gzcd nagios-plugins-1.4.15./configure --with-nagios-user=nagios --with-nagios-group=nagios makemake installcd ..验证程序是否被正确安装:ls/usr/local/nagios/libexec显示安装的插件文件,即所有的插件都安装在libexec这个目录下。
3、安装NRPEtar zxvf nrpe-2.12.tar.gzcd nrpe-2.12./configuremake allmake install-pluginmake install-daemonmake install-daemon-configcd ..4、启动NRPE/usr/local/nagios/bin/nrpe -c/usr/local/nagios/etc/nrpe.cfg -d 验证NRPE是否正确安装/usr/local/nagios/libexec/check_nrpe -H localhost注:如果成功,会返回NRPE的版本号。
nagios利用NRPE监控CPU、负载、磁盘IO1.在监控机上安装NRPEtar -zxvf nrpe-2.12.tar.gzcd nrpe-2.12./configuremake allmake install-plugin2.在被监控机上安装nagios插件和NRPE(1).先增加nagios用户:useradd nagios (2.)安装nagios插件:tar -zxvf nagios-plugins-1.4.14.tar.gzcd nagios-plugins-1.4.14./configure --prefix=/usr/local/nagiosmakemake install (3).安装nrpe:tar -zxvf nrpe-2.12.tar.gzcd nrpe-2.12./configure --prefix=/usr/local/nagiosmake allmake install-pluginmake install-daemonmake install-daemon-configmake install-xinetd nrpe安装为xinetd服务(4).编辑nrpe配置文件,增加监控机地址:#vi /etc/xinetd.d/nrpeonly_from = 127.0.0.1 10.1.1.14 (5).修改services文件,增加端口#vi /etc/servicesnrpe 5666/tcp #NRPE (6).重启xinetd服务service xinetd restart (7).查看服务是否启动#/usr/local/nagios/libexec/check_nrpe -H localhostNRPE v2.12如果出现Connection refused by host 需要安装yum intall openssl*至此被监控机上的操作就结束了,如果有需要增加监控项,需修改/etc/xinetd.d/nrpe文件。
Nagios系列文章:Nagios监控平台之一:在Centos上安装Nagios服务Nagios监控平台之二:nrpe监控远程Linux主机Nagios监控平台之三:MRTG监控交换机流量Nagios监控平台之四:监控Linux服务器CPU温度Nagios监控平台之五:监控Windows服务器Nagios监控平台之六:安装NDOUtils保存Nagios数据到mysql数据库Nagios监控平台之七:Nagios监控HP-UX监控监控linux本地主机时,我们可以直接更改配置文件进行监控,如果需要监控的主机与nagios不在同一机器上,即监控远程linux主机时,我们需要借助NRPE 插件实现。
nrpe工作原理图:远程主机的操作安装支持:#yum-yinstallopensslopenssl-devel下载NagiosPlugins和NRPE#cd/tmp#wget/project/nagios/nrpe-2.x/nrpe-2.13/nrpe-2.13.tar.gz#wget/project/nagiosplug/nagiosplug/1.4.16/nagios-plugins-1.4.16.tar.gz创建nagios帐号#useraddnagios#passwdnagios安装nagios-plugin#cd/tmp#tarxvfznagios-plugins-1.4.16.tar.gz#cdnagios-plugins-1.4.16#exportLDFLAGS=-ldl#./configure--with-nagios-user=nagios--with-nagios-group=nagios--enable-redhat-pthread-workaround #make#makeinstall#chownnagios.nagios/usr/local/nagios#chown-Rnagios.nagios/usr/local/nagios/libexec/安装NRPE#cd/tmp#tarxvfznrpe-2.13.tar.gz#cdnrpe-2.13#./configure#makeall#makeinstall-plugin#makeinstall-daemon#makeinstall-daemon-config#yuminstallxinetd#makeinstall-xinetd配置NRPE以守护进程运行1、更改/etc/xinetd.d/nrpe文件,设置允许nagios服务器连接,如nagios服务器的ip为192.168.1.2:only_from=127.0.0.1192.168.1.22、在/etc/services结尾增加:nrpe5666/tcp#NRPE3、启动xinetd#servicexinetdrestart4、验证nrpe是否监听#netstat-at|grepnrpe5、测试nrpe是否正常运行#/usr/local/nagios/libexec/check_nrpe-HlocalhostNRPEv2.136、更改/usr/local/nagios/etc/nrpe.cfgnrpe.cfg文件里包含需要监控远程主机的命令,如下面是我的配置:#用户登录数command[check_users]=/usr/local/nagios/libexec/check_users-w5-c10#CPU负载command[check_load]=/usr/local/nagios/libexec/check_load-w15,10,5-c30,25,20 #磁盘空间command[check_disk]=/usr/local/nagios/libexec/check_disk-w20-c10-p/dev/sda #僵尸进程数command[check_zombie_procs]=/usr/local/nagios/libexec/check_procs-w5-c10-sZ #进程总数command[check_total_procs]=/usr/local/nagios/libexec/check_procs-w150-c200 #物理内存command[check_mem]=/usr/local/nagios/libexec/check_mem-H$HOSTADDRESS$ #脚本内容见下文物理内存检查脚本/usr/local/nagios/libexec/check_mem:#!/bin/bash#checkmemoryscript#Totalmemory#byBarlow#2014-06-13help(){echo"Usage:`basename$0`-w<%>-c<%>"echo"-wisWARNING%ofusedmem;-cisCRITICAL%ofusedmem!"exit3}TOTAL=`free-m|head-2|tail-1|gawk'{print$2}'`#checkmemoryFREE=`free-m|head-3|tail-1|gawk'{print$4}'`USED=`free-m|head-3|tail-1|gawk'{print$3}'`#tocalculatefreepercent#usetheexpressionfree*100/totalFREETMP=`expr$FREE\*100`USEDTMP=`expr$USED\*100`FREE_PERCENT=`expr$FREETMP/$TOTAL`USED_PERCENT=`expr$USEDTMP/$TOTAL`if[$#-le3];thenhelpelif![$1=="-w"]&>/dev/null;thenhelpelif![$3=="-c"]&>/dev/null;thenhelpfiWARNIFNUM(){if!["$WARN"=="$OPTARG"];thenhelpfi}CRITIFNUM(){if!["$CRIT"=="$OPTARG"];thenhelpfi}whilegetopts"w:c:h"OPT;docase$OPTin"w")WARNTMP=$OPTARGWARN=$(echo$WARNTMP|bc2>/dev/null)if!["$WARN"=="$WARNTMP"];thenhelpfi;;"c")CRITTMP=$OPTARGCRIT=$(echo$CRITTMP|bc2>/dev/null)if!["$CRIT"=="$CRITTMP"];thenhelpfi;;"h")help;;esacdoneCRIT_LEVEL=`expr$TOTAL\*$CRIT\/100`WARN_LEVEL=`expr$TOTAL\*$WARN\/100`if[$USED_PERCENT-gt$CRIT];thenecho"CRITICAL!UsedMemory$USEDMB($USED_PERCENT%,Total=$TOTALMB)|'USEDMEM'=${USED}MB;$ WARN_LEVEL;$CRIT_LEVEL;0;$TOTAL"exit2fiif[$USED_PERCENT-gt$WARN];thenecho"WARNING!UsedMemory$USEDMB($USED_PERCENT%,Total=$TOTALMB)|'USEDMEM'=${USED}MB; $WARN_LEVEL;$CRIT_LEVEL;0;$TOTAL"exit1elseecho"OK!UsedMemory$USEDMB($USED_PERCENT%,Total=$TOTALMB)|'USEDMEM'=${USED}MB;$WARN _LEVEL;$CRIT_LEVEL;0;$TOTAL"exit0finagios服务器的操作首先安装nagios,参考:/server/management/186.html下载安装NRPE#cd/tmp#wget/project/nagios/nrpe-2.x/nrpe-2.13/nrpe-2.13.tar.gz#tarxvfznrpe-2.13.tar.gz#cdnrpe-2.13#./configure#makeall#makeinstall-plugin测试是否正常:#/usr/local/nagios/libexec/check_nrpe-H192.168.1.3NRPEv2.13为监控远程主机定义host和service1、定义check_nrpe命令在文件/usr/local/nagios/etc/objects/commands.cfg后面增加:#'check_nrpe'commanddefinitiondefinecommand{command_namecheck_nrpecommand_line$USER1$/check_nrpe-H$HOSTADDRESS$-t30-c$ARG1$}2、创建/usr/local/nagios/etc/objects/host.cfg(需提前在nagios.cfg中定义)host定义示例:definehost{uselinux-serverhost_nameremotehostaddress192.168.1.3}3、创建服务:vi/usr/local/nagios/etc/objects/services.cfg(需提前在nagios.cfg 中定义)如定义监控远程主机磁盘空间示例(其他服务语法相同):defineservice{usegeneric-servicehost_nameremotehostservice_descriptionsda磁盘空间check_commandcheck_nrpe!check_disk}之后重载nagios配置文件使其生效#servicenagiosreload。
一、系统环境与软件版本情况本文档使用被监控机的操作系统为rhel6.3 _64位。
监控主机操作系统为rhel6.0 _64位及windows 2003,nagios主服务版本Nagios® Core™ 3.2.3,linu被监控机与主监控通信插件NRPE版本为nrpe-2.8.1。
window被监控机与主监控服务软件为NSClient++-0.2.7所使用的软件如下nrpe-2.8.1.tar.gzNSClient++-0.2.7.zip二、安装配置过程。
因为系统安装大家都非常熟悉了此次略过操作系统安装过程,首先是linux环境下被监控机的安装配置过程。
在安装之前先写个nagios监控非本地信息的原理图主监控机被监控机NRPE总共由两部分组成:–check_nrpe 插件,位于在监控主机上–NRPE daemon,运行在远程的linux主机上(通常就是被监控机)按照上图,整个的监控过程如下:当nagios需要监控某个远程linux主机的服务或者资源情况时1.nagios会运行check_nrpe这个插件,告诉它要检查什么.2.check_nrpe插件会连接到远程的NRPE daemon,所用的方式是SSL3.NRPE daemon会运行相应的nagios插件来执行检查4.NRPE daemon将检查的结果返回给check_nrpe插件,插件将其递交给nagios做处理.注意:NRPE daemon需要nagios插件安装在远程的linux主机上,否则,daemon不能做任何的监控.因为使用rehl线上的yum源安装需要授权,所以先使用iso搭个本地的yum源。
mount /dev/cdrom /mnt/cdrom/ 挂载光驱mkdir /home/rehliso 创建yum源目录。
cp -Rf /mnt/cdrom/* /home/rehliso/ 拷贝安装文件到源目录cd /etc/yum.repos.d/ 切换至yum配置文件目录cp rhel-source.repo rhel-source.repo.bak 备份配置文件vi rhel-source.repo 编辑配置文件,删除之前内容加入[rhel_6_iso]name=local isobaseurl=file:///home/rehlisogpgcheck=1gpgkey=file:///home/rehliso/RPM-GPG-KEY-redhat-release保存退出Yum clean all清除YUM缓存因为是用二进制安装包进行安装所以要先安装gcc编译器yum -y install gcc 安装gcc编译器安装完成后用sftp上传安装文件nrpe-2.8.1.tar.gz, nagios-plugins-1.4.13.tar.gz至/usr/local/src/目录下创建nagios用户Userad nagiosPasswd nagiosCd /usr/local/src 切换至/usr/local/src/目录解压安装包tar zxvf nagios-plugins-1.4.13.tar.gzcd nagios-plugins-1.4.13编译安装./configuremakemake install这一步完成后会在/usr/local/nagios/下生成两个目录libexec和share修改目录权限把权限所属chown nagios.nagios /usr/local/nagios/chown -R nagios.nagios /usr/local/nagios/libexec/至此被监控机nagios插件已经安装完成,接下来就是安装nrpe服务了切换至软件包目录Cd /usr/local/src解压安装文件tar zxvf nrpe-2.8.1.tar.gzcd nrpe-2.8.1编译安装./configurechecking for SSL... configure: error: Cannot find ssl libraries 出现了该错误主要是因为监控主机插件check_nrpe与被监控nrpe服务的通信是通过ssl方式连接的所以必须安装sslyum -y install openssl-devel 所以这个可以在gcc安装时顺便也安装了ssl安装完成后重新./configure*** Configuration summary for nrpe 2.8.1 05-10-2007 ***:General Options:-------------------------NRPE port: 5666NRPE user: nagiosNRPE group: nagiosNagios user: nagiosNagios group: nagiosReview the options above for accuracy. If they look okay,type 'make all' to compile the NRPE daemon and client.成功后会出现以上安装的基本信息接下来编译安装make allmake install-daemonmake install-daemon-configmake install-plugin 安装check_nrpe这个插件之前说过监控机需要安装check_nrpe这个插件,被监控机并不需要,我们在这里安装它是为了测试的目的安装xinetd脚本make install-xinetd这里还要补充一下因为官网的安装文档是将NRPE deamon作为xinetd下的一个服务运行的.在这样的情况下xinetd就必须要先安装好,所以还得确定系统是否已经安装了xinetd的服务[root@localhost nrpe-2.8.1]# service xinetd restartxinetd: unrecognized service服务并未安装yum -y install xinetd 安装xinetd服务安装完成后修改配置文件vi /etc/xinetd.d/nrpeservice nrpe{flags = REUSEsocket_type = streamport = 5666 端口wait = nouser = nagios 用户group = nagios 用户组server = /usr/local/nagios/bin/nrpeserver_args = -c /usr/local/nagios/etc/nrpe.cfg --inetdlog_on_failure += USERIDdisable = noonly_from = 127.0.0.1,192.168.1.243}only_from = 127.0.0.1,192.168.1.243在后面增加监控主机的地址192.168.1.243以空格间隔编辑/etc/services文件,增加NRPE服务端口添加如下信息nrpe 5666/tcp #nrpe查看防火墙是否启动chkconfig iptables –list如果启动需要添加5666端口的开放规则vi /etc/sysconfig/iptables-A INPUT -m state --state NEW -m tcp -p tcp --dport 5666 -j ACCEPT添加该条目service iptables restart 重启iptables服务重启xinetd服务service xinetd restart检查服务端口状态[root@localhost ~]# netstat -natp |grep 5666tcp 0 0 :::5666 :::* LISTEN 1959/xinetd 服务端口已经启动测试NRPE是否则正常工作之前我们在安装了check_nrpe这个插件用于测试,现在就是用的时候.执行[root@localhost ~]# /usr/local/nagios/libexec/check_nrpe -H localhostNRPE v2.8.1返回了版本信息说明nrpe已经正常的工作了。
Nagios监控系统安装及配置文档1.版本历史2.格式规范本文用红色字体表示注释,绿色字体为操作命令,如:# vi•/var/qmail/control/badmailfrom这个控制文件是实现拒收邮件功能的,每一个地址要单独一行。
而且,不用重起qmail就能生效。
例如:peng@•• • ----限制一个特定的用户,@••••••••• ----限制整个域中的邮件3.参考文档[1] [2] /4.前言做为系统管理员,管理着几十台或几百台服务器在运行。
一个非常迫切的需求就是希望了解服务器及服务器上运行的服务的运行状况,在服务器或服务出现当机或停止的时候能够第一时间知道,及时处理。
以便最小的减少由此带来的影响和损失。
Nagios就是用来解决这个问题的,在目前的一些监控软件中,Nagios 以其良好的稳定性,强大的功能等,已成为业界监控软件的首选。
Nagios官方网站的描述:Nagios is an open source host, service and network monitoring program. Who uses it? Lots of people, including many big companies and organizations:Nagios是一个用来监控主机、服务和网络的开放源码软件,很多大的公司或组织都在使用它。
5.Nagios监控原理上图为Nagios监控原理图。
Nagios监控可以使用主动模式(Action)和被动模式(Passive)。
主动模式主要是自身插件或结合Nrpe实现,由Nagios在定义的时间去主动监测被监控端的服务器或服务是否正常。
被动模式结合Naca实现,由Nsca定时监控服务器或服务,再由Nasa把结果传至Nagios。
被动模式适合大规模服务器(一般在最少100台以上)需要监控的情况,可有效减少监控服务器的压力。
在服务器数量比较少的情况下用主动模式比较方便,因为主要的配置在监控主机的设置就好了,无需在被监控端做过多设置。
一、Nagios简介Nagios是一款开源的电脑系统和网络监视工具,能有效监控Windows、Linux和Unix的主机状态,交换机路由器等网络设置,打印机等。
在系统或服务状态异常时发出邮件或短信报警第一时间通知网站运维人员,在状态恢复后发出正常的邮件或短信通知。
Nagios原名为NetSaint,由Ethan Galstad开发并维护至今。
NAGIOS是一个缩写形式: "Nagios Ain't Gonna Insist On Sainthood" Sainthood 翻译为圣徒,而"Agios"是"saint"的希腊表示方法。
Nagios被开发在Linux下使用,但在Unix 下也工作得非常好。
主要功能∙网络服务监控(SMTP、POP3、HTTP、NNTP、ICMP、SNMP、FTP、SSH)∙主机资源监控(CPU load、disk usage、system logs),也包括Windows主机(使用NSClient++ plugin)∙可以指定自己编写的Plugin通过网络收集数据来监控任何情况(温度、警告……)∙可以通过配置Nagios远程执行插件远程执行脚本∙远程监控支持SSH或SSL加通道方式进行监控∙简单的plugin设计允许用户很容易的开发自己需要的检查服务,支持很多开发语言(shell scripts、C++、Perl、ruby、Python、PHP、C#等)∙包含很多图形化数据Plugins(Nagiosgraph、Nagiosgrapher、PNP4Nagios等)∙可并行服务检查∙能够定义网络主机的层次,允许逐级检查,就是从父主机开始向下检查∙当服务或主机出现问题时发出通告,可通过email, pager, sms 或任意用户自定义的plugin进行通知∙能够自定义事件处理机制重新激活出问题的服务或主机∙自动日志循环∙支持冗余监控∙包括Web界面可以查看当前网络状态,通知,问题历史,日志文件等二、Nagios工作原理Nagios的功能是监控服务和主机,但是他自身并不包括这部分功能,所有的监控、检测功能都是通过各种插件来完成的。
如何在 Linux 环境下配置 Nagios Remote PluginExecutor (NRPE)就网络管理而言,Nagios 是最强大的工具之一。
Nagios 可以监控远程主机的可访问性,以及其中正在运行的服务的状态。
不过,如果我们想要监控远程主机中网络服务以外的东西呢?比方说,我们可能想要监控远程主机上的磁盘利用率或者CPU 处理器负载。
Nagios Remote Plugin Executor(NRPE)便是一个可以帮助你完成这些操作的工具。
NRPE 允许你执行在远程主机上安装的 Nagios 插件,并且将它们集成到一个已经存在的 Nagios 服务器里。
本教程将会介绍如何在一个已经部署好的 Nagios 中配置 NRPE。
本教程主要分为两部分:∙配置远程主机。
∙配置Nagios监控服务器。
之后我们会以定义一些可以被 NRPE 使用的自定义命令来结束本教程。
为NRPE 配置远程主机第一步:安装NRPE 服务你需要在你想要使用 NRPE 监控的每一台远程主机上安装 NRPE 服务。
每一台远程主机上的 NRPE 服务守护进程将会与一台 Nagios 监控服务器进行通信。
1.# apt-get install nagios-nrpe-server对于 CentOS、Fedora 或者 RHEL:1.# yum install nagios-nrpe第二步:准备配置文件配置文件 /etc/nagios/nrpe.cfg 在基于 Debian 或者 RedHat 的系统中比较相近。
让我们备份并修改配置文件:1.# vim /etc/nagios/nrpe.cfg1.## NRPE 服务端口是可以自定义的 ##2.server_port=56663.4.## 允许Nagios监控服务器访问 ##5.## 注意:逗号后面没有空格 ##6.allowed_hosts=127.0.0.1,X.X.X.X-IP_v4_of_Nagios_server7.8.## 下面的例子中我们硬编码了参数。
Nagios安装配置[1] - Linux配置- 坐沙发上等戈多安装问题(我找到的中文版之中最好的一个,我照着手册装了一下,不成功,转而按照此文,最终成,限于篇幅原因就不在贴上来了,我自己的安装步骤基本上和这篇相同)/index.php?play=search&ma ke=view&id=282&key=nagios-----------------------------------------------------------------------------------我的安装步骤(操作系统centos linxu 4.3)1、所需软件nagios-2.5.tar.gznagios-pluginsimagepak-basenrpeapache2、nagios安装首先安装apache 具体过程参考手册不在赘述w[]#adduser nagios[]#groupadd nagios[]#mkdir /usr/local/nagios[]#chown nagios.nagios /usr/local/nagios[]#tar zxvf nagios-2.5.tar.gz[]#cd nagios-2.5[]#./configure --prefix=/usr/local/nagios--with-gd-lib=/usr/local/lib --with-gd-inc=/usr/local/include ------------------------------------------------------------------上面命令用到的libgd库,在centos下的安装可以用以下命令[]#yum install gd(gdb php-gd glib-devel gd-devellibpng-devel libpng10-devel libjpeg-devel mod_perl-devel glibc mod_perl)具体的可参考我上文给出的联接------------------------------------------------------------------[]#make all[]#make install[]#make install-init ##This installs the init script in/usr/local/etc/rc.d[]#make install-commandmode[]#make install-config ##将初始的配置文件安装到/usr/local/nagios/etc2.2、nagios-plugins的安装[]#tar –xvzf nagios-plugins-1.4.4.tar[]#mkdir /usr/local/nagios-plugins[]#cd nagios-plugins-1.4.4[]#./configure --prefix=/usr/local/nagios-plugins[]#make all[]#make install安装完成以后在/usr/local/nagios-plugins会产生一个libexec的目录,将该目录全部移动到/usr/local/nagios目录下[]#cp /usr/local/nagios-plugins/libexec/usr/local/nagios/libexec2.3、imagepak-base的安装[]#tar –xvzf imagepak-base.tar.gz解压以后是base目录[]#cp –R base /usr/local/nagios/share/images/logos2.4、安装过程全部结束4、Nagios的设定:1、配置apache在apache的配置文件httpd.conf中追加(注意,要有image 这段,不然nagios不能显示图片,这三段顺序好象不能变,不然启动nagios的时候会提示错误)Alias /nagios/cgi-bin/images/"/usr/local/nagios/share/images/"<Directory "/usr/local/nagios/share/images/">AllowOverride NoneOptions NoneOrder allow,denyAllow from allAuthName "Nagios Access"AuthType BasicAuthUserFile /usr/local/nagios/etc/.htpasswdRequire valid-user</Directory>ScriptAlias /nagios/cgi-bin/ "/usr/local/nagios/sbin/" <Directory "/usr/local/nagios/sbin/">AllowOverride NoneOptions NoneOrder allow,denyAllow from allAuthName "Nagios Access"AuthType BasicAuthUserFile /usr/local/nagios/etc/.htpasswdRequire valid-user</Directory>Alias /nagios/ "/usr/local/nagios/share/"<Directory "/usr/local/nagios/share/">AllowOverride NoneOptions NoneOrder allow,denyAllow from allAuthName "Nagios Access"AuthType BasicAuthUserFile /usr/local/nagios/etc/.htpasswdRequire valid-user</Directory>2、设置访问权限在/usr/local/nagios/share目录下[]#/usr/local/www/bin/htpasswd –c/usr/local/nagios/etc/.htpasswd nagios这个apache目录根据安装目录的不同而不同,主要所以用.htpasswd这个命令生成用户名和密码3、配置nagios3.1、在/usr/local/nagios/etc下是nagios的配置模板文件.cfg-sample,把.cfg-sample文件全部拷贝成.cfg例如:[]#cp nagios.cfg-sample nagios.cfg全部拷贝完成即可.-----------------------------------------------------------修改minimal.cfg,把里面所有定义command的全部注释掉[]#vi /etc/minimal.cfg(这个我注释掉好象有问题待改正)-----------------------------------------------------------修改cgi.cfg 改use_authentication=1为use_authentication=0,即不用验证.不然有一些页面不会显示。
Linux系统监控之 Nagios配置教程详解(赵舜东)实验目的:通过实验熟练掌握Nagios这个开源的监控解决方案的实施。
实验环境:Red Hat Enterprise Linux +nagios.3.2.0实验步骤:第一部分:Linux系统监控之 Nagios详解(一)一、Nagios 简介(一)什么是Nagios,Nagios有哪些特性。
(二)Nagios工作原理二、部署Nagios监控服务器(一)下载所需软件包(二)安装Nagios(三)安装Nagios的插件nagios-plugin(四)配置检测主机是否存活(五)第一部分功能测试第二部分:Linux系统监控之 Nagios详解(二)三、使用Nagios监控Linux 客户端(一)Nagios监控服务器的配置(二)Nagios监控客户端的配置四、使用Nagios 监控Windows 客户端(一)Nagios 监控服务器的配置(二)Nagios 监控客户端的配置第三部分:Linux系统监控之 Nagios详解(三)五、Nagios 配置文件详解实验简介:公司进行了机房改造,新系统也上线了,需要一个强大的监控方案,对服务器和各服务的运行情况进行有效的监控,我第一个想到的就是Nagios这个强大的开源解决方案,本文以监控八台服务器和Nagios服务器本身为例。
根据先实现、后深入的方式,把本文分为三个部分,开始先实现了功能, 在第三个部分,在对配置的内容进行详细的讲解,功能实现:实现Web浏览器监控,Mail报警邮件收发,手机短信收发。
手机短信怎么收发呢?网上有很多很多的方法,我推荐一种就是使用139信箱,139信箱有一项免费的功能就是发邮件通知到您的手机上,可以在手机上看邮件内容,免费的哦。
什么?还没有139信箱,那么别傻呆了,系统运维必备的信箱,快免费申请吧。
本作品为本站原创作品,如需转载请注明来自UnixHot 技术联盟实验答疑:zhaoshundong@一、Nagios 简介官方网站:/ (更多的详细说明请参考官方网站)Nagios® is a system and network monitoring application. It watches hosts and services that you specify, alerting you when things go bad and when they get better.Nagios was originally designed to run under Linux, although it should work under most other unices as well.Some of the many features of Nagios include:1.Monitoring of network services (SMTP, POP3, HTTP, NNTP, PING, etc.) 监控网络资源2.Monitoring of host resources (processor load, disk usage, etc.) 监控主机资源3.Simple plugin design that allows users to easily develop their own service checks4.Parallelized service checks5.Ability to define network host hierarchy using "parent" hosts, allowing detection of and distinction between hosts that are down and those that are unreachable6.Contact notifications when service or host problems occur and get resolved (via email, pager, or user-defined method)7.Ability to define event handlers to be run during service or host events for proactive problem resolution8.Automatic log file rotation 自动日志轮滚9.Support for implementing redundant monitoring hosts 支持冗余10.Optional web interface for viewing current network status, notification and problem history, log file, etc.请参考Nagios 中文在线帮助文档:/docs/nagios/cn/build/html/index.html二、部署Nagios监控服务器(一)下载所需软件包1.nagios.3.2.0.tar.gz Nagios的主程序[root@UnixHot src]# wget /sourceforge/nagios/nagios.3.2.0.tar.gz2.nagios-plugins-1.4.13.tar.gz Nagios 的插件[root@UnixHot src]# wget /sourceforge/nagiosplug/nagios-plugins-1.4.13.tar.gz3.nrpe-2.12.tar.gz代理检测程序[root@UnixHot src]# wget /sourceforge/nagios/nrpe-2.12.tar.gz[root@UnixHot src]# lsnagios-3.2.0.tar.gz nagios-plugins-1.4.13.tar.gz nrpe-2.12.tar.gz(二)安装Nagios官方的安装文档:/docs/3_0/quickstart-fedora.html1.安装前的依赖检查[root@UnixHot ~]# rpm -q httpd php gcc glibc glibc-common gd gd-devel2.创建Nagios账户和组[root@UnixHot src]# useradd -m nagios[root@UnixHot src]#groupadd nagcmd[root@UnixHot src]# usermod -a -G nagcmd nagios[root@UnixHot src]#usermod -a -G nagcmd apache3.编译安装[root@UnixHot src]# tar xvf nagios-3.2.0.tar.gz[root@UnixHot src]# cd nagios-3.2.0(至于每一步的具体意思,我不再详述,因为运行完毕后,提示信息会明确的告诉你,它干了什么,是怎么干的。
Nagios监控Linux主机(NRPE安装与应用)一、NRPE简介及工作原理NRPE是nagios的一个扩展,它被用于被监控的服务器上,向nagios监控平台提供该服务器的一些本地的情况。
例如,cpu负载、内存使用、硬盘使用等等。
NRPE可以称为nagios 的for linux 客户端。
NRPE 由两个部分组成:工作在监控机一侧的check_nrpe 插件、工作在被监控机一侧的NRPE 守护进程。
Nagios 服务器执行check_nrpe 插件并告诉他检查哪个服务,check_nrpe 插件通过SSL 连接方式联系远程服务器上的NRPE 守护进程,NRPE 守护进程执行相应的插件完成指定的检查,并返回结果。
工作原理是:插件nrpe在被监控机上开启一个daemon,通过这个daemon来和监控主机建立一条ssl加密通道,通过这条通道来传送被监控机的本地信息,达到监控的目的。
装在被监控机上的daemon就相当于一个nagios的传递员,命令行从nagios监控主机发出,然后daemon接受到信息,就会执行这条命令行,执行的方式,其实是和nagios主机是一样的,所以被监控机上也需要装一套nagios-plugins插件。
例如:nagios主机需要监控被监控机的硬盘信息,就会对被监控机发出一条命令说:“我要看你的硬盘信息。
”被监控机nrpe的daemon接到这个命令之后,就会运行一个插件,来检查被监控机本地硬盘的信息,然后插件把信息反馈到nrpe,nrpe通过ssl通道再把这些信息反馈到nagios主机。
如下图所示二、NRPE安装1、所需安装包nrpe、nagios-plugins,这两个包都可以从上得到,本例为nrpe-2.12.tar.gz2、安装openssl、openssl-devel;yum install -y opensslyum install -y openssl-devel3、安装nrpe和nagios-plugins插件1)安装nagios-plugins,在安装时首先在被监控机上新建nagios用户及组。
①#groupadd nagios && useradd nagios -g nagios -M -r②安装nagios-plugins插件# tar zxvf nagios-plugins-1.4.15.tar.gz# cd ./nagios-plugins-1.4.15# ./configure --prefix=/usr/local/nagios# make && make install③更改nagios文件夹所属用户和组# chown -R nagios:nagios /usr/local/nagios/# chown -R nagios.nagios /usr/local/nagios/libexec/2)安装nrpe插件①在被监控机上安装nrpe插件# tar zxvf nrpe-2.12.tar.gz# cd ./nrpe-2.12# ./configure# make all# make install-plugin //安装check_nrpe插件,在被监控机上安装这个插仅仅是为了测试,而这个插件是nagios监控主机需要安装的,这个插件就是向nrpe的daemon发命令的工具。
# make install-daemon //安装daemon到被测试机,等待接受命令。
# make install-daemon-config //安装配置文件,所有的daemon所接受到得命令都必须通过这个配置文件才能和插件建立联系。
②检查安装是否成功安装好了,可以到/usr/local/nagios/下面检查一下,应该生成了4个目录:bin、etc、libexec、share。
③在监控机即nagios服务器上安装nrpe插件# tar xzf nrpe-2.8.1.tar.gz# cd nrpe-2.8.1# ./configure# make all# make install-plugin如果安装成功,就可以在/.../nagios/libexec 目录中找到"check_nrpe"这个插件。
之后需要定义一个可以在监控平台使用的命令,这个定义一般会在/.../nagios/etc/commands.cfg中,其内容如下:define command{command_name check_nrpecommand_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$}3)修改配置文件修改配置文件,目的是让NRPE可以以守护进程的形式监听5666端口,为特定地址的nagios平台提供服务。
在官方的NRPE文档中,详细说明了如何将NRPE嵌入xinetd服务中,这里不做介绍。
有些情况,我们的服务器上没有xinetd或者inetd这样的服务,那如何办呢?我在这里介绍一种更加通用的方法。
首先,需要修改/usr/local/nagios/etc/nrpe.cof。
找到“allowed_hosts=127.0.0.1”将其改为:allowed_hosts=127.0.0.1,$Nagios监控服务器的IP地址或域名这个配置的作用是声明合法的nrpe服务对象,没有在这里声明的地址是无法从本机的NRPE获得服务的。
“$Nagios监控服务器的IP地址或域名”可以是ip 地址,也可以是域名。
在我环境中,nagios监控平台没有一个固定的公网ip,所以其他在公网上的服务器如果安装了NRPE的话,就只能通过动态域名来辨别监控平台的地址。
4)启动NRPE守护进程:(可以将此命令加入/etc/rc.local,以便开机自动启动)# /usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d此命令生成的日志会在系统的日志(/var/log/message)中。
如果没有出错,就基本搞定了。
5)测试是否安装成功在被监控机上:/usr/local/nagios/libexec/check_nrpe -H 127.0.0.1在监控机即nagios服务器上:/usr/local/nagios/libexec/check_nrpe -H $目标主机地址正常的返回值为被监控服务器上安装的NRPE的版本信息:[root@Linux227 ~]# /usr/local/nagios/libexec/check_nrpe -H 127.0.0.1NRPE v2.12如果看到这些,恭喜你,你的NRPE安装成功了。
三、NRPE的应用通过NRPE,可以监控到哪些信息呢?只要在被监控服务器上有的插件,都可以使用。
即/usr/local/nagios/libexec中的所有插件。
也就是说,你想监控什么,只要有对应的插件,就可以实现。
需要监控什么信息,我们只需要修改被监控机下的nrpe.conf文件即可,插件信息如下图1、监控远程Linux服务器上CPU负载1)在被监控机上的nrpe.conf添加如下命令command[check_load]=/usr/local/nagios/libexec/check_load -w 15,10,5 -c30,25,202)在监控机上通过nrpe调用该命令在nagios监控服务器上定义一个远程监控服务,以调用上面定义命令进行监控远程Linux 服务器的CPU负载,如下:define service{host_name Linux227use generic-service,srv-pnpservice_description cpu_loadcheck_command check_nrpe!check_loadregister 1}注:此服务中的check_load就是在被监控机的nrpe.conf中定义的check_load命令。
2、检查根分区的空间1)在被监控机上的nrpe.conf添加如下命令command[check_root_partition]=/usr/local/nagios/libexec/check_disk -w 30% -c 20% -p /2)在监控机上通过nrpe调用该命令在nagios监控服务器上定义一个远程监控服务,以调用上面定义命令进行监控远程Linux 服务器的根分区空间情况,如下:define service{host_name Linux227use generic-service,srv-pnpservice_description Root Partitioncheck_command check_nrpe!check_root_partitionregister 1}3、检查系统内存情况1)下载内存监控脚本https:///justintime/nagios-plugins/zipball/master2)在被监控机上的nrpe.conf添加如下命令command[check_memory]=/usr/local/nagios/libexec/check_memory.pl -u -w 90 -c 953)在监控机上通过nrpe调用该命令在nagios监控服务器上定义一个远程监控服务,以调用上面定义命令进行监控远程Linux 服务器的根分区空间情况,如下:define service{host_name Linux227use generic-service,srv-pnpservice_description check memorycheck_command check_nrpe!check_memoryregister 1}4、检查系统CPU情况1)下载CPU监控脚本https:///attachment/download/Check-Plugins/Opera ting-Systems/check_cpu-sh/check_cpu.sh2)在被监控机上的nrpe.conf添加如下命令command[check_cpu]=/usr/local/nagios/libexec/check_cpu.sh3)在监控机上通过nrpe调用该命令在nagios监控服务器上定义一个远程监控服务,以调用上面定义命令进行监控远程Linux 服务器的根分区空间情况,如下:define service{host_name Linux227use generic-service,srv-pnpservice_description check cpucheck_command check_nrpe!check_cpuregister 1}5、检查系统运行时间1)下载监控脚本,并重命名为check_uptime.shhttps:///attachment/download/Check-Plugins/Opera ting-Systems/check_uptime2/10-01-22_09-49-27_check_uptime2)在被监控机上的nrpe.conf添加如下命令command[check_uptime]=/usr/local/nagios/libexec/check_uptime.sh -c 20 -w 60 3)在监控机上通过nrpe调用该命令在nagios监控服务器上定义一个远程监控服务,以调用上面定义命令进行监控远程Linux 服务器的根分区空间情况,如下:define service{host_name Linux227use generic-service,srv-pnpservice_description check uptimecheck_command check_nrpe!check_uptimeregister 1}注:监控系统运行时间也可以借助系统命令uptime# cp /usr/bin/uptime /usr/local/nagios/libexec/check_uptime# chown nagios.nagios /usr/local/nagios/libexec/check_uptime# chmod +x /usr/local/nagios/libexec/check_uptime要监控其它的内容,可按两样的方法设置,介绍一个下载插件的好网站https://。