Nagios监控远程主机

p.MsoNormal,li.MsoNormal,div.MsoNormal { margin: 0cm; margin-bottom: .0001pt; line-height: 150%; font-size: 13.5pt; font-family: "Calibri", "sans-serif" }
h1 { margin-top: 17.0pt; margin-right: 0cm; margin-bottom: 16.5pt; margin-left: 0cm; text-indent: 56.2pt; line-height: 240%; page-break-after: avoid; font-size: 22.0pt; font-family: "Calibri", "sans-serif" }
h2 { margin-top: 13.0pt; margin-right: 0cm; margin-bottom: 13.0pt; margin-left: 0cm; line-height: 172%; page-break-after: avoid; font-size: 18.0pt; font-family: "Calibri Light", "sans-serif" }
h3 { margin-top: 13.0pt; margin-right: 0cm; margin-bottom: 13.0pt; margin-left: 0cm; line-height: 172%; page-break-after: avoid; font-size: 16.0pt; font-family: "Calibri", "sans-serif" }
h4 { margin-top: 14.0pt; margin-right: 0cm; margin-bottom: 14.5pt; margin-left: 0cm; line-height: 156%; page-break-after: avoid; font-size: 14.0pt; font-family: "Calibri Light", "sans-serif" }
p.MsoHeader,li.MsoHeader,div.MsoHeader { margin: 0cm; margin-bottom: .0001pt; text-align: center; line-height: 150%; border: none; padding: 0cm; font-size: 9.0pt; font-family: "Calibri", "sans-serif" }
p.MsoFooter,li.MsoFooter,div.MsoFooter { margin: 0cm; margin-bottom: .0001pt; line-height: 150%; font-size: 9.0pt; font-family: "Calibri", "sans-serif" }
span.MsoIntenseEmphasis { color: #5B9BD5; font-weight: bold; font-style: italic }
span.1Char
{ font-weight: bold }
span.2Char
{ font-family: "Calibri Light", "sans-serif"; font-weight: bold }
span.3Char
{ font-weight: bold }
span.4Char
{ font-family: "Calibri Light", "sans-serif"; font-weight: bold }
span.Char { }
span.Char0 { }
p.alt0,li.alt0,div.alt0 { margin: 0cm; margin-bottom: .0001pt; text-indent: 28.0pt; line-height: 150%; background: #E7E6E6; border: none; padding: 0cm; font-size: 13.5pt; font-family: "Calibri", "sans-serif" }
.MsoChpDefault { font-size: 10.0pt; font-family: "Calibri", "sans-serif" }
.MsoPapDefault { line-height: 150% }
div.WordSection1 { }
ol { margin-bottom: 0cm }
ul { margin-bottom: 0cm }

Nagios监控远程主机

Nagios 主要用于监控一台或者多台本地主机及远程的各种信息,包括本机资源及对外的服务等。默认的Nagios 配置没有任何监控内容,仅是一些模板文件。若要让Nagios 提供服务,就必须修改配置文件,增加要监控的主机和服务,下面将详细介绍。


文件名或目录名


用途


cgi.cfg


控制CGI访问的配置文件


nagios.cfg


Nagios 主配置文件


resource.cfg


变量定义文件,在些文件中定义变量,以便由其他配置文件引用,如$USER1$


objects


objects 是一个目录,在此目录下有很多配置文件模板,用于定义Nagios 对象


objects/commands.cfg


命令定义配置文件,其中定义的命令可以被其他配置文件引用


objects/contacts.cfg


定义联系人和联系人组的配置文件


objects/localhost.cfg


定义监控本地主机的配置文件


objects/printer.cfg


定义监控打印机的一个配置文件模板,默认没有启用此文件


objects/switch.cfg


定义监控路由器的一个配置文件模板,默认没有启用此文件


objects/templates.cfg


定义主机和服务的一个模板配置文件,可以在其他配置文件中引用


objects/timeperiods.cfg


定义Nagios 监控时间段的配置文件


objects/windows.cfg


监控Windows 主机的一个配置文件模板,默认没有启用此文件

为了能更清楚的说明问题,同时也为了维护方便,建议将nagios各个定义对象创建独立的配置文件:

· 创建hosts.cfg文件来定义主机和主机组以及服务

· 用默认的contacts.cfg文件来定义联系人和联系人组

· 用默认的commands.cfg文件来定义命令

· 用默认的timeperiods.cfg来定义监控时间段

· 用默认的templates.cfg文件作为资源引用文件

NRPE 总共由两部分组成:

·check_nrpe 插件,位于监控主机上

·NRPE daemon,运行在远程的Linux主机上(通常就是被监控机)

按照上图,整个的监控过程如下:

当Nagios 需要监控某个远程Linux 主机的服务或者资源情况时:

1.Nagios 会运行check_nrpe 这个插件,告诉它要检查什么;

2.check_nrpe 插件会连接到远程的NRPE daemon,所用的方式是SSL;

3.NRPE daemon 会运行相应的Nagios 插件来执行检查;

4.NRPE daemon 将检查的结果返回给check_nrpe 插件,插件将其递交给nagios做处理。

5.注意:NRPE daemon 需要Nagios 插件安装在远程的Linux主机上,否则,daemon不能做任何的监控。

被监控端安装NRPE

NRPE依赖于nagios-plugins,因此,需要先安装nagios-plugins

nagios-plugins-2.0.3.tar.gz

nrpe-2.15.tar.gz

安装Plugins

useradd -s /sbin/nologin nagios             创建nagios用户,不允许登陆系统

解压

cd /usr/local/src                                        进入源码包目录

tar -zxf nagios-plugins-2.0.3.tar.gz       解压plugins

cd nagios-plugins-2.0.3                                   进入plugins目录

配置编译

./configure--prefix=/usr/local/nagios \

--with-nagios-user=nagios \

--with-nagios-group=nagios \

--with-mysql=/usr/local/mysql

根据服务器mysql安装路径进行调整更改,如不监控mysql可不加此选项

编译安装

make                  编译

make install       编译安装

验证安装

/usr/local/nagios/libexex/ 下是否有很多 check文件

有成功,无就重新安装

安装npre

yum -y install xinetd                           将nrpe作为xinetd下独立服务运行

解压

cd /usr/local/src                                 进入源码包目录

tar -zxf nrpe-2.15.tar.gz                   解压nrpe

cd nrpe-2.15                                        进入nrpe目录

配置编译

./configure --prefix=/usr/local/nagios \

--with-nrpe-user=nagios \

--with-nrpe-group=nagios \

--with-nagios-user=nagios \

--with-nagios-group=nagios \

--enable-command-args \

--enable-ssl

编译安装

make all

make install-plugin                             安装check_nrpe 这个插件

make install-daemon                         安装deamon

make install-daemon-config            安装配置文件

make install-xinetd                      将NRPE deamon作为xinetd下一个服务运行xinetd就必须要先安装

编辑配置文件

vim /etc/services

nrpe            5666/tcp                # NRPE                  最后添加一行

vim /etc/xinetd.d/nrpe

only_from 后面添加监控端地址

# default: on

# description: NRPE (Nagios Remote Plugin
Executor)

service nrpe

{

flags           = REUSE

socket_type     = stream

port            = 5666

wait            = no

user            = nagios

group           = nagios

server          =
/usr/local/nagios/bin/nrpe

server_args     = -c
/usr/local/nagios/etc/nrpe.cfg --inetd

log_on_failure  += USERID

disable         = no

only_from       = 127.0.0.1 192.168.44.100

}

启动nrpe

service xinetd start        启动xinetd

netstat -an | grep 5666

tcp        00 :::5666                :::*               LISTEN

5666端口监听正常,nrpe服务正常启动

注意:-c 后面接的监控命令必须是nrpe.cfg 文件中定义的。也就是NRPE
daemon只运行nrpe.cfg中所定义的命令。

cd /usr/local/nagios/etc

cat nrpe.cfg |grep -v "^#"|grep
-v "^$"

log_facility=daemon

pid_file=/var/run/nrpe.pid

server_port=5666

nrpe_user=nagios

nrpe_group=nagios

allowed_hosts=127.0.0.1

dont_blame_nrpe=0

allow_bash_command_substitution=0

debug=0

command_timeout=60

connection_timeout=300

command[check_users]=/usr/local/nagios/libexec/check_users
-w 5 -c 10

command[check_load]=/usr/local/nagios/libexec/check_load
-w 15,10,5 -c 30,25,20

command[check_hda1]=/usr/local/nagios/libexec/check_disk
-w 20% -c 10% -p /dev/hda1

command[check_zombie_procs]=/usr/local/nagios/libexec/check_procs
-w 5 -c 10 -s Z

command[check_total_procs]=/usr/local/nagios/libexec/check_procs
-w 150 -c 200

红色部分是命令名,也就是check_nrpe 的-c 参数可以接的内容,等号 “=” 后面是实际执行的插件程序(这与commands.cfg
中定义命令的形式十分相似,只不过是写在了一行)。也就是说check_users 就是等号后面/usr/local/nagios/libexec/check_users -w 5 -c 10 的简称。

常见问题分析

错误:SSL headers...
configure: error: Cannot find ssl headers

解决:yum -y install openssl-devel

监控端安装NRPE

监控端已经安装plugins    直接安装nrpe即可

解压

cd /usr/local/src                                 进入源码包目录

tar -zxf nrpe-2.15.tar.gz                   解压nrpe

cd nrpe-2.15                                        进入nrpe目录

配置编译

./configure --prefix=/usr/local/nagios \

--with-nrpe-user=nagios \

--with-nrpe-group=nagios \

--with-nagios-user=nagios \

--with-nagios-group=nagios \

--enable-command-args \

--enable-ssl

编译安装

make all

make install-plugin                      安装check_nrpe 这个插件

测试NRPE

在监控端上我们已经装好了nrpe,测试监控机使用check_nrpe 与被监控机运行的nrpe
daemon之间的通信。

/usr/local/nagios/libexec/check_nrpe -H
192.168.44.200

NRPE v2.15                                          正确返回了NRPE的版本信息,说明一切正常。

监控

vim /usr/local/nagios/etc/objects/commands.cfg

末尾定义一行nrpe

define command{

command_name    check_nrpe

command_line    $USER1$/check_nrpe
-H $HOSTADDRESS$ -c $ARG1$

}

command_name    定义命令名称为check_nrpe,在linux-services.cfg中要使用这个名称.

command_line        #这是定义实际运行的插件程序.

写发完全按照check_nrpe这个命令的用法,不知道用法的就用check_nrpe –h查

-c 后面带的$ARG1$ 参数是传给nrpe daemon
执行的检测命令,之前说过了它必须是nrpe.cfg 中所定义的那5条命令中的其中一条。在linux-services.cfg
中使用check_nrpe 的时候要用 “!” 带上这个参数。

定义Linux主机的监控

vim
/usr/local/nagios/etc/objects/linux-services.cfg

define host{

use                     linux-server

host_name               Nagios-Linux

address                 192.168.200.44   #被监控端IP

}

define service{

usegeneric-service

host_nameNagios-Linux

service_description               Current Load

check_commandcheck_nrpe!check_load

}

define service{

usegeneric-service

host_name               Nagios-Linux

service_description                  Check Disk sda1

check_commandcheck_nrpe!check_sda1

}

define service{

usegeneric-service

host_nameNagios-Linux

service_description               Total Processes

check_commandcheck_nrpe!check_total_procs

}

define service{

usegeneric-service

host_nameNagios-Linux

service_description           Current Users

check_command          check_nrpe!check_users

}

define service{

usegeneric-service

host_nameNagios-Linux

service_description           Check Zombie Procs

check_command          check_nrpe!check_zombie_procs

}

define service{

use                     generic-service

host_nameNagios-Linux

service_description               Check Swap

check_command           check_nrpe!check_swap

}

define service{

use                     generic-service

host_nameNagios-Linux

service_description          MySQL
service

check_commandcheck_nrpe!check_mysql

}

define service{

usegeneric-service

host_nameNagios-Linux

service_description                HTTP

check_commandcheck_nrpe!check_http

}

vim /usr/local/nagios/etc/ nagios.cfg

添加如下一行

cfg_file=/usr/local/nagios/etc/objects/linux-services.cfg

将linux-services.cfg包含到监控列表

自定义监控服务

还有一个任务是要监控Nagios-Linux 的Mysql情况。但是在被监控端nrpe.cfg 中默认没有定义这个监控功能的命令。怎么办?手动在nrpe.cfg 中添加,也就是自定义NRPE命令。
在被监控机上增加check_swap 命令的定义

vi
/usr/local/nagios/etc/nrpe.cfg

增加下面这一行

command[check_mysql]=/usr/local/nagios/libexec/check_mysql
-H 192.168.44.200 -P 3306 -u nagios -p 123456

nagios用户必须具有远程登陆权限

修改了配置文件,当然要重启。

define service{

use                     generic-service

host_nameNagios-Linux

service_description               MySQL service

check_commandcheck_nrpe!check_mysql

}

在监控机(Nagios-Server)上增加这个check_mysql 监控项目

同理,Nagios-Linux 上我还开启了http 服务,需要监控一下,按照上面的做法,在被监控机(Nagios-Linux)上增加check_http 命令的定义

# vi /usr/local/nagios/etc/nrpe.cfg

增加下面这一行

command[check_http]=/usr/local/nagios/libexec/check_http -I
127.0.0.1

在监控机(Nagios-Server)上增加check_http 监控项目

define service{

usegeneric-service

host_nameNagios-Linux

service_description                HTTP

check_commandcheck_nrpe!check_http

}

所有的配置文件已经修改好了,现在重启Nagios。

重启nagios

/usr/local/nagios/bin/nagios -v
/usr/local/nagios/etc/nagios.cfg         检测nagios配置文件

Total Warnings: 0

Total Errors:   0

service nagios restart          重启nagios

查看监控

监控正常

时间: 2024-10-15 05:08:30

Nagios监控远程主机的相关文章

Nagios 监控mysql服务器详细实现过程

1.NRPE介绍 NRPE是Nagios的一个功能扩展,它可在远程Linux/Unix主机上执行插件程序.通过在远程服务器上安装NRPE插件及Nagios插件程序来向Nagios监控平台提供该服务器的本地情况,如CPU负载,内存使用,磁盘使用等.这里将Nagios监控端称为Nagios服务器端,而将远程被监控的主机称为Nagios客户端. Nagios监控远程主机的方法有多种,其方式包括SNMP,NRPE,SSH,NCSA等.这里介绍其通过NRPE监控远程Linux主机的方式. NRPE(Nag

Nagios 监控部署详解

一.Nagios概述 1.简介 Nagios是插件式的结构,它本身没有任何监控功能,所有的监控都是通过插件进行的,因此其是高度模块化和富于弹性的.Nagios监控的对象可分为两类:主机和服务.主机通常指的是物理主机,如服务器.路由器.工作站和打印机等,这里的主机也可以是虚拟设备,如xen虚拟出的Linux系统:而服务通常指某个特定的功能,如提供http服务的httpd进程等.而为了管理上的方便,主机和服务还可以分别被规划为主机组和服务组等. Nagios不监控任何具体数值指标(如操作系统上的进程

Nagios监控配置

1 使用Nagios插件命令监控本机 1.1 问题 本案例要求先部署一台Nagios监控主机,并安装插件软件包,通过插件命令实现如下监控目标: 监控本机Web服务 监控本机FTP服务 监控本机SSH服务 监控本机根分区使用量 监控本机登录用户数量 监控本机运行的进程数量 1.2 方案 使用1台RHEL6虚拟机,安装部署Nagios及配套插件软件包,在本机使用插件命令监控本机服务及资源状态. 在Nagios插件软件包中,包含了大量的监控脚本,常用的插件脚本及对应功能如表-1所示. 表-1 Nagi

nagios监控实用教程

nagios监控实用教程 Nagios作为开源网络监视工具,它不但可以有效的监控内存.流量.数据库使用情况.它还可以Windows.Linux主机状态.本专题收录了有关Nagios监控相关文章,供大家参考学习. 标签:nagios nagios监控 监控工具 阅读量:26196收藏量:8 文章标题 阅读评论 作者 nagios网卡流量监控 trffic.sh 51/0 anyue0072017-04-26 nagios搭建(二):nagios监控windows主机 1203/0 fantefei

Security基础(四):OpenSSL及证书服务常用系统监控命令、搭建nagios监控服务器、配置文件及插件使用、监控远程主机的公有数据、监控远程主机的私有数据

一.OpenSSL及证书服务常用系统监控命令 目标: 本案例要求练习常用的系统监控命令完成以下任务: 使用vmstat命令监控内存及磁盘I/O信息 使用iostat命令监控CPU处理器及磁盘的I/O信息 使用sar命令监控系统最近的CPU/内存等活动 步骤: 步骤一:使用vmstat命令监控内存及磁盘I/O信息 1)报告内存.交换分区.CPU等活动信息,每2秒更新一次数据 [[email protected] ~]# vmstat 2    procs -----------memory----

Nagios监控系统

一.Nagios监控系统简介 1.Nagios工作原理 Nagios本身不包括监控主机和服务的功能.所有的监控.监测功能都是通过各种插件来完成的.安装完nagios之后,在nagios主目录下的/libexex里面放有nagios自带的插件,如:check_disk是检查磁盘空间的插件,check_load是检查cpu负载的插件,每一个插件可以通过运行./check_xxx -h命令来检查其使用方法和功能. 1.Nagios的四种监控状态 Nagios可以识别四种状态返回信息.0(OK)表示状态

nagios监控详解(中小企业必备的监控设备) <上>

cacti和nagios 都是中小企业必备的监控软件,首先来一个回顾 cacti监控优缺点:主要是监控图形流量,通过web界面监控流量,(主要监控cpu内存硬盘,流量) 基于snmp(抓取数据)和rrdtool(rrdtool主要是将抓取的数据 绘制图像) nagios监控系统服务的,也能监控window,linux,unix的主机状态,不过主要还是监控系统服务. nagios监控客户端需要借助插件以及NRPE软件 [把之前写的一个关于cacti的博客地址也不要碧莲的贴出来]http://www

Nagios 监控系统架设全攻略

Nagios 全名为(Nagios Ain’t Goona Insist on Saintood),最初项目名字是 NetSaint.它是一款免费的开源 IT 基础设施监控系统,其功能强大,灵活性强,能有效监控 Windows .Linux.VMware 和 Unix 主机状态,交换机.路由器等网络设置等.一旦主机或服务状态出现异常时,会发出邮件或短信报警第一时间通知 IT 运营人员,在状态恢复后发出正常的邮件或短信通知.Nagios 结构简单,可维护性强,越来越受中小企业青睐,以及运维和管理人

nagios监控服务

   nagios监控系统 1: ngios工作原理 1.Nagios的功能是监控服务和主机,但是他自身并不包括这部分功能,所有的监控.检测功能都是通过各种插件来完成的. 启动Nagios后,它会周期性的自动调用插件去检测服务器状态,同时Nagios会维持一个队列,所有插件返回来的状态信息都进入队列,Nagios每次都从队首开始读取信息,并进行处理后,把状态结果通过web显示出来. Nagios提供了许多插件,利用这些插件可以方便的监控很多服务状态.安装完成后,在nagios主目录下的/libe