nagios的安装部署(基于apache和中文版)
- 格式:docx
- 大小:858.10 KB
- 文档页数:9
nagios安装过程操作系统:gentoo一、nagios主程序安装# groupadd -g 9000 nagios# groupadd -g 9001 nagcmd# useradd -u 9000 -g nagios -G nagcmd -d /usr/local/nagios -c "Nagios Admin" nagios查找apache的运行用户名# grep "^User" /etc/apache2/conf/httpd.confUser www-data# usermod -G nagcmd www-data# mkdir /usr/local/nagios /etc/nagios /var/nagios# chown nagios.nagios /usr/local/nagios /etc/nagios /var/nagios# cd /usr/local/src/nagios-3.0.6# CFLAGS="-O3 -pipe" CXXFLAGS="-O3 -pipe" ./configure --sysconfdir=/etc/nagios --localstatedir=/var/nagios --with-command-group=nagcmd# make all# make install# make install-init# make install-commandmode# make install-config# rc-update -a nagios default二、plugin安装# CFLAGS="-O3 -pipe" CXXFLAGS="-O3 -pipe" ./configure --sysconfdir=/etc/nagios --localstatedir=/var/nagios# make# make install# chown nagios.nagios -R /usr/local/nagios# mkdir /var/nagios# chown nagios.nagios /var/nagios三、修改apache的配置文件httpd.conf,添加ScriptAlias /nagios/cgi-bin "/usr/local/nagios/sbin"<Directory "/usr/local/nagios/sbin">AllowOverride AuthConfigOptions ExecCGIOrder allow,denyAllow from allAuthName "No Unauthorized Access Allowed"AuthType BasicAuthUserFile /etc/nagios/ersRequire valid-user</Directory>Alias /nagios "/usr/local/nagios/share"<Directory "/usr/local/nagios/share">Options NoneAllowOverride AuthConfigOrder allow,denyAllow from allAuthName "No Unauthorized Access Allowed"AuthType BasicAuthUserFile /etc/nagios/ersRequire valid-user</Directory>四、NRPE的安装(可以不用安装,使用自己定制的CGI接口即可)4.1 客户端安装(假设IP为10.60.0.233)4.1.1 首先安装plugins,同二,略4.1.2 按章nrpe# ./configure --sysconfdir=/etc/nagios --enable-ssl #(--enable-command-args,可以向nrpe服务器传递参数,但是由于安全和稳定性,避免编译)# make all# make install-plugin# make install-daemon# make install-daemon-config#make install-xinetd# vi /etc/xinet.d/nrpeonly_from = 110.60.4.138 127.0.0.1# vi /etc/servicenrpe 5666/tcp4.1.3 根据需要修改配置文件# vi /etc/nagios/nrpe.cfg4.1.4 本地测试# /usr/local/nagios/libexec/check_nrpe -H localhost -c check_total_procs4.2 服务端安装(在nagios服务器上):# ./configure --sysconfdir=/etc/nagios --enable-ssl# make all# make install-plugin连接客户端测试:/usr/local/nagios/libexec/check_nrpe -H 10.60.0.233五、nagios的升级# cd /usr/local/src/nagios-3.1.0# CFLAGS="-O3 -pipe" CXXFLAGS="-O3 -pipe" ./configure --sysconfdir=/etc/nagios --localstatedir=/var/nagios --with-command-group=nagcmd# make all# make install六、支持UTF-8的方法如果使用nagios-plugin check_http检测url,页面utf-8中文,一旦报警,在nagios的页面出现的关键字将会是乱码,需要修改nagios的cgi程序路径在源代码/cgi在所有c源代码中查找着两行,如果有就在这两行下面增加:printf("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />\n");printf("<html>\n");printf("<head>\n");。
nagios流程分析在大部分环境中,nagios是不需要优化的,一来监控这个东西大家都不觉得很重要,二来n agios本身已经是个很轻量级的软件,架构比较合理,三来现在的机器配置都很恐怖,一台普通的pc机撑起上千台host,上三四千service的监控那是小菜一碟,实际环境中有这么大量监控需求的地方本来就不多,就算有这么大量监控需求的公司,用nagios的并不多数吧!但是某些情况下,还是偶尔碰到需要优化的情况。
我需要监控的机器数量就超过了1000台,而且用的nagios,用了被动检查的架构以后,撑起这么多的监控本来是没有问题,但是上周的时候,做nagios和ndotuils的集成就出现了性能瓶颈,凌晨5点左右,把ndotuils架到两台nagios上之后,应用启动什么的都正常,但是到了上午8点就发现了问题,看到检查结果的last_check时间从7:20到8:20不等,而且是均匀分布,没有办法,只好把ndo mod关掉,到了上午10点左右,就恢复正常了。
既然nagios出现了瓶颈,就不妨拿源码来看一下,配置文件的选项优化,在nagios的文档里说了很多,但是还是感觉不是很直观,分析源码,只是属于个人兴趣,这里把流程跟大家分享一下,至于优化方案,还是需要大家多多指点了。
一、nagios在启动以后,载入成daemon,整个的步骤如下:1、读入配置文件(read_main_config_file)2、初始化event_broker3、载入所有broker_mod(ndomod包括在这里面)4、读入object信息(包括service,host,servicegroup,hostgroup,contact,contactgr oup等等)5、告诉broker,我启动了6、初始化daemon(例行工作,fork进程,修改根目录,设置信号量等等)7、打开cmd文件(nagios.cmd)8、初始化status数据(status.dat)9、读取保存数据(retention.dat)10、读取注释数据11、读取downtime数据12、读取性能数据13、初始化event_timing循环14、初始化check_stats15、生成status.dat(空的,不写数据)16、传输event_loop_start信息到broker(ndo:获取scheduling_info中数据)17、开始event_execution_loop,检查数据,直到捕获重启或者关闭信号如果接到了重启或者关闭的信号,则继续往下执行18、通知broker_mod,我要关闭了,或者我要重启了19、保存retention文件20、清理性能数据21、清理downtime数据22、清理注释数据23、如果是关闭信号,清理status.dat24、如果是关闭信号,删除cmd文件步骤比较简单,其中比较重要的有两个,一个是13,初始化循环,另一个就是17,nagios 在作为daemon运行的过程中,就是在不断的执行这个循环。
一、系统环境与软件版本情况本文档使用被监控机的操作系统为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学习笔记之(一)最初搭建2012-07-17 13:05:08标签:linux监控nagios cacti声明:原创作品,如需,请与作者联系。
否则将追究法律责任。
Nagios学习笔记之一最初搭建一、简介:Nagios是一款开源的免费网络监视工具,能有效监控Windows、Linux和Unix的主机状态,交换机路由器等网络设置,打印机等。
在系统或服务状态异常时发出或短信报警第一时间通知运维人员,在状态恢复后发出正常的或短信通知。
二、搭建过程:OS:CentOS 5.5 x86_64(最小化即可)Nagios主程序:nagios-cn-3.4.1Nagios插件:nagios-plugins-1.4.15.tar.gz2.1安装前:2.1.1安装依赖包,下载源程序包1.#cd/etc/yum.repos.d/2.#rm-fr./*3.#wget wget mirrors.163./.help/CentOS-Base-163.repo4.#yum makecache#删除系统自带的yum源,下载网易的网络源并更新缓存1.#yum-y install gcc glibc glibc-common gd gd-devel httpd#安装必须的依赖包1.#wget /sourceforge/nagios/nagios-3.4.1.tar.gz2.#wget /sourceforge/nagiosplug/nagios-plugins-1.4.15.tar.gz#下载nagios主程序以及插件程序2.1.2正式安装:1.#groupadd nagcmd2.#useradd-G nagcmd nagios3.#usermod-G nagcmd apache#创建一个用户组名为nagcmd用于从Web接口执行外部命令。
将nagios用户和apache用户都加到这个组中。
1.#tar zxf nagios-3.4.1.tar.gz2.#cd nagios3.#./configure--prefix=/usr/local/nagios --with-command-group=nagcmd4.#解压程序包,并进行预编译前的配置(默认用户就是nagios,所以只需指定组)5.#make all#编译Nagios程序包源码6.#make install#安装二进制运行程序7.#make install-init#初始化脚本8.#make install-config#配置文件样本9.#make install-commandmode#设置运行目录权限10.#make install-webconf#安装Nagios的WEB配置文件到Apache的conf.d目录下#htpasswd -c /usr/local/nagios/etc/ers nagiosadmin#创建一个nagiosadmin的用户用于登录Nagios的web界面。
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用户及组。
为了稳定起见,我用的比较成熟的老版本程序,主程序:nagios3.0.6yum -y install httpd gcc glibc glibc-common gd gd-develyum -y install openssl-devel(不做这步,安装nrpe会出现checking for SSL headers... configure: error: Cannot find ssl headers错误)先安装好 hhtpd gcc gd 库等依赖程序。
以下操作均在nagios主程序所在机器进行。
安装前准备:1.新建nagios用户及用户组useradd nagiospassword nagios (设置密码)2.修改安装文件夹权限chown nagios.nagios /usr/local/nagios一、安装nagios主程序tar -zxvf nagios-3.0.6.tar.gzcd nagios-3.0.6./configure –prefix=/usr/local/nagios –with-command-group=nagiosmake allmake installmake install-initmake install-configmake install-commandmodels /usr/local/nagios (查看是否有etc、bin、sbin、share、var、libexec这六个目录,如果有,表示安装成功)cd ..二、安装nagios-plugins插件1、tar -zxvf nagios-plugins-1.4.9.tar.gzcd nagios-plugins-1.4.9./configure --prefix=/usr/local/nagios --with-nagios-user-nagios --with-nagios-group=nagiosmakemake installls /usr/local/nagios/libexec(会显示很多插件)2、将apache的运行用户加到nagios组里面从httpd.conf中过滤出当前的apache运行用户:grep ^User /etc/httpd/conf/httpd.confUser apache(返回值)我的是apache,下面将这个用户加入nagios组usermod -G nagios apache3、修改apache配置文件vi /etc/httpd/conf/httpd.confshift+g 跳至文件最后,并加入如下内容:#setting for nagios 20090325#setting by ScriptAlias /nagios/cgi-bin /usr/local/nagios/sbin<Directory "/usr/local/nagios/sbin">Options ExecCGIAllowOverride 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">Options NoneAllowOverride NoneOrder allow,denyAllow from allAuthName "Nagios Access"AuthType BasicAuthUserFile /usr/local/nagios/etc/htpasswdRequire valid-user</Directory>保存后,/etc/init/httpd restart 重启apache服务。
Nagios快速安装中文版需要工具:VMware Workstation、SSH Secure Shell Client、CentOS5.3首先安装好CentOS5.3,建议使用命令行界面安装。
安装完后用SSH Secure Shell Client连接服务器可直接复制粘帖安装配置Nagios安装需要root权限,先确保已经安装以下软件包ApacheGCC compilerGD development libraries如果没有安装,可以用yum来自动安装这些软件包,需要连接网络或者配置好yum的安装源比如CDROMyum install httpdyum install gccyum installglibcglibc-commonyum installgdgd-devel1) 创建nagios帐号信息并且设置好密码su -l/usr/sbin/useradd -m nagiospasswdnagios会要求输入密码创建nagcmd 组,并把nagios和apache加入到该组中/usr/sbin/groupaddnagcmd/usr/sbin/usermod -a -G nagcmdnagios/usr/sbin/usermod -a -G nagcmd apache2) 下载nagios和nagios的插件(根据最新版本,安装包名会有所变动)mkdir ~/downloadscd ~/downloadswget /download/nagios-3.0.6.tar.gzwget /download/nagios-plugins-1.4.13.tar.gz3) 编译和安装nagioscd ~/downloadstar xzf nagios-3.0.6.tar.gzcd nagios-3.0.6运行nagios的配置脚本,开始配置nagios./configure --with-command-group=nagcmd编译nagios源码包,make命令需要调用当前目录下的Makefile的文件,执行make时不能离开现在这个目录make all安装二进制文件,初始化脚本,sample的配置文件,并且设置目录权限make installmake install-initmake install-configmake install-commandmode4) 个性化的配置(可不设置)在/usr/local/nagis/etc/目录下已经安装了一些配置文件的样本,可以根据需要修改里面的配置。
Nagios监控的使用一、Nagios简介Nagios是一个监视系统运行状态和网络信息的监视系统。
Nagios能监视所指定的本地或远程主机以及服务,同时提供异常通知功能等Nagios可运行在Linux/Unix平台之上,同时提供一个可选的基于浏览器的WEB界面以方便系统管理人员查看网络状态,各种系统问题,以及日志等等。
Nagios的主要功能特点:监视网络服务(SMTP,POP3,HTTP,NNTP,PING等)监视主机资源(进程,磁盘等)简单的插件设计可以轻松扩展Nagios的监视功能服务等监视的并发处理错误通知功能(通过email,pager,或其他用户自定义方法)可指定自定义的事件处理控制器可选的基于浏览器的WEB界面以方便系统管理人员查看网络状态,各种系统问题,以及日志等等二、工作原理Nagios自身是不带任何功能的,Nagios监测服务只能是本地系统监测以及对远程主机的连通性监测。
为了使Nagios的监测服务器能够远程对被监测主机系统上的信息进行获取,比如远程系统上的进程数、磁盘空间使用状况、所运行的服务等等这些必须要登录远程主机系统上才能了解的信息的话,就必须要依靠NRPE或nsclient这个核心扩展插件程序,NRPE 作为中间的代理程序,扮演着一手接受着Nagios监测服务器发来的请求,另一手在远程主机系统上获取指定的信息的中间人角色。
,要实现监控功能,我们必须安装插件(plugins),以及nrpe。
2.1 监控windows1. windows设置1)安装nsclient,然后在cmd命令台执行以下命令2)修改nsclient的nse.ini配置文件[modules] #去掉注释符号”;”除了CheckWMI.dll和RemoteConfiguration.d llFileLogger.dllCheckSystem.dllCheckDisk.dllNSClientListener.dll[Settings]allowd_host=192.168.2.2 #为nagios服务的IP[NSClient]port=12489 #去掉注释就可以了!3)启动nsclient服务并确认端口是否打开2. linux设置接下来我们开始配置nagios服务器里面的内容,因为nagios是模块化调用,先到配置文件打开windows相关模块。
nagios全攻略(一)----准备阶段一. 准备阶段:1.实验环境注:监控机:安装了nagios软件的机器,对监控的数据做处理,并且提供web界面查看和管理.当然也可以对本机自身的信息进行监控.被监控机:安装了NRPE等客户端,根据监控机的请求执行监控,然后将结果回传给监控机.2.nagios原理3.Nagios定义的监控状态nagios定义了4中监控状态,代表不同的严重级别,除了OK代表正常不用关心4.所用软件nagios-2.9.tar.gznagios-plugins-1.4.9.tar.gznrpe-2.8.1.tar.gzNSClient++-0.2.7.zip注:前三个的下载地址:[url][/url],后一个的[url]/projects/nscplus[/url] 5.总体目标学习嘛,总要有个目标,很简单,就是看到下面这张图主机名要监控的服务nagios-server 是否活动是否开启ftp磁盘使用情况dbpi 是否活动是否开启ssh磁盘使用情况cpu负载swap分区使用情况其中蓝色字体的服务是外部服务,也就是说不需要登陆被监控机,直接在外部就可以进行检查.例如我们需要检查被监控机是否打开80端口,就可以在别的一台机器上telnet被监控机的80端口即可.绿色字体表示是内部服务,意思是必须登陆到被监控机上才能查看.因为它们属于”本地信息”(nagios将之称为LOCAL).很容易理解,你不登陆到被监控机上,如何知道当前磁盘的使用情况呢?nagios是不是很强大,基本上对监控对象的任何信息都可以一手掌握了.而且不用登陆到目的机就可以看到那台机器私密的”本地信息”,比木马还厉害啊.但是别误会,这可不是什么木马.nagios有着十分安全的措施.这确实是一个庞大的工程,你想想这还只是三台机器而已都已经监控这么多服务了,那要是多个几十台怎么办,不用紧张,从现在开始,跟我动手吧.家庭作业,将所用的软件下载好,配置好监控机192.168.0.111上的apache.敬请期待nagios全攻略(二)----基本安装和配置(上)二. 基本安装和配置本部分主要参考官方文档和田逸的文章<<看我出招之:我用Nagios(技术细节)>>来修改完成.最后达到如下的功能监控机自身的信息,包括主机信息以及对外提供的服务被监控机对外提供的服务如下所有的操作都在监控机192.168.0.111上进行1.安装nagios主程序解压缩tar -zxvf nagios-2.9.tar.gzcd nagios-2.9编译,指定安装目录为/usr/local/nagios./configure --prefix=/usr/local/nagiosmake all输出如下信息求救,而实际上输出的内容包含很多有价值的信息,例如安装路径,版本,每一步做什么,接下来的步骤等.尤其是输出的最后一屏信息,我个人建议好好的读一下.例如上面就列出了很多有价值的信息,我们只需要按照他说的做就行了.安装make install[root@localhost nagios-2.9]#useradd nagios[root@localhost nagios-2.9]#mkdir /usr/local/nagios[root@localhost nagios-2.9]# chown nagios.nagios /usr/local/ nagios查看目录权限[root@localhost nagios-2.9]# ll /usr/localdrwxr-sr-x 2 nagios nagios 4096 Jul 10 11:14 nagios 看到nagios目录的权限已经被正确修改了执行如下命令来安装脚本make install-init执行make install-commandmode执行make install-config验证程序是否被正确安装。
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(至于每一步的具体意思,我不再详述,因为运行完毕后,提示信息会明确的告诉你,它干了什么,是怎么干的。
第 4 章Nagios入门上一页下一页第 4 章入门4.1. 给新手的建议祝贺你选择了Nagios!Nagios是一个非常强大且柔性化的软件,但可能需要不少心血来学习如何配置使之符合你所需,一旦掌握了它如何工作并怎样来工作时,你会觉得再也离不开它! :-) 对于初次使用Nagios的新手这有几个建议需要遵从:∙放松点-这会花些时间。
不要指望它事情可以在转瞬间就搞掟,没有那么容易。
设置好Nagios是一个费点事的工作,部分是由于对Nagios设置并不清楚,而还可能是由于并不清楚如何来监控现有网络(或者说如何监控会更好)。
∙使用快速上手指南。
本帮助给出了快速安装指南是给那些新手尽快地将Nagios安装到位并运行起来而写就的。
在不到二十分钟之内可以安装并监控本地的系统,一旦完成了,就可以继续学习配置Nagios了。
∙阅读文档。
如果掌握Nagios运行机制,可以高效地配置它并且使之无所不能。
确信已经阅读了这些文档(是"配置Nagios"和"基本操作"两章)。
在更好地理解基础性配置之前可以对那些高级内容暂时不管。
∙获得他人协助。
如果已经阅读文档并检测了样本配置文件但仍然有问题,写一个EMail给nagios-users邮件列表并写清楚问题。
由于在这个项目上我有不少事情要做,直接给我的邮件我可能无法回复,所以最好是求助于邮件列表,如果有较好的背景并且可以将问题描述清楚,或许有人可以指出如何正确来做。
更多地信息请在这个链接/support/下寻找。
4.2. 旧Nagios升级到当前版本目录∙第 4.2.1 节“从旧的3.x版本升级到当前版本”∙第 4.2.2 节“从2.x升级到3.x”∙第 4.2.3 节“从RPM包安装状态升级”4.2.1. 从旧的3.x版本升级到当前版本如果是使用3.x的旧版,肯定是要尽快升级到当前版本。
新版本修正了许多错误,下面假定已经根据快速安装指南的操作步骤从源代码包开始安装好Nagios,下面可以安装更新的版本。
全自动安装nagios-FAN配置图解教程一、n agios-FAN安装按照文档进行安装。
二、Windows服务器2.1、NSClient++的安装掠过,安装文档进行安装。
注意:安装时将NRPE功能开启。
2.2、Centreon配置2.2.1 Commands配置配置界面如下图所示:主要监控参数命令如下:CPUcheck_nt_cpu$USER1$/check_nt -H $HOSTADDRESS$ -p 12489 -v CPULOAD -s $ARG1$ -l $ARG2$磁盘check_nt_disk$USER1$/check_nt -H $HOSTADDRESS$ -p 12489 -v USEDDISKSPACE -s $ARG1$ -l $ARG2$ -w $ARG3$ -c $ARG4$计数器check_nt_jishuqi$USER1$/check_nt -H $HOSTADDRESS$ -p 12489 -s $ARG1$ -v COUNTER -l "\\PhysicalDisk(_Total)\\% Idle Time","%.2f"内存使用率check_nt_memuse$USER1$/check_nt -H $HOSTADDRESS$ -p 12489 -v MEMUSE -s $ARG1$某一进程状态check_nt_procstate$USER1$/check_nt -H $HOSTADDRESS$ -p 12489 -s $ARG1$ -v PROCSTATE -l $ARG2$ -d SHOWALL某一服务状态check_nt_service_state$USER1$/check_nt -H $HOSTADDRESS$ -p 12489 -v SERVICESTATE -l $ARG1$ -s $ARG2$系统启动时间check_nt_uptime$USER1$/check_nt -H $HOSTADDRESS$ -p 12489 -v UPTIME -s $ARG1$NSClient版本check_nt_version$USER1$/check_nt -H $HOSTADDRESS$ -p 12489 -s $ARG1$ -v CLIENTVERSION使用NRPE进行相关监控,比如日志、数据库、weblogic等check_nrpe$USER1$/check_nrpe -H $HOSTADDRESS$ -p 5666 -c $ARG1$注意:命令中的-s $ARG1$代表的是NSClient的密码,如果安装的时候没有设置密码,则需要在所有相关的监控命令中将此参数删除。
nagios网络监控Nagios是什么:Nagios是一款开源的免费网络监视工具,能有效监控Windows、Linux和Unix的主机状态,交换机路由器等网络设置,打印机等。
在系统或服务状态异常时发出邮件或短信报警第一时间通知网站运维人员,在状态恢复后发出正常的邮件或短信通知。
nagios是功能强大的监控软件,主要用来监控网络设备的状态(比如:主机的资源状态);适合于:对大量的服务器进行监控,判断其负载或服务是否正常,发生异常能通过邮件、短信报警。
特别注意:流量监控不是他的强项,流量监控建议使用cacti.可以绘制非常直观的图形nagios能监视什么:nagios可以监控:1、主机是否宕机(通过ping命令,如果ping不通会认为主机属于宕机状态,但不影响所监控的其他服务);2、服务器资源(cpu使用率、硬盘剩余空间等);3、网络服务(smtp\pop3\http\);4、监控网络设备(路由器、交换机等。
)一、RHEL系统上部署Nagios:(禁用selinux功能)系统环境:RHEL,在nagios主机上监控mysql服务器nagios 主机:192.168.10.100mysql 主机: 192.168.10.101操作步骤:1、安装编译所需的软件包:如下图所示:# yum –y install httpd php-* gd-* mysql-devel(若mysql-devel包不安装,会没有check_mysql插件。
)2、创建运行nagios服务的用户注:useradd nagios #创建运行nagios服务的用户usermod -G nagios apache #使apache用户对nagios目录具有写权限,不然web页面操作失败.3、nagios软件安装释放nagios源码包,进行编译前的预备置:编译并安装nagios及相关操作,如下图所示:注:make install //安装主程序,CGI和HTML文件make install-init //在/etc/rc.d/init.d安装启动脚本make install-commandmode //配置目录权限make install-config //安装示例配置文件make install-webconf //安装nagios的web接口,会在/etc/httpd/conf.d目录中创建nagios.conf文件。
Nagios安装部署
Nagios的介绍我就不写了,监控软件,直接上部署正文
部署环境
系统:Centos 5.6 32位
已经部署好lamp环境
为什么不用nginx
Nginx不支持Perl的CGI,然后nagios的验证需要运用到apache的htpasswd功能,至于前者,我曾经尝试运用spawn-fcgi+fcgiwrap进行部署,结果失败了
死活就是无法把nginx搞起来,哪怕最后配置了nginx的配置文件,还是找不出所以然,至于apache的验证问题,直接yum install httpd然后在chkconfig里面禁用掉httpd这个问题倒不是很大,但我后来一下,既然nagios的各项环境需求都是依照apache来的,那我干脆就直接部署好apache算了,毕竟方向不变,战术改变一下还是可以的!
开始部署nagios
装好相关的库
yum install -y gccglibcglibc-common gdgd-develxinetdopenssl-devel 直接yum,没有yum源的就去网上下
创建nagios用户和用户组
# useradd -s /sbin/nologinnagios
# mkdir /usr/local/nagios
# chown -R nagios.nagios /usr/local/nagios
下载nagios并编译安装
# tar zxvf nagios-3.4.3.tar.gz
# cdnagios
# ./configure --prefix=/usr/local/nagios
make all
make install
make install-init
make install-commandmode
make install-config
这里可以看到添加了启动项
安装配置文件
# chkconfig --add nagios
# chkconfig --level 35 nagios on
# chkconfig --list nagios
增加启动项
我这里查看启动项已经增加了
查看nagios是否成功安装
切换目录到安装路径(这里是/usr/local/nagios),看是否存在etc、bin、sbin、share、var这五个目录,如果存在则可以表明程序被正确的安装到系统了。
笔者安装的时候就没有sbin目录最后死活启动不了,于是重新安装了一遍才好
安装插件
Nagios这个平台的架构是需要安装插件的,不然它就是个空壳子
于是
#
wget /sourceforge/nagiosplug/nagios-plug ins-1.4.16.tar.gz
# tar zxvf nagios-plugins-1.4.16.tar.gz
# cd nagios-plugins-1.4.16
# ./configure --prefix=/usr/local/nagios
# make&& make install
修改apache配置文件
Httpd.conf
User nagios
Group nagios
找到用户和组,修改成nagios
找到这里!要确保这几个都有!
看你apache怎么装的,默认也许有也许没有!
为了安全起见,一般情况下要让nagios的web 监控页面必须经过授权才能访问,这需要增加验证配置,即在httpd.conf文件最后添加如下信息:
#setting for nagios
ScriptAlias /nagios/cgi-bin "/usr/local/nagios/sbin"
<Directory "/usr/local/nagios/sbin">
AuthType Basic
Options ExecCGI
AllowOverride None
Order allow,deny
Allow from all
AuthName "Nagios Access"
AuthUserFile /usr/local/nagios/etc/htpasswd //用于此目录访问身份验证的文件
Require valid-user
</Directory>
Alias /nagios "/usr/local/nagios/share"
<Directory "/usr/local/nagios/share">
AuthType Basic
Options None
AllowOverride None
Order allow,deny
Allow from all
AuthName "nagios Access"
AuthUserFile /usr/local/nagios/etc/htpasswd
Require valid-user
</Directory>
创建apache目录验证文件
使用apache自带的htpasswd命令生成
/usr/local/apache2/bin/htpasswd -c /usr/local/nagios/etc/htpasswd 提示输入密码,那么就输入密码就行了
最后就加密了
重启apache服务
Service httpd restart或者
/usr/local/apache/bin/apachectlrestart
记得看看你apache服务起来没
OK,http已经起来了
然后再输入地址
就会出现这样的界面
以上则证实,nagios安装已经完成!
Nagios的中文版
在部署了以上的nagios之后,我发现了一个问题……
我看得很累啊……都是英文
于是搜了一下,官网上还是有中文版的!
/projects/nagios-cn/files/sourcecode/zh_CN
3.2.3/nagios-cn-3.2.3.tar.bz2/download
直接用wget命令解压以后安装就行了,安装步骤和上面一样,笔者重新安装了一次,测试可以使用,同时笔者又安装了英文版之后直接用中文版覆盖式安装,仍然可用!!!
以上就是部署的详细过程!
接下啦准备看看这个怎么用……后期文档将会写进来。