`

Monitoring Linux/Unix Machines

 
阅读更多

监控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进程即可.

 

具体信息请移步至

http://nagios.sourceforge.net/docs/nrpe/NRPE.pdf

  • 大小: 17 KB
  • 大小: 36.9 KB
  • 大小: 17.1 KB
  • 大小: 68.5 KB
  • 大小: 95.8 KB
  • 大小: 47 KB
  • 大小: 59.1 KB
  • 大小: 55.1 KB
  • 大小: 14.8 KB
  • 大小: 41.9 KB
  • 大小: 17.2 KB
  • 大小: 18.9 KB
  • 大小: 65.7 KB
  • 大小: 11.9 KB
  • 大小: 76.5 KB
  • 大小: 71.3 KB
  • 大小: 32.7 KB
  • 大小: 97.6 KB
  • 大小: 44.2 KB
  • 大小: 54 KB
  • 大小: 63.9 KB
  • 大小: 40 KB
  • 大小: 19.6 KB
  • 大小: 52.7 KB
  • 大小: 25.8 KB
  • 大小: 42.5 KB
  • 大小: 18.5 KB
  • 大小: 18.9 KB
  • 大小: 17.9 KB
  • 大小: 30 KB
  • 大小: 71.1 KB
  • 大小: 51.5 KB
  • 大小: 103.5 KB
分享到:
评论

相关推荐

    turbostat.rar_Linux/Unix编程_Unix_Linux_

    标题 "turbostat.rar_Linux/Unix编程_Unix_Linux_" 暗示着这是一个与Linux/Unix系统相关的编程工具,特别是针对Intel处理器的CPU性能监控。`turbostat`工具主要用于显示现代Intel处理器在开启涡轮增压(Turbo Boost...

    read_bb_file.rar_Linux/Unix编程_Unix_Linux_

    在Unix/Linux中,一切皆为文件,包括硬件设备。磁盘设备通常被映射到/dev目录下的特殊文件,例如/dev/sda代表第一块IDE/SATA硬盘。通过打开和读写这些设备文件,程序员可以直接与硬件交互。 三、坏块列表和磁盘检测...

    linux-monitoring.zip_Linux/Unix编程_Java_

    在IT行业中,Linux/Unix操作系统是服务器和数据中心的首选平台,其稳定性和高效性深受开发者喜爱。对于系统管理员和开发者来说,有效地监控Linux系统至关重要,因为它可以帮助他们及时发现并解决问题,确保系统的...

    thermal_hwmon.rar_Linux/Unix编程_Unix_Linux_

    在Linux和Unix系统中,硬件监控(Hardware Monitoring,hwmon)是至关重要的,因为它允许操作系统监视和管理系统的温度、电压、电流以及风扇速度等硬件状态。`thermal_hwmon.rar`这个压缩包似乎包含了与Linux内核中...

    UNIX and Linux System Administration Handbook 5th Ed

    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, 5th Edition

    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 monitoring

    ### Linux系统与性能监控知识点概览 #### 一、性能监控简介 在《Linux系统与性能监控》这一文档中,作者Darren Hoch介绍了Linux环境下如何有效地监控系统的性能。该文档全面地涵盖了网络、输入输出(I/O)、中央...

    A JuiceSSH plugin for monitoring linux servers.zip

    Linux是一套免费使用和自由传播的类Unix操作系统,由林纳斯·托瓦兹于1991年首次发布。 Linux不仅是一个强大的操作系统,也是一个庞大的技术生态系统,涵盖了从服务器到个人电脑的各种应用场景。同时,它的开源特性...

    Linux System and Performance Monitoring

    Linux 系统和性能监控 - 磁盘 I/O 子系统 Linux 系统中的磁盘 I/O 子系统是整个系统中最慢的一部分,主要是由于 CPU 到物理操作磁盘之间的距离所造成的。这使得读取磁盘和内存的时间相比起来,像分钟级到秒级的区别...

    javamelody.jar和 jrobin.jar

    &lt;filter-name&gt;monitoring&lt;/filter-name&gt; &lt;filter-class&gt;net.bull.javamelody.MonitoringFilter&lt;/filter-class&gt; &lt;/filter&gt; &lt;filter-name&gt;monitoring&lt;/filter-name&gt; &lt;url-pattern&gt;/*&lt;/url-pattern&gt; &lt;/...

    Linux System and Performance Monitoring 英文教程

    ### Linux系统与性能监控知识点概览 #### 一、性能监控简介 - **定义与目的**:性能监控是指持续地收集、分析系统运行时的数据,以便于了解系统的健康状况及性能表现。对于Linux系统而言,这包括但不限于CPU使用率...

    cpu-monitoring-scripts.rar_VHDL/FPGA/Verilog_Unix_Linux_

    标题中的"cpu-monitoring-scripts.rar"表明这是一个关于CPU监控脚本的压缩文件,适用于VHDL、FPGA、Verilog编程环境以及Unix/Linux操作系统。这些脚本和文档可以帮助用户在Unix/Linux系统中实时监控和管理CPU的使用...

    Extreme Linux Performance Monitoring and Tuning

    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-Performance-Monitoring.pdf”的文档很可能是关于如何有效地监控和分析Linux系统性能的专业指南。以下是基于这个主题的一些关键知识点: 1. **系统资源监控**:监控CPU、内存、磁盘I/O和网络带宽等...

    Nagios E Book - Linux Networking Monitoring

    - **Linux/Unix机器**:可以直接在本地安装Nagios并配置相应的检查脚本。 - **Netware服务器**:同样需要安装额外的插件如NSCA(Nagios Service Check Acceptor)来进行监控。 - **网络打印机**:使用专门针对打印机...

    Performance monitoring tools for Linux.zip

    Linux是一套免费使用和自由传播的类Unix操作系统,由林纳斯·托瓦兹于1991年首次发布。 Linux不仅是一个强大的操作系统,也是一个庞大的技术生态系统,涵盖了从服务器到个人电脑的各种应用场景。同时,它的开源特性...

    linux-CrazyDiskInfo用于Unix系统的交互式TUISMART查看器

    Linux系统中的CrazyDiskInfo是一款专门用于交互式检查硬盘健康状况的工具,它基于文本用户界面(TUI)实现,可以方便地在命令行环境中查看S.M.A.R.T(Self-Monitoring, Analysis, and Reporting Technology)数据。...

    IBM Tivoli Monitoring Manager

    IBM Tivoli Monitoring Manager是一款由IBM公司开发的系统监控工具,主要用于监控UNIX系统上的日志文件。这个工具的具体版本是Tivoli® Monitoring: UNIX Logs Agent Version 6.2 Fix Pack 1,发布于2008年5月,并且...

    Tools for monitoring NVIDIA GPUs on Linux .zip

    Linux是一套免费使用和自由传播的类Unix操作系统,由林纳斯·托瓦兹于1991年首次发布。 Linux不仅是一个强大的操作系统,也是一个庞大的技术生态系统,涵盖了从服务器到个人电脑的各种应用场景。同时,它的开源特性...

Global site tag (gtag.js) - Google Analytics