Nagios是一款开源的监控系统,它利用各种插件完成所需要监控的主机和服务,一套完整的nagios系统,依赖于下面三个套件:

nagios 核心程序:nagios Core nagios 插件: nagios-plugin 被监控主机的扩展程序:nrpe
Nagios 系统提供了一个插件NRPE,Nagios 通过周期性的运行它来获得被监控服务器的各种状态信息

nagios本身并不需要其他的依赖包,只是在为了直观地显示监控结果的web界面会用到httpd,一套完整的nagios监控系统,包含了nagios Core、nagios-pulugin、nrpe、apache等套件。、

我们分为三个部分来进行叙述:

一、安装并配置需要的环境

操作系统:CentOS 7

所用到的nagios套件安装包:
下载地址

(包含nagios-4.3.4、nagios-plugin、nrpe-3.2.1)

1、安装依赖工具

刚装完的系统空空如也,为了能正常安装nagios,首先得把依赖工具装好,这里,使用光盘自带的yum源完成工作安装,主要包含了gcc编译环境、ssl等软件包的安装:

# yum install gcc glibc glibc-common gd gd-devel xinetd openssl-devel -y

2、安装apache和PHP环境

nagios的web界面,依赖apache来实现,LAMP的安装应该都烂熟于心了,这里,我们直接用光盘完成apache安装:

yum install httpd.x86_64 php-5.4.16 -y

3、创建nagios用户和组

为便于管理,nagios程序的相关权限统一用nagios用户进行维护,将nagios的所有属组都划为nagios,创建nagios用户及组,这一步骤需要在监控端与被监控端都完成:

useradd nagios -s /sbin/nologin

可以验证一下是否创建成功:

id nagios

没问题则第一部分到此结束

二、服务器端的安装

1、安装nagios主程序

nagios分服务端与客户端,为便于理解,将监控主机称为服务端,被监控主机称为客户端,在服务端的安装,主要是完成nagios Core的安装.

这里使用源码编译安装的方式完成:

# tar zxvf nagios-4.3.4.tar.gz
# cd nagios-4.3.4
# ./configure --with-nagios-user=nagios  --with-nagios-group=nagios
# make all
# make install
# make install-init
# make install-commandmode
# make install-config
# make install-webconf

完成后,在/usr/local/nagios文件夹下可以看到bin,etc,sbin,share,var等文件夹

2、配置nagios web界面

nagios使用apache提供直观的显示界面,需要为apache配置nagios界面,执行了make install-webconf后,在apache的配置路径/etc/httpd/conf.d/下生成了nagios的httpd配置文件nagios.conf,将其中的内容添加到/etc/httpd/conf/httpd.cond文件末尾即可。

nagios.conf文件内容:

# SAMPLE CONFIG SNIPPETS FOR APACHE WEB SERVER
#
# This file contains examples of entries that need
# to be incorporated into your Apache web server
# configuration file.  Customize the paths, etc. as
# needed to fit your system.ScriptAlias /nagios/cgi-bin "/usr/local/nagios/sbin"<Directory "/usr/local/nagios/sbin">
#  SSLRequireSSLOptions ExecCGIAllowOverride None<IfVersion >= 2.3><RequireAll>Require all granted
#        Require host 127.0.0.1AuthName "Nagios Access"AuthType BasicAuthUserFile /usr/local/nagios/etc/htpasswd.usersRequire valid-user</RequireAll></IfVersion><IfVersion < 2.3>Order allow,denyAllow from all
#     Order deny,allow
#     Deny from all
#     Allow from 127.0.0.1AuthName "Nagios Access"AuthType BasicAuthUserFile /usr/local/nagios/etc/htpasswd.usersRequire valid-user</IfVersion>
</Directory>Alias /nagios "/usr/local/nagios/share"<Directory "/usr/local/nagios/share">
#  SSLRequireSSLOptions NoneAllowOverride None<IfVersion >= 2.3><RequireAll>Require all granted
#        Require host 127.0.0.1AuthName "Nagios Access"AuthType BasicAuthUserFile /usr/local/nagios/etc/htpasswd.usersRequire valid-user</RequireAll></IfVersion><IfVersion < 2.3>Order allow,denyAllow from all
#     Order deny,allow
#     Deny from all
#     Allow from 127.0.0.1AuthName "Nagios Access"AuthType BasicAuthUserFile /usr/local/nagios/etc/htpasswd.usersRequire valid-user</IfVersion>
</Directory>

nagios.conf文件中定义了认证用户的认证文件名htpasswd.users和存放路径/usr/local/nagios/etc/

AuthUserFile /usr/local/nagios/etc/htpasswd.users

htpasswd在对应的路径下生成对应的认证密码文件:

 htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
# 回车后提示输入密码,两次确认后密码生效
#认证用户名为nagiosadmin

htpasswd.users文件中的内容为nagiosadmin密码的加密串

3、安装nagios插件

前面说到,nagios是通过各类插件实现对各个主机及服务的监控,这里要完成的nagios-plugin是nagios官方提供的基础插件包。

同样,也是采用编译安装方式:

tar zxvf nagios-plugins-2.1.2.tar.gz
cd nagios-plugins-2.1.2
./configure --with-nagios-user=nagios --with-nagios-group=nagios
make && make install

完成安装后的nagios主目录包括以下文件夹:

文件夹 说明
bin Nagios 可执行程序所在目录
etc nagios 配置文件所在目录
sbin Nagios CGI 文件所在目录,也就是执行外部命令所需文件所在的目录
share Nagios网页文件所在的目录
libexec Nagios 外部插件所在目录
var Nagios 日志文件、lock 等文件所在的目录

4、验证

启动apache服务与nagios服务,看监控服务端能否正常启动:

service httpd start
/etc/init.d/nagios start

打开浏览器,输入地址http://IP/nagios,输入安装时提供的认证用户名和密码,成功后可以看到nagios界面,完成服务端安装.

三、客户端的安装

客户端指的是被监控的主机端,在被监控端,主要是进行nrpe的安装,nagios调用自身的check_nrpe与远程被监控主机端的nrpe进程通信,完成远程被监控主机上的监控数据收集。

在进行安装之前,和前面一样,记得先完成依赖工具的安装(gcc、openssl-devel等),和nagios用户和数组的创建

1、nagios插件的安装

nagios插件与上述一样,使用编译安装完成:

tar zxvf nagios-plugins-2.1.2.tar.gz
cd nagios-plugins-2.1.2
./configure --with-nagios-user=nagios --with-nagios-group=nagios
make && make install

2、nrpe的安装

tar zxvf nrpe-3.2.1.tar.gz
cd nrpe-3.2.1
./configure --with-nagios-user=nagios --with-nagios-group=nagios
make all && make install
make install-plugin
make install-daemon
make install-daemon-config
cp sample-config/nrpe.cfg /usr/local/nagios/etc/nrpe.cfg

3、验证

安装完成后,可以通过服务端的check_nrpe命令检查客户端的nrpe是否正常工作。

首先,在客户端启动nrpe进程:
启动之前,需要修改客户端的两处配置:

1:先在客户端的nrpe.cfg配置文件中将服务端的ip地址写入allowed_hosts字段中:
2:修改/etc/xinet.d/nrpe文件:
service nrpe {disable        =  no......only_from   =  10.51.17.78  #nagios服务端的IP地址,如上面一致
}

启动nrpe:

/usr/local/nagios/bin/nrpe -d -c /usr/local/nagios/etc/nrpe.cfg

可以通过检验5666端口是否打开来检查nrpe运行与否:

netstat -lunpt |grep 5666

其次,在服务端运行check_nrpe检查客户端通信正常与否:

/usr/local/nagios/libexec/check_nrpe -H 10.51.17.62

check_nrpe的用法:

check_nrpe –H 被监控的主机 -c 要执行的监控命令

可以用check_nrpe -h来查看帮助

如果能正常返回对端的 nrpe 版本号,则说明通信没问题

否则:

  • 检查防火墙、SELinux的状态和设置
  • 检查nrpe.cfg中是否已经添加服务端地址
  • 检查服务端nagios服务的状态
  • 检查客户端nrpe进程状态

4、使用

nagios定义了check_nrpe所能使用的命令,在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
command[check_sda1]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/sda1
command[check_zombie_procs]=/usr/local/nagios/libexec/check_procs -w 5 -c 10 -s Z
command[check_total_procs]=/usr/local/nagios/libexec/check_procs -w 150 -c 200

这些命令就是服务端可以使用check_nrpe来调用查看客户端的监控命令,等号后面所接的,就是该命令所真正执行的插件的全路径,路径后面的参数,指定了不同的具体阈值来作为“警告”的严重程度:

  • w表示worning
  • c表示critical

通过checkk_nrpe -h知道,check_nrpe使用 -c参数来进行这些命令调用

可以在服务端测试一下:

/usr/local/nagios/libexec/check_nrpe -H 10.51.17.62 -c check_load
# 查看10.51.17.62这台机子的负载情况

当然,还可以通过上面的例子查看它的登录用户数、sda1分区使用情况、僵尸进程数、总进程数等指标

同理,我们也可以根据自己的需要增加自定义监控插件,只需要三个步骤:(在被监控主机(客户端))

  • /usr/local/nagios/libexec中添加插件的执行文件。
  • nrpe.cfg文件中按照模板增加一句定义语句,指向上一步自定义插件所在的全路径,并配置好参数。
  • 重启nrpe。

即可实现对客户端的自定义监控需求

-------------The End-------------

nagios的安装及nrpe的配置相关推荐

  1. Nagios的安装和基本配置(一:知识点总结及环境准备)

    实验目的及要求 掌握Nagios监控的基本使用: 掌握Nagios监控服务的搭建和配置: 实验环境: 1.满足实验要求的PC端: Host-name OS IP sofaware Nagios-ser ...

  2. Centos 7下Nagios的安装及配置(完整版)

    Centos 7下Nagios的安装及配置(完整版) 简介 Nagios 是一款自动化运维工具,可以协助运维人员监控服务器的运行状况,并且拥有报警功能.本文章将介绍其安装方法和详细的配置方法. nag ...

  3. nagios的安装与配置

    1.(一)下载所需软件包 1.nagios.3.2.0.tar.gzNagios的主程序[root@UnixHotsrc]# wgethttp://prdownloads.sourceforge.ne ...

  4. Nagios的安装和基本配置

    Nagios的安装和基本配置 实验目的要求 实验环境 实验内容 一.实训环境 二.Nagios-server的安装 三.Nagios-client的安装 四.调试验证 问题以及解决方案 心得体会 实验 ...

  5. Nagios的安装和配置

    ****Nagios的安装和配置**** 一. 实验目的及要求: (1)知识目标:掌握Nagios监控 (2)技能目标:掌握Nagios监控服务的搭建和配置 (3)环境要求如下: 二. 实验内容 Na ...

  6. Linux下Nagios的安装与配置

    Linux下Nagios的安装与配置 2017-03-23 17:40:20     来源:    点击:0 Nagios是企业普遍使用的最具影响力的网络信息监视系统之一,它可以动态监视指定的网络状态 ...

  7. nagios一键安装脚本

    nagios具有非常强大的报警功能.还可以结合pnp实现时时绘制图形.可以根据自己的需求定义:nagios的脚控类型,可以说监控服务,nagios已经做到了无所不能:下面给出nagios的安装脚步.后 ...

  8. 运维监控工具之 Nagios 客户端安装(二)

    nagios的客户端安装脚本 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 3 ...

  9. Nagios飞信linux系统免费短信报警配置

    Nagios飞信linux系统免费短信报警配置 2009-12-10 15:42 http://www.chinaunix.net 作者:solaris小兵   发表于:2009-05-26 16:2 ...

最新文章

  1. Nilearn教程系列(4)-脑部地图集绘制
  2. R语言实战应用精讲50篇(九)-正态分布的检验
  3. CentOS 7 : Docker私有仓库搭建和使用
  4. keras padding_GAN整体思路以及使用Keras搭建DCGAN
  5. mysql报1840_mysql 帮助手册 以及 warning: World-writable config file 以及 ERROR 1840 (HY000) at line 24:...
  6. Concurrent and Parallel
  7. P2422 良好的感觉
  8. Mac磁盘如何分区?教你Mac系统磁盘自由分区教程!
  9. 那些年你错过的房子 1980-2017年记录: 深圳真实房价
  10. adb shell dumpsys activity activities调用信息简析
  11. Mac怎么格式化U盘?Mac格式化fat32格式详解
  12. Princeton Algorithms, Boggle
  13. penInfra峰会回归线下,彭博、沃尔沃、Adobe等用户将进行演讲交流
  14. 软件工程第三次作业——软件质量保证鄙见
  15. 用户标签体系的搭建方法
  16. uboot调试总结(freescale平台为例)
  17. 从空间分布、空间关系、空间演化、属性数据的扩展与再分析、数据分析扩展的角度举例分析GIS空间分析的特点与重要性,并且写出一句宣传GIS空间分析的广告语
  18. Python实现多个excel文件合并源码及打包exe程序
  19. Linux下的AudoCAD替代软件
  20. 基于Rust的Web开发,actix的基本使用

热门文章

  1. Android 的Excel表的数据导出
  2. FFT(快速傅里叶变换)摘要
  3. 注册AWS账号创建EC2免费套餐详细教程
  4. java用springboot开发的美食菜谱网(有美食达人)附论文
  5. SQL 2012 拒绝了对对象 '表名‘' (数据库 'xxxxx',架构 'dbo')的 SELECT 权限。
  6. Java程序应用实例:“你好 Java”
  7. 2022-2028年全球与中国插座行业市场深度调研及投资预测分析
  8. ActiveMq createSession DUPS_OK_ACKNOWLEDGE
  9. 互联网历史上50个最重要的时刻
  10. 怎么删除计算机c盘应用,怎样删除电脑c盘中的垃圾