监控Linux或Unix主机
一、概述
有两种不同的方法监控linux/Unix主机的服务器和属性:
第一种是使用共享SSH键和check_by_ssh插件来执行远程服务器上的插件.这种方法会导致被监控的服务器负载过高不推荐使用.
第二种是使用NRPE插件,NRPE允许你执行远程服务器上的插件,推荐使用此种方式.
二、NRPE的使用
1.概述
a)设计NRPE插件的原因是为了远程Linux/Unix主机执行插件,用来监控“本地”类似于CPU负载、内存使用量等等.如果想实现这些功能那么必须在linux/Unix主机中安装NRPE插件.
b)设计概述
NRPE插件由两部分组成:
①check_nrpe插件,它使用在本地主机上.
②NRPE守护进程,它在远程监控机上运行.
当Nagios需要从远端监控机上获取监控项状态时
①Nagios将执行check_nrpe插件以及告诉它需要检查什么服务.
②本地check_nrpe插件通过SSL加密连接远端NRPE守护进程.
③NRPE守护检查运行相关插件来检查服务或资源的状态.
④检查结果是通过NRPE守护进程返回给check_nrpe插件,然后返回结果返回到Nagios进程.
2.使用示例
a)直接检查
在远程linux/Unix主机上使用NRPE插件来监控本地资源,如:cpu使用率、内存使用率、swap使用率、当前用户、硬盘使用率、进程状态等等.
b)间接检查
你可以使用NRPE插件间接的检查服务器资源,可能从监控机不能直接到达Nagios主机.
3.安装
为了使用NRPE插件,你需要在监控主机上安装NRPE.
a)先决条件
为了成功安装你需要:
- 在远程主机上有root权限
- 远程主机上有nagios用户
b)假设
你想运行NRPE守护进程没有inetd或者xinetd那么请阅读
- README
- SECURITY
c)远程主机设置
①创建账户
创建账户需要使用root账户
/usr/sbin/useradd nagios
passwd nagios
②安装Nagios插件
创建下载目录
mkdir ~/downloads
cd ~/downloads
通过http://www.nagios.org/download/下载最新版本的Nagios 插件压缩包
wget http://osdn.dl.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.6.tar.gz
解压Nagios tarball
tar -zxvf nagios-plugins-1.4.6.tar.gz
cd nagios-plugins-1.4.6
编译安装插件
./configure
make
make install
插件目录权限设置
chown nagios.nagios /usr/local/nagios
插件权限设置
chown -R nagios.nagios /usr/local/nagios/libexec
③安装xinetd
检查系统是否安装xinetd
若如没有安装可通过“yum install xinetd"命令安装
④安装NRPE守护进程
通过http://www.nagios.org/download/下载最新的NRPE源码包
cd ~/downloads
wget http://osdn.dl.sourceforge.net/sourceforge/nagios/nrpe-2.8.tar.gz
解压NRPE
tar -zxvf nrpe-2.8.tar.gz
cd nrpe-2.8
编译NRPE插件
./configure
make all
安装NRPE插件、守护进程和配置文件
make install-plugin
make install-daemon
make install-daemon-config
使用xinetd服务启动NRPE守护进程
make install-xinetd
编辑/etc/xinetd.d/nrpe文件
在only_from添加本机IP地址和Nagios服务器IP地址
格式如下
only_from = 127.0.0.1 <nagios_ip_address>
编辑/etc/services文件
添加NRPE守护进程
格式如下
nrpe 5666/tcp #NRPE
重启xinetd服务
service xinetd restart
⑤测试NRPE守护进程
确保nrpe守护进程在xinetd下运行
netstat -at | grep nrpe
输出如下
tcp 0 0 *:nrpe *:* LISTEN
如果没有上述输出请检查第④步
检查nrpe运行是否正常
/usr/local/nagios/libexec/check_nrpe -H localhost
返回NRPE的版本为运行正常
⑥打开防火墙限制
iptables -I RH-Firewall-1-INPUT -p tcp -m tcp –dport 5666 -j ACCEPT
保存规则
service iptables save
⑦自定义NRPE命令
你可以通过编辑/usr/local/nagios/etc/nrpe.cg来增加你想要的check命令
d)监控主机设置
在监控主机需要设置如下几步:
- 安装check_nrpe插件
- 创建check_nrpe插件使用Ngios命令定义
- 创建Nagios主机和服务器定义用来监控远程主机
①安装check_nrpe插件
安装需要使用root权限
创建下载目录
mkdir ~/downloads
cd ~/downloads
通过http://www.nagios.org/download/下载最新版的nrpe
wget http://osdn.dl.sourceforge.net/sourceforge/nagios/nrpe-2.8.tar.gz
解压nrpe tarball
tar -zxvf nrpe-2.8.tar.gz
cd nrpe-2.8
编译NRPE插件
./configure
make all
安装NRPE插件
make install-plugin
②NRPE通讯测试
使用命令
/usr/local/nagios/libexec/check_nrpe -H 192.168.0.1
返回NRPE版本为正常
③创建命令定义
为了使Nagios配置文件使用它,你需要创建一个命令定义.
vi /usr/local/nagios/etc/commands.cfg
增加定义项
define command{
command_name check_nrpe
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}
④创建主机和服务定义
创建一些对象的定义用来监控远程Linux/Unix主机.
接下来定义一个新的主机
建议增加linux监控主机时以主机为名称新建配置文件
cp /usr/local/nagios/etc/objects/localhost.cfg /usr/local/nagios/etc/objects/<linuxIP>.cfg
在将nagios.cfg配置中新增一行
vim /usr/local/nagios/etc/nagios.cfg
cfg_file=/usr/local/nagios/etc/objects/<linuxIP>.cfg
define host{
use linux-box ; Inherit default values from a template
host_name remotehost ; The name we're giving to this server
alias Fedora Core 6 ; A longer name for the server
address 192.168.0.1 ; IP address of the server
}
接下来定义一些服务
下列定义将监控远程主机上的CPU负载
define service{
use generic-service
host_name remotehost
service_description CPU Load
check_command check_nrpe!check_load
}
下列定义将监控远程主机上当前登录的用户
define service{
use generic-service
host_name remotehost
service_description Current Users
check_command check_nrpe!check_users
}
下列定义将监控远程主机上/dev/hda1的空间用量
define service{
use generic-service
host_name remotehost
service_description /dev/hda1 Free Space
check_command check_nrpe!check_hda1
}
下列服务将监控主机上进程总和
define service{
use generic-service
host_name remotehost
service_description Total Processes
check_command check_nrpe!check_total_procs
}
下列服务将监控主机上僵尸进程数
define service{
use generic-service
host_name remotehost
service_description Zombie Processes
check_command check_nrpe!check_zombie_procs
}
⑤重启Nagios
首先使用命令
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
确认配置文件正确
使用
service nagios restart
重启Nagios服务
4.自定义配置
每当想要自定义一个新的服务时需要做两件事情
1.在远程主机上nrpe.cfg中添加一个新的命令定义
2.Nagios定义一个新的服务定义
下列是自定义监控swap使用率的例子
a)远程主机配置
可以使用check_swap插件来监控swap的使用量.
check_swap在/usr/local/nagios/libexec目录下
使用nagios用户登录至远程主机
手动运行check_swap命令来调整警告阀值
下面例子表示如果swap空间小于20%告警“警告”,如果swap空间小于10%告警“严重警告”
/usr/local/nagios/libexec/check_swap -w 20% -c 10%
编辑nrpe配置文件
vi /usr/local/nagios/etc/nrpe.cfg
添加一行新的check_swap命令定义
command[check_swap]=/usr/local/nagios/libexec/check_swap -w 20% -c 10%
重启NRPE进程即可.
具体信息请移步至
相关推荐
标题 "turbostat.rar_Linux/Unix编程_Unix_Linux_" 暗示着这是一个与Linux/Unix系统相关的编程工具,特别是针对Intel处理器的CPU性能监控。`turbostat`工具主要用于显示现代Intel处理器在开启涡轮增压(Turbo Boost...
在Unix/Linux中,一切皆为文件,包括硬件设备。磁盘设备通常被映射到/dev目录下的特殊文件,例如/dev/sda代表第一块IDE/SATA硬盘。通过打开和读写这些设备文件,程序员可以直接与硬件交互。 三、坏块列表和磁盘检测...
在IT行业中,Linux/Unix操作系统是服务器和数据中心的首选平台,其稳定性和高效性深受开发者喜爱。对于系统管理员和开发者来说,有效地监控Linux系统至关重要,因为它可以帮助他们及时发现并解决问题,确保系统的...
在Linux和Unix系统中,硬件监控(Hardware Monitoring,hwmon)是至关重要的,因为它允许操作系统监视和管理系统的温度、电压、电流以及风扇速度等硬件状态。`thermal_hwmon.rar`这个压缩包似乎包含了与Linux内核中...
UNIX® and Linux® System Administration Handbook, Fifth Edition, is today’s definitive guide to installing, configuring, and maintaining any UNIX or Linux system, including systems that supply core ...
UNIX® and Linux® System Administration Handbook, Fifth Edition, is today’s definitive guide to installing, configuring, and maintaining any UNIX or Linux system, including systems that supply core ...
### Linux系统与性能监控知识点概览 #### 一、性能监控简介 在《Linux系统与性能监控》这一文档中,作者Darren Hoch介绍了Linux环境下如何有效地监控系统的性能。该文档全面地涵盖了网络、输入输出(I/O)、中央...
Linux是一套免费使用和自由传播的类Unix操作系统,由林纳斯·托瓦兹于1991年首次发布。 Linux不仅是一个强大的操作系统,也是一个庞大的技术生态系统,涵盖了从服务器到个人电脑的各种应用场景。同时,它的开源特性...
Linux 系统和性能监控 - 磁盘 I/O 子系统 Linux 系统中的磁盘 I/O 子系统是整个系统中最慢的一部分,主要是由于 CPU 到物理操作磁盘之间的距离所造成的。这使得读取磁盘和内存的时间相比起来,像分钟级到秒级的区别...
<filter-name>monitoring</filter-name> <filter-class>net.bull.javamelody.MonitoringFilter</filter-class> </filter> <filter-name>monitoring</filter-name> <url-pattern>/*</url-pattern> </...
### Linux系统与性能监控知识点概览 #### 一、性能监控简介 - **定义与目的**:性能监控是指持续地收集、分析系统运行时的数据,以便于了解系统的健康状况及性能表现。对于Linux系统而言,这包括但不限于CPU使用率...
标题中的"cpu-monitoring-scripts.rar"表明这是一个关于CPU监控脚本的压缩文件,适用于VHDL、FPGA、Verilog编程环境以及Unix/Linux操作系统。这些脚本和文档可以帮助用户在Unix/Linux系统中实时监控和管理CPU的使用...
The purpose of this document is to describe how to monitor Linux operating systems for performance. This paper examines how to interpret common Linux performance tool output. After collecting this ...
这份名为“Linux-Performance-Monitoring.pdf”的文档很可能是关于如何有效地监控和分析Linux系统性能的专业指南。以下是基于这个主题的一些关键知识点: 1. **系统资源监控**:监控CPU、内存、磁盘I/O和网络带宽等...
- **Linux/Unix机器**:可以直接在本地安装Nagios并配置相应的检查脚本。 - **Netware服务器**:同样需要安装额外的插件如NSCA(Nagios Service Check Acceptor)来进行监控。 - **网络打印机**:使用专门针对打印机...
Linux是一套免费使用和自由传播的类Unix操作系统,由林纳斯·托瓦兹于1991年首次发布。 Linux不仅是一个强大的操作系统,也是一个庞大的技术生态系统,涵盖了从服务器到个人电脑的各种应用场景。同时,它的开源特性...
Linux系统中的CrazyDiskInfo是一款专门用于交互式检查硬盘健康状况的工具,它基于文本用户界面(TUI)实现,可以方便地在命令行环境中查看S.M.A.R.T(Self-Monitoring, Analysis, and Reporting Technology)数据。...
IBM Tivoli Monitoring Manager是一款由IBM公司开发的系统监控工具,主要用于监控UNIX系统上的日志文件。这个工具的具体版本是Tivoli® Monitoring: UNIX Logs Agent Version 6.2 Fix Pack 1,发布于2008年5月,并且...
Linux是一套免费使用和自由传播的类Unix操作系统,由林纳斯·托瓦兹于1991年首次发布。 Linux不仅是一个强大的操作系统,也是一个庞大的技术生态系统,涵盖了从服务器到个人电脑的各种应用场景。同时,它的开源特性...