上一篇介绍了如何安装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. golang截取字符串

    对于字符串操作,截取字符串是一个常用的, 而当你需要截取字符串中的一部分时,可以使用像截取数组某部分那样来操作,示例代码如下: package main import "fmt" ...

  2. css选择器参考手册

    选择器 例子 例子描述 CSS .class .intro 选择 class="intro" 的所有元素. 1 #id #firstname 选择 id="firstna ...

  3. LRU java实现

    实现LRU缓存,用到了一个链表和 HashMap, HashMap保证了get/set的时间复杂度是O(1), 链表用来记录 最近最少使用的元素,以便用来淘汰. package lru; /** * ...

  4. 利用GROUP_CONCAT函数把相同信息的合并到同一个字段中

    SELECT a.*,GROUP_CONCAT(b.pri_name) FROM sh_role a LEFT JOIN sh_privilege b ON FIND_IN_SET(b.id,a.pr ...

  5. WCF基础之设计和实现服务协定

    本来前面还有一个章节“WCF概述”,这章都是些文字概述,就不“复制”了,直接从第二章开始. 当然学习WCF还是要些基础的.https://msdn.microsoft.com/zh-cn/hh1482 ...

  6. 【题解】P4247 [清华集训]序列操作(线段树修改DP)

    [题解]P4247 [清华集训]序列操作(线段树修改DP) 一道神仙数据结构(DP)题. 题目大意 给定你一个序列,会区间加和区间变相反数,要你支持查询一段区间内任意选择\(c\)个数乘起来的和.对1 ...

  7. Django框架打印orm转换过程中的sql_模型层

    LOGGING = { 'version': 1, 'disable_existing_loggers': False, 'handlers': { 'console':{ 'level':'DEBU ...

  8. "静态方法里仅仅能调用静态变量和静态方法"具体解释

    静态方法里能够调用静态方法和静态变量,同一时候也能调用非静态方法和非静态变量. public class Test { public Test() {}; public Test(int i) {th ...

  9. JavaScript toFixed() 方法注意点

    定义和用法 toFixed() 方法可把 Number 四舍五入为指定小数位数的数字. 语法 NumberObject.toFixed(num) 参数 描述 num 必需.规定小数的位数,是 0 ~ ...

  10. T_CODE I18N

    关于T-CODE I18N 最近由于看到很多人遇到SMARTFORMS不能拖拽字段的问题,这个的解决方案 I18N:解决SMARTFORMS的不能从Field name 那边直接把变量拖入右边编辑框 ...