场景:nagios服务器的机器在外网,需要监控内网(172.40.8.0网段)的部分机器,现在内网只有一台机器有外网IP。由于内网大部分的机器无法直接跟nagios服务器直接相连,要监控内网机器只能从内网唯一有外网IP的机器(跳板机)入手了。目标是实现在外网的nagios服务器能监控内网的机器。
涉及知识:nagios以及插件的搭建配置,其实也没什么特别的,就是发现网上很少写这个配置的文章,所以决定写一下。
先普及一些关于nrpe的知识
NRPE 的检测类型分为两种:
直接检测:检测的对象是运行 NRPE 的那台 Linux 主机的本地资源,原理如下:
直接使用 NRPE 插件监控远程 Linux/UNIX 主机的本地或者私有资源;如 CPU 负载、内存使用、SWAP 空间使用、硬盘等运行状况。
间接检测:当运行 Nagios 的监控主机无法访问到某台被监控主机,但是运行 NRPE 的机器可以访问得到的时候,运行 NRPE 的主机就充当一个中间代理,将监控请求发送到被监控对象上。
实验机器都是ubuntu12.04,centos配置应该也差不多:外网的nagios服务器,跳板机(内网IP:172.40.8.236),内网需要监控的机器(172.40.8.235)
安装配置过程:
nagios服务端的安装配置以及直接检测的配置这里就不写了,网上一大堆文章,这里就写一下内网机器以及跳板机的配置
一.在172.40.8.236和
172.40.8.235上安装客户端检测插件:nagios-plugins和nrpe:
添加nagios用户
sudo useradd nagios
安装相关编译工具
apt-get install -y openssl libssl-dev gawk make
安装xinetd,用来管理nrpe
apt-get install -y xinetd
编译安装
nagios-plugins
tar xf nagios-plugins-1.4.16.tar.gz
cd nagios-plugins-1.4.16
./configure --with-nagios-user=nagios --with-nagios-group=nagios
make && sudo make install
编译安装nrpe
tar xf nrpe-2.14.tar.gz (注意:nrpe的版本要跟服务端的版本一致,否则可能出现问题)
cd nrpe-2.14
./configure --with-ssl=/usr/bin/openssl --with-ssl-lib=/usr/lib/x86_64-linux-gnu
make all
sudo make install-plugin
sudo make install-daemon
sudo make install-daemon-config
sudo make install-xinetd
修改nrpe配置文件
172.40.8.235的nrpe允许跳板机172.40.8.236取数据,跳板机也做类似配置。
vim /etc/xinetd.d/nrpe
-
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 172.40.8.236
-
}
重新加载生效
service xinetd reload
看看172.40.8.235的nrpe.cfg
vim /usr/local/nagios/etc/nrpe.cfg
-
# The following examples use hardcoded command arguments...
-
-
command[check_users]=/usr/local/nagios/libexec/check_users -w 5 -c 10
-
command[check_load]=/usr/local/nagios/libexec/check_load -w 10,7,5 -c 15,10,8
-
command[check_sda1]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/sda1
-
command[check_lv-data]=/usr/local/nagios/libexec/check_disk -w 15% -c 10% -p /dev/mapper/datavg-datalv
-
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
-
command[check_running_procs]=/usr/local/nagios/libexec/check_procs -w 120 -c 150 -s R
-
command[check_ssh]=/usr/local/nagios/libexec/check_ssh -p 22 -t 10 localhost
-
command[check_swap]=/usr/local/nagios/libexec/check_swap -w 20% -c 10%
接下来是比较核心的一步,到跳板机172.40.8.236配置check_nrpe调用172.40.8.235上的插件进行检测
vim /usr/local/nagios/etc/nrpe.cfg
-
#check-server2
-
-
command[ct_server2_check_users]=/usr/local/nagios/libexec/check_nrpe -H 172.40.8.235 -c check_users
-
command[ct_server2_check_load]=/usr/local/nagios/libexec/check_nrpe -H 172.40.8.235 -c check_load
-
command[ct_server2_check_sda1]=/usr/local/nagios/libexec/check_nrpe -H 172.40.8.235 -c check_sda1
-
command[ct_server2_check_lv-data]=/usr/local/nagios/libexec/check_nrpe -H 172.40.8.235 -c check_lv-data
-
command[ct_server2_check_zombie_procs]=/usr/local/nagios/libexec/check_nrpe -H 172.40.8.235 -c check_zombie_procs
-
command[ct_server2_check_running_procs]=/usr/local/nagios/libexec/check_nrpe -H 172.40.8.235 -c check_running_procs
-
command[ct_server2_check_total_procs]=/usr/local/nagios/libexec/check_nrpe -H 172.40.8.235 -c check_total_procs
-
command[ct_server2_check_ssh]=/usr/local/nagios/libexec/check_nrpe -H 172.40.8.235 -c check_ssh
-
command[ct_server2_check_swap]=/usr/local/nagios/libexec/check_nrpe -H 172.40.8.235 -c check_swap
看看效果:
相信大家也看出来了,利用跳板机监控内网机器,内网机器的服务也是挂在跳板机的ip上的,这样的缺陷就是,一旦跳板机挂了,后面的内网机器都监控不到了。
阅读(988) | 评论(0) | 转发(0) |