Nagios学习笔记之(二)监控部署
Nagios学习笔记之(二)监控部署
前言:本篇致力于初涉Nagios的同学,老鸟绕行!前面已经把最基本的Nagios以及插件安装好了,现在只能对本机进行监控,要想监控远程主机,就必须通过类似于NRPE的软件来实现。监控端和被监控端都要装nrpe,因为靠此来通信,nrpe是通过ssl来通信的,所以比较安全。用到ssl就得装相关支持的包:yum -y install openssl openssl-devel现在开始来安装nrpe:以下操作在监控端进行:首先把下载下来的nrpe-2.12.tar解压(自行网上下载)#tar zxf nrpe.2.12.tar
#cd nrpe-2.12
#./configure
#make all
#make install-plugin
安装完成后会在/usr/local/nagios/libexec/下生成check_nrpe文件下面定义一个check_nrpe监控命令(默认装好以后没有被nagios调用)顺带说下监控整体思想:1.要定义监控的主机或服务2.执行什么命令来监控3.出现问题要通知的人4.采用什么方式通知,邮件|短信 -----后续再细说修改/usr/local/nagios/etc/commands.cfg(定义命令的文件),添加如下内容:define command {
command_name check_nrpe
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}
至此监控端暂时完事。以下操作在被监控端进行:需要两个文件:nagios-plugins-1.4.15.tar (nrpe依赖于这个插件)nrpe-2.12.tar (远程通信)
yum -y install xinetd
首先创建安装用户:useradd -s /sbin/nologin nagios解压安装Nagios插件:#tar xzf nagios-plugins-1.4.15.tar.gz
#cd nagios-plugins-1.4.15
#./configure --prefix=/usr/local/nagios --with-nagios-user=nagios --with-nagios-group=nagios
#make && make install
解压安装nrpe:#tar zxf nrpe.2.12.tar
#cd nrpe-2.12
#./configure
#make all
#make install-plugin
#make install-daemon
#make install-daemon-config
#make install-xinetd
安装完毕。接下来把nrpe交由xinetd来监听(好处:修改nrpe的配置文件不需要重启服务)vim /etc/xinetd.d/nrpe将only_from = 后面加上监控端的地址确保/etc/services有nrpe 5666/tcp #NRPE这一行,没有则添加重启xinetd服务,至此被监控端配置完毕。接下来测试下连通性,在监控端执行:/usr/local/nagios/libexec/check_nrpe -H 被监控端的地址如能显示 “NRPE v2.12”,表明NRPE可以和被监控端正常通信。部署前的工作基本OK了。下面来说说,服务器上具体是怎么部署监控的。首先来看下Nagios的目录结构bin #存放执行文件,如nagios,以及后续安装的扩展程序etc #存放配置文件,如nagios.cfg主配文件,平时部署维护操作最多的文件夹include #存放引用文件,默认为空libexec #存放执行命令,如check_load等,里面有很多命令,需要熟练掌握sbin #存放一些cgi,平时一般不用动share #存放一些网页文件,平时一般不用动var #存放一些产生的数据文件,平时一般不用动比较重要的就是etc和libexec。下面说下如何定义一台主机以及主机上的服务:首先修改:/usr/local/nagios/etc/nagios.cfg去掉cfg_dir=/usr/local/nagios/etc/servers前面的注释mkdir //usr/local/nagios/etc/servers将来新建的主机以及服务都可以存放在这下面,建议把主机和服务写在一个配置文件中,按主机来划分,便于管理。例如:要监控一台http服务器可以在servers下面新建一个以cfg结尾的文件vim simple-http.cfgdefine host{ #定义一个主机
use linux-server #引用etc/objects/templates.cfg中的linux-server配置(后续细说)
host_name http #定义一个主机名,并不是http的实际主机名,任意即可,但要继续,后面要调用
alias http #定义一个别名
address 192.168.1.1 #指定地址
}
define service{ #定义一个服务
use generic-service #引用etc/objects/templates.cfg中的generic-service配置(后续细说)
host_name http #引用主机名
service_description CPU Load #定义监控服务名,就是在web网页上显示的服务名
check_command check_nrpe!check_load #定义要执行的命令:让check_nrpe调用被监控端的check_load命令执行
} #以下类似(备注:每条定义的命令都必须在etc/nrpe.cfg中明确定义)
define service{
use generic-service
host_name http
service_description Current Users
check_command check_nrpe!check_users
}
define service{
use generic-service
host_name http
service_description Disk Free Space /
check_command check_nrpe!check_root
}
define service{
use generic-service
host_name http
service_description Total Processes
check_command check_nrpe!check_total_procs
}
define service{
use generic-service
host_name http
service_description Zombie Processes
check_command check_nrpe!check_zombie_procs
}
保存以后,check一下,没问题重载nagios的配置文件service nagios reload登录网页后就会看见定义监控的项目了。后续:配置文件详解
Nagios全系列笔记:
Nagios学习笔记之(一)最初搭建
Nagios学习笔记之(二)监控部署
Nagios学习笔记之(三)配置详解
Nagios学习笔记之(四)外部扩展
Nagios学习笔记之(五)后期维护
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。