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.cfg
[*] define 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
登录网页后就会看见定义监控的项目了。
http://blog.运维网.com/attachment/201208/000012997.jpg
后续:配置文件详解
Nagios全系列笔记:
Nagios学习笔记之(一)最初搭建
Nagios学习笔记之(二)监控部署
Nagios学习笔记之(三)配置详解
Nagios学习笔记之(四)外部扩展
Nagios学习笔记之(五)后期维护
页:
[1]