我的nagios
今天想为我负责的几台apache做个nagios 监控,主要监控负载与web服务。在网上找了很多文档,都感觉各有千秋,所以就总结了些加上自己的小摸索做个vmware的
nagios。可能有些地方不对,比如yum喜欢用*,但结果是成功的,菜鸟还需要提高。
实现nagios监控大概需要的包有这些:
http://blog.运维网.com/attachment/201111/162101622.jpg
监控端:
nagios-3.2.0.tar.gz
nagios-plugins-1.4.13.tar.gz
nrpe-2.12.tar.gz
被监控端:
nagios-plugins-1.4.13.tar.gz
nrpe-2.12.tar.gz
第一部分原理
一、核心要素:
个人见解:如要实现nagios监控服务包括三个方面;第一个是nagios的主程序没什 么实际的用途,就是一个实现的平台。第二个是nagios-plugins,他相当于一个脚本的集合,作用是包涵了一些测试或查询服务器状态的脚本。第三个就是nrpe;为了使Nagios的监测服务器能够心扩展插件程远程对被监测主机系统上的信息进行获取,比如远程系统上的进程数、磁盘空间使用状况、所运行的服务等等这些必须要登录远程主机系统上才能了解的信息的话,就必须要依靠NRPE这个核序,NRPE作为中间的代理程序,扮演着一手接受着Nagios监测服务器发来的请求,另一手在远程主机系统上获取指定的信息的中间人角色。首先必须要在远程主机上除了安装Nagios-plugins插件程序之外还必须安装NRPE核心扩展插件程序,并将NRPE在被监测的远程主机系统上以守护进程的方式运行起来,开放指定的NRPE监听端口监听着Nagios监测服务器发送过来的所有监测请求。另外,在Nagios监测服务器上,在必须要安装Nagios-plugins插件程序和NRPE核心扩展插件程序。唯一不同的是,Nagios监测服务器不需要将NRPE作为守护进程运行着,因为它本身一般不需要被别人监测着而是去监测别人,对Nagios监测服务器而言,它只需要使用到Nagio-plugins插件程序和NRPE扩展插件程序就足够了。(nrpe摘自它处,因说的简明)
二、串连
核心要素理解了以后,只要把核心要素按照功能串连起来,就会组成nagios监控系统了。
http://blog.运维网.com/attachment/201111/121051696.jpg
监控端 被监控端
这里面唯一不好理解的就是NRPE。用的多了自然就了解了。
第二部分安装:
一就是注意分清监控端与被监控端分别安那些包。二就是如果新系统需要那些工具包,我就是gcc * ,gd*,openssl*,本菜鸟,呵呵。第三就监控端与被监控端都有要nagios用户。
监控端的配置:
1.装工具(gcc,gd-devel,openssl)包与web服务略,首先
useradd -s /sbin/nologin nagios
mkdir /usr/local/nagios
chown -R nagios.nagios /usr/local/nagios
2.然后安装主程序包nagios-x.x.x
tar -zxvf nagios-x.x.x.tar.gz
cd /nagios-x.x.x
./configure --prefix=/usr/local/nagios
make all
make install-init
make install-commandmode
make install-config
make install-webconf
就安装完成后设置开机启动:
chkconfig -add nagios
chkconfig --level 35 nagios on
这样主程序包就安装完成了,下面我们创建下验证web界面的登录用户
3.用/usr/local/apache/bin/htpasswd这个命令,创建apache目录验证文件
htpasswd -c /usr/local/nagios/etc/htpasswd.user nagiosadmin
修改apache的配置文件,添加:
user nagios
group nagios
新如果要授权就在主配置文件中添加信息。
然后启动重新启动http服务
service httpd restart
主程序包安装完成后就可以通过web页面测试了,输入:
http://192.168.1.1/nagios
IP是你监控端的IP;回车后会弹出个页面,输入刚才建立的用户即可:
http://blog.运维网.com/attachment/201111/172242639.jpg
正确配置路后会出现WEB页面的管理界面
http://blog.运维网.com/attachment/201111/172937165.jpg
最后将nagios加为系统服务,并设置开机启动。然后检查下配置文件是否有错,没有错误就可以启动nagios了
make install-commandm
chkconfig --add nagios
chkconfignagios on
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg验证nagios的配置文件
启动服务:server nagios start
4.主程序包安装完成后安装插件包:
tar -axvf nagios-plugins-x.x.x.tar.gz
./configure --prefix=/usr/local/nagios
make all && make install
插件包安装完成后,会在/usr/local/nagios/libexec中出现你刚才安装的全部插件。
http://blog.运维网.com/attachment/201111/131506248.jpg
chown -R nagios:nagios nagios
5.最后安装NRPE
tar -zxvf nrpe-x.x.x.tar.gz
./configure--prefix=/usr/local/nagios
make all
make install-plugins
nrpe的作用上面已经提到过了。在监控端可以先不用配置xinetd服务。
然后编辑command.cfg定义外部构件
6.修改配置文件
vi /usr/local/nagios/etc/objects/command.cfg
#check nrpe
define command{
command_name check_nrpe
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}
7.定义监控的主机
vi /usr/local/nagios/etc/nagios/cfg
添加一段:
cfg_file=/usr/local/nagios/etc/objects/testlinux.cfg(这个名字可以自己起)
然后编辑testlinux.cfg这个新建的文件的内容,这个是监控的核心部分,这个文件里面记录这要监控的主机的IP与要监控的服务。这里就不把一般需要监控的都写上了,只写1个主机字段与1个服务的字段,之后的以此类推。
主机
define host {
use linux-server
host_name alias
alias test
address 192.168.1.2(被监控端IP)
}
defineservice {
use linux-server
host_name chenyang
service_description check-swap
check_command check_nrpe!check_swap
}
其他的就省略了,想监控什么就在配置文件中灵活添加的就好了。
这样监控端的配置就差不多完成了,还有些注意的如:
chkconfig --add nagios
chkconfig nagios on开机启动
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg 检查配置文件
要想成功,防火墙与SELINUX要不修改,要不关闭,最后都没问题了就可以启动nagios服务了。
service nagios start
http://blog.运维网.com/attachment/201111/160704515.jpg
检查配置文件的时候容易报错,如果如上图中errors中为0,那就是没问题的。
被监控端的配置:
被监控端与监控端一样,需要工具包与创建nagios用户。
然后跟监控端一样,装plugins与nrpe这两个包。
然后改变主目录权限。
安装nrpe的时候有些不一样,需要配合xinetd服务来实现.
tar -zxvf nrpe-x.x.x.tar.gz
./configure --prefix=/usr/local/nagios
make all
make install-plugins
make install-daemon
安装完成后配置nrpe的信息:
vi /usr/local/nagios/etc/nrpe.cfg
allowed_host=192.168.1.1,127.0.0.1
然后启动nrpe
/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d
最后验证
本地:
netstat -an | grep 466
http://blog.运维网.com/attachment/201111/170231585.jpg
服务端测试与被监控端NRPE的连通性:
/usr/local/nagios/libexec/check_nrpe -H 192.168.1.2 (在监控端输入,IP为被监控端IP)
显示: NRPE V2.x.x就正确了
http://blog.运维网.com/attachment/201111/170314383.jpg
页:
[1]