上一篇介绍了如何安装Nagios Core,这一篇跟大家分享一下如何将一台远程的Linux服务器加入纳入监控范围。

第一部分:在远程Linux上安装Nagios Plugins和NRPE

 

第一步:下载Nagios Plugins和NREP扩展的安装程序

 

  1. cd Downloads
  2. wget http://nagios-plugins.org/download/nagios-plugins-2.0.tar.gz

访问 http://www.nagios.org/download/addons/,点击 NRPE,在弹出的页面中点击 Download URL 就可以下载了。

第二步:创建用户

 

  1. /usr/sbin/useradd nagios

第三步:安装Nagios Plugins

  1. tar xf nagios-plugins-2.0.tar.gz
  2. cd nagios-plugins-2.0
  3. export LDFLAGS=-ldl
  4. sudo -s

./configure --with-nagios-user=nagios --with-nagios-group=nagios --enable-redhat-pthread-workaroundmake && make install
chown nagios.nagios /usr/local/nagios<chown -R nagios.nagios /usr/local/nagios/libexec/

 

第四步:安装NRPE

 

  1. tar xf nrpe-2.15.tar.gz
  2. cd nrpe-2.15
  3. ./configure
  4. make all
  5. make install-plugins
  6. make install-daemon
  7. make install-daemon-config
  8. make install-xinetd

 

第五步:将NRPE设置为守护进程(通过作为xinetd的一部分)

 

  • 打开 /etc/xinetd.d/nrpe 文件,将负责监控的那台服务器的IP地址,添加到 only_from 指令后面。多个IP地址之间要用空格隔开;
  • 编辑 /usr/local/nagios/etc/nrpe.cfg ,在 allowd_hosts 指令后加上监控服务器的IP地址,多了地址用逗号隔开;
  • 修改 /etc/services 文件,在文件末尾添加一行:
    1. nrpe 5666/tcp # NRPE
  • 启动服务
    1. service xinetd restart
  • 确认现在NRPE端口是否在监听
    1. netstat -at | grep nrpe
    2. tcp 0      0 *:nrpe *:*                         LISTEN
  • 确认NRPE是否正常
    1. /usr/local/nagios/libexec/check_nrpe -H localhost

 

第六步:修改 /usr/local/nagios/etc/nrpe.cfg 

 

这个文件中定义的命令决定了该服务器能被监控的内容,也就是说,真正的监控是通过这个文件里的命令指定的程序来执行的。比如:

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

在添加到这个文件之前,最好在命令行中实际执行一下这个命令:

/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/sda1

 

第二部分:在监控服务器上增加远程服务器的配置

 

第一步:下载 NRPE 扩展,并且安装

 

  1. tar xf nrpe-2.15.tar.gz
  2. cd nrpe-2.15
  3. ./configure
  4. make all
  5. make install-plugins

确认一下NRPE是否能链接到远程服务器

/usr/local/nagios/libexec/check_nrpe -H [远程服务器IP]

 

第二步:为远程监控服务器添加 HOST 和 Service 配置

 

只要增加监控的电脑,就要增加这两部分!

这两种配置可以分成两个文件,也可以放到一个文件里面。我在这里将 /usr/local/nagios/etc/objects/localhost.cfg 复制了一下,并且命名为了 remotehost.cfg。

将 host 块儿中的 host_name 和 alias 改成相应的远程服务器的名字和别名,将 address 改成远程服务器的IP地址。

host_group 的定义就可以删除了,并且将这台远程服务器的名字添加到 localhost.cfg 中 host_group 块儿中,写在 localhost 后面既可,用逗号隔开。

下面所有的 services 定义中,就把 host 那么换一下就可以了。

在 /usr/local/nagios/etc/nagios.cfg 当中,增加一条 cfg_file 指令,将新创建的文件名加入到后面。

 

第三步:重启Nagios

 

  1. /etc/init.d/nagios start

搭建基于Nagios的监控系统——之监控远程Linux服务器的更多相关文章

  1. jprofiler_监控远程linux服务器的JVM进程(实践)

    几天前写了一篇文章,jprofiler_监控远程linux服务器的tomcat进程(实践),介绍了使用jprofiler怎样监控远程linux的tomcat进程,这两天想了想,除了可以监控tomcat ...

  2. jprofiler_监控远程linux服务器的JVM进程(转 非常棒)

    几天前写了一篇文章,jprofiler_监控远程linux服务器的tomcat进程(实践),介绍了使用jprofiler怎样监控远程linux的tomcat进程,这两天想了想,除了可以监控tomcat ...

  3. 搭建基于Nagios的监控系统——之监控远程Windows服务器

    分享了如何监控Linux服务器,我们来看看使用Nagios如何监控Windows服务器. 第一部分:配置被监控的Windows服务器   首先,访问 http://sourceforge.net/pr ...

  4. 搭建前端监控系统(三)NodeJs服务器部署篇

    ===================================================================== 监控系统预览地址: DEMO地址    GIT代码仓库地址 ...

  5. Nagios的安装配置与应用之五监控远程Linux服务器

    本文出自 “曹坏水” 博客,请务必保留此出处http://cao2012.blog.51cto.com/366908/1132113 NRPE是Nagios的一个功能扩展,它可在远程Linux和UNI ...

  6. zabbix监控系统_监控收集脚本使用分享

    性能测试总是要监控服务器,做了zabbix监控之后,重要收集监控数据,这里分享下我是怎么做的.  准备文件 python2.7 pypa-setuptools.tar.gz  -p  -path /h ...

  7. 阶段2-新手上路\项目-移动物体监控系统\Sprint4-嵌入式web服务器开发\第3课-CGI程序开发

    实现CGI程序显示一幅图片最核心的功能 把上一节课编写好的led.c程序拷贝过来,并重新命名为image.c 把led的某些部分删除,后如下 那么如何显示一幅图片呢,百度(搜索在html里面去插入图片 ...

  8. appium环境搭建基于安卓(mac系统)

    1.需要环境 JDK Python Andriod SDK Node.js Appium Appium-Python-Client Appium-doctor 2.安装jdk(我的版本是1.8) 下载 ...

  9. jprofiler_监控远程linux服务器的tomcat进程(实践)

    一.软件列表: windows和linux的jprofiler的版本必须一致 1.jprofiler_linux_9_1_1.tar.gz 2.jprofiler_windows_x64 9_1_1 ...

随机推荐

  1. 【selenium+python】自动化测试目录与文件结构

    一.首先,看一下完整的项目目录结构图,如下: ==================目录结构================== ==================目录结构============== ...

  2. Docker基础原理

    前言 Docker是一个开源的软件项目,让用户程序部署在一个相对隔离的环境运行,借此在Linux操作系统上提供一层额外的抽象,以及操作系统层虚拟化的自动管理机制.需要额外指出的是,Docker并不等于 ...

  3. python 基础 5.0 python类一般形式

    一. 类的一般形式 创建类我们一般使用class 关键字来创建一个类,class 后面跟类型名字,可以自定义,最后以冒号结尾,如下所示:   #/usr/bin/python #coding=utf- ...

  4. 爬虫-【selenium——webElement常用方法】

    a)clear——清除元素的内容 driver.find_element_by_id("**").clesr() b)send_keys——在元素上模拟按键输入 driver.fi ...

  5. SAP RFC 的介绍

    第一部分 RFC技术 什么是RFC? RFC是SAP系统和其他(SAP或非SAP)系统间的一个重要而常用的双向接口技术,也被视为SAP与外部通信的基本协议.简单地说,RFC过程就是系统调用当前系统外的 ...

  6. cetons 怎么强制卸载 PHP

    查看php版本命令: #php -v 这个命令是删除不干净的 #yum remove php 因为使用这个命令以后再用 #php -v 还是会看到有版本信息的..... 必须强制删除 #rpm -qa ...

  7. A. Drazil and Date

    这是codeforces#292 div2 的一道题,因为本人比较水,目前只能做div2了.问题简化版就是: 从 (0,0) 走到 (a, b) ,s 步能不能走完.每次能向上下左右走,且只能走一步. ...

  8. 使用meld作为git的辅助工具

    原文链接: https://lrita.github.io/2017/05/14/use-meld-as-git-tool/?hmsr=toutiao.io&utm_medium=toutia ...

  9. Hadoop- Wordcount程序原理及代码实现

    如果对Hadoop- MapReduce分布式计算框架原理还不熟悉的可以先了解一下它,因为本文的wordcount程序实现就是MapReduce分而治之最经典的一个范例. 单词计数(wordcount ...

  10. 一步一步教你简单完成 Android USB开发

    项目中有一个新的需求,要求可以连接一个USB体温枪,APP可以从体温枪中读取到体温数据,一番搜寻之后发现一个封装很棒的USB通信库. github地址:usb-serial-for-android 准 ...