概要
本文描述如何监控 Linux/UNIX 主机的系统属性和本地服务,例如:
- CPU 负载
- 内存占用
- 磁盘使用
- 当前登录用户
- 运行进程
Linux/UNIX 主机的公共服务,例如 HTTP,SSH 等不在本文的讨论范围内,本文仅仅描述如上所述的系统属性和本地服务。
简介
有很多方法可以监控 Linux/Unix 主机的系统属性和本地服务,例如可以通过利用 SSH 登录远程主机,执行监控命令,Nagios 也提供了这种方式的插件 check_by_ssh
,通过这个插件可以执行被监控主机上的监控命令。这里并不推荐使用这种方法,因为当需要监控很多主机时,频繁创建和销毁 SSH 连接会非常影响监控服务器的性能。
另一种常用的方法是使用 NRPE 插件来实现监控远程主机的,NRPE 使你可以执行远程 Linux/UNIX 主机上的监控命令:
NRPE 插件由两部分组成:
NRPE: NRPE 是运行在远程被监控的主机上的代理程序,接收有 Nagios 服务器通过
check_nrpe
发送的检查请求。当收到检查请求时,它会按照请求要求执行相应的检查命令,然后将结果返回给 Nagios 监控服务器。check_nrpe:这个监控插件运行在 Nagios 服务器,用来与远程主机上的 NRPE 代理程序交互。使用这个插件时,它会告诉远程主机上 NRPE 代理程序需要监控的项目,收到返回结果后,它会将其转为自己的输出代码输出结果。
Nagios 服务端安装 check_nrpe 插件
编译 NRPE 插件时需要安装 openssl-devel
yum install openssl-devel
下载 NRPE 软件包,可以前往 https://exchange.nagios.org/ 搜索最新的软件包
wget https://github.com/NagiosEnterprises/nrpe/archive/3.0.1.tar.gz
解压缩
tar -zxvf 3.0.1.tar.gz
cd 3.0.1
编译并安装插件
./configure
make all
make install-plugin
安装完成后就可以在 /usr/local/nagios/libexec
下找到 check_nrpe
插件。
被监控主机上安装 Nagios 插件及 NRPE 代理
准备工作
安装编译环境
yum install gcc glibc glibc-common unzip openssl-devel
创建 n