千家信息网

监控利器Nagios之二:Nagios的细致介绍和监控外部服务器的私有信息

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,监控利器Nagios之二:Nagios的细致介绍和监控外部服务器的私有信息Nagios的监控对象的定义和对被监控设备的动作命令是分开的。一个是主程序包,一个是插件包。先来说说nagios主程序nagi
千家信息网最后更新 2026年11月02日监控利器Nagios之二:Nagios的细致介绍和监控外部服务器的私有信息

监控利器Nagios之二:Nagios的细致介绍和监控外部服务器的私有信息

Nagios的监控对象的定义和对被监控设备的动作命令是分开的。一个是主程序包,一个是插件包。先来说说nagios主程序nagios-plugins插件和nrpe软件的用处,

Nagios主程序:

Nagios主程序提供一个的只是一个监控平台,真正用作工作的并不是它,而是他的插件。在Nagios 安装完毕后,默认的配置文件在/usr/local/nagios/etc目录下。里面定义了nagios能调用的命令、对打印机和交换机的监控;以及定义的模板和报警的联系。

通常,当你要准备监控某个服务的时候,都是在nagios的主程序中定义的。Localhost.cfg配置文件是,nagios系统的默认监控定义配置文件,里面的内容都是nagios的作者写的一些定义的模板,然而,实际工作中,是不会再这里定义的,都是额外编写配置文件,区分开来的,作用是为了便于管理。通常都会在object目录下编写hosts.cfg和services.cfg配置文件,用来定义主机和服务的信息的。

Nagios-plugins插件包:

Nagios-plugins插件就是用来提供对被监控主机的动作命令,默认的有check_tcp check_load等。一般在监控外部主机服务的时候会有特点的监控动作命令,而默认的存放动作命令目录中是没有这些动作命令的脚本文件的。这就需要我们去定义,只有定义之后才能使用的。这些插件会被nagios用在什么地方呢?nagios有很多个cfg文件,用来定义各式各样的信息,其中hosts.cfg和services.cfg(一般是这两个,也可能是其他定义主机和服务的配置文件)是用来定义主机和服务的信息的。这些插件就被使用在这里。

Nrpe软件包:

Nrpe软件包是插件的扩展,在监控外部主机的私有信息的时候,客户端需要根据服务器端发来的请求来检索本地私有信息,而检索本地的私有信息就需要各种的监控动作命令,这些动作命令本身是没有的,因此就需要安装它了,通常nrpe插件包之用作于监控私有信息的,例如:监控外部主机的硬盘信息。

Nagios的安装目录详解

Nagios默认安装在usr/local/nagios/。安装完之后会在其目录下生成etc、bin、sbin、share、var 这五个目录。

Nagios 各个目录用途说明如下:

ls /usr/local/nagios

目录

作用

bin

Nagios 可执行程序所在目录

etc

Nagios 配置文件所在目录

sbin

Nagios CGI 文件所在目录,也就是执行外部命令所需文件所在的目录

share

Nagios网页文件所在的目录

libexec

Nagios 外部插件所在目录

1、etc目录

tree  /usr/local/nagios/etc/├── cgi.cfg├── htpasswd.users├── nagios.cfg├── nagiosgraph.cfg├── objects│   ├── commands.cfg│   ├── contacts.cfg│   ├── hosts.cfg│   ├── localhost.cfg│   ├── printer.cfg│   ├── service.cfg│   ├── switch.cfg│   ├── templates.cfg│   ├── timeperiods.cfg│   └── windows.cfg└── resource.cfg


在etc存放了nagios.cfg和objects目录,objects目录中就是存放nagios定义的配置文件目录,里面存放了包括定义主配置文件,变量定义文件,命令定义文件,还有定义主机和服务等文件。

nagios.cfg文件

nagios.cfg默认的路径为/usr/local/nagios/etc/nagios.cfg,是nagios的核心配置文件,所有的对象配置文件都必须在这个文件中进行定义才能发挥其作用,这里只需将对象配置文件在Nagios.cfg文件中进行引用即可。

ls /usr/local/nagios/etc/objects/

目录

作用

cgi.cfg

控制CGI访问的配置文件

nagios.cfg

Nagios 主配置文件

resource.cfg

变量定义文件,又称为资源文件,在些文件中定义变量,以便由其他配置文件引用,

objects

objects 是一个目录,在此目录下有很多配置文件模板,用于定义Nagios 对象

objects/commands.cfg

命令定义配置文件,其中定义的命令可以被其他配置文件引用

objects/contacts.cfg

定义联系人和联系人组的配置文件

objects/localhost.cfg

定义监控本地主机的配置文件

objects/templates.cfg

定义主机和服务的一个模板配置文件,可以在其他配置文件中引用

objects/timeperiods.cfg

定义Nagios 监控时间段的配置文件

objects/windows.cfg

监控Windows 主机的一个配置文件模板,默认没有启用此文件

解释:

在nagios的配置过程中涉及到的几个定义有:主机、主机组,服务、服务组,联系人、联系人组,监控时间,监控命令等,从这些定义可以看出,nagios各个配置文件之间是互为关联,彼此引用的。成功配置出一台nagios监控系统,必须要弄清楚每个配置文件之间依赖与被依赖的关系,

看到上面的目录,定义服务的目录态过于凌乱,因此一般我们不用他的本地配置文件,都会自行定义文件,这样能够更清楚的说明问题,同时也为了维护方便,通常将nagios各个定义对象创建独立的配置文件,如下:

创建hosts.cfg文件来定义主机和主机组

创建services.cfg文件来定义服

用默认的contacts.cfg文件来定义联系人和联系人组

用默认的commands.cfg文件来定义命

用默认的timeperiods.cfg来定义监控时间段

用默认的templates.cfg文件作为资源引用文件

重要的文件认识:

(1)hosts.cfg文件

hosts.cfg主要用来指定被监控的主机地址以及相关属性信息

(2)services.cfg文件

services.cfg文件主要用于定义监控的服务和主机资源,例如监控http服务、ftp服务、主机磁盘空间、主机系统负载等等。Nagios-Server 和Nagios-Windows 相关服务已在相应的配置文件中定义,所以这里只需要定义Nagios-Linux 相关服务即可,这里只定义一个检测是否存活的服务来验证配置文件的正确性,其他服务的定义将在后面讲到。

(3)commands.cfg文件

commands.cfg目录主要用于定义命令,在nagios-plugins插件包中定义一些基础的动作命令,而有些命令是需要我们去定义的。所有命令的使用都必须在这个目录下线定义好,下可以使用,

2、libexec

 tree /usr/local/nagios/libexec/├── check_apt├── check_pop -> check_tcp├── process_perfdata.pl.......................├── utils.pm└── utils.sh


libexec目录下面存放的各种动作命令,在Nagios-plugins插件包没有安装之前,此目录下仅有两个动作命令,当插件包安装之后,此目录中就会生成插件包定义出的动作命令。所有的动作命令都是在上文中提到的commands.cfg文件中定义好的,当重新定义一个命令之后,都需要在libexec目录下编译一个同名的脚本文件。只有脚本文件编译好,此命令才能生效。

Nrpe软件包生成扩展插件也是在libexec目录下。此目录下的内容解释如下:

监控对象

监控阙值

主

机

资

源

主机存活:check_ping

-w 3000.0,80% -c 5000.0,100% -p 5(3000毫秒响应时间内,丢包率超过80%报警告,5000毫秒响应时间内,丢包率超过100%报危急,一共发送5个包)

登录用户:check_user

-w 5 -c 10(w为警告,c为危急)

系统负载:check_load

-w 15,10,5 -c 30,25,20(1分钟,5分钟,15分钟大于对应的等待进程数则警告或危急)

磁盘占用率:check_disk

-w 15,10,5 -c 30,25,20(1分钟,5分钟,15分钟大于对应的等待进程数则警告或危急)

脚本检测磁盘I/O:check_iostat

-w 20% -c 10% -p /(根分区剩余空间为总大小的20%警告,10%危急,-p后是根分区)

检测僵尸进程:check_zombie _procs

-w 5 -c 10 -s Z(有5个僵尸进程报警告,10个报危急)

检测总进程数:check_total_procs

-w 150 -c 200(总进程到150个警告,200个报危急)

脚本检测内存剩余:check_mem

-w 90% -c 95%(内存空闲率90%以上报警告,95%以上报危急)

检测交换分区使用率:check_swap

-w 20% -c 10%(交换分区剩余空间为总大小的20%警告,

10%危急)

应

用

服

务

的

流

量

监

控

监控服务端口:check_tcp

-H localhost2 -p 80(主机与对应的端口号)

监控页面响应时间:check_http

-H localhost2 -u http:\/\/localhost2/test.jsp -w 5 -c 10(检查页面,超过5s报警告,超过10s报危急)

脚本检测IP连接数:check_ips

-w 200 -c 250(IP连接数超过200报警告,超过250报危急)

监控server流量:Check_traffi

-V 2c -C public -H localhost2 -I 2 -w 12,30 -c 15,35 -M -b(snmp版本,用户,主机,对应网卡,警告阀值,危急阀值)

一:实验目标

1、监控外部服务器NFS,服务端当做客户端

2、监控外部服务器的MySQL服务

3、监控外部服务器httpd

4、监控外部服务器的私有信息

二:实验环境

VMare

作用

主机名

Ip地址

安装的软件

RHEL-6.5

服务端

yu61

192.168.1.61

Nagios软件,nagios插件,nrpe,LAMP环境、NFS

RHEL-6.5

客户端

yu62

192.168.1.62

nagios插件,nrpe、mysql-server、IO

RHEL-6.5

客户端

yu63

192.168.1.63

nagios插件,nrpe、NFS、Http、

#所有服务器都需要关闭防火墙

三:实验步骤

实战:监控外部服务器私有信息

1、修改配置文件

[root@yu61 objects]# vim hosts.cfg  ##末尾添加define host{        use                     linux-server        host_name               IO63        alias                   IO服务        address                 192.168.1.63        icon_p_w_picpath              switch.gif        statusmap_p_w_picpath         switch.gd2        2d_coords               100,200        3d_coords               100,200,100        }


[root@yu61 objects]# cat service.cfg   ##末尾添加###################check_server_IO-63#############################define service{                use                     local-service                host_name               IO63                service_description     Root Partition                check_command           check_nrpe!check_sda2                } define service{                use                     local-service                host_name               IO63                service_description     Total Processes                check_command           check_nrpe!check_total_procs                } define service{                use                     local-service                host_name               IO63                service_description     Current Load                check_command           check_nrpe!check_load                }


2、检测配置和重启服务

[root@yu61 ~]# /etc/init.d/nagios checkconfig Total Warnings: 0Total Errors:   0[root@yu62 ~]# service httpd restart


3、测试查看主机和服务


4、生成nrpe.cfg

[root@yu63 nrpe-2.12]# make install-daemon-config[root@yu63 nrpe-2.12]# ls /usr/local/nagios/etc/nrpe.cfg /usr/local/nagios/etc/nrpe.cfg


5、安装xinetd服务管理nrpe

[root@yu63 nrpe-2.12]# rpm -ivh /mnt/Packages/xinetd-2.3.14-39.el6_4.x86_64.rpm[root@yu63 nrpe-2.12]# cat /etc/xinetd.d/nrpeservice nrpe{       server          = /usr/local/nagios/bin/nrpe        server_args     = -c /usr/local/nagios/etc/nrpe.cfg --inetd       log_on_failure  += USERID        disable         = noonly_from       = 127.0.0.1 192.168.1.61}


[root@yu63 nrpe-2.12]# vim /etc/services ##服务端口最后添加

[root@yu63 nrpe-2.12]# /etc/init.d/xinetd restart [root@yu63 nrpe-2.12]# netstat -antup |grep 5666tcp        0      0 :::5666                     :::*                        LISTEN      62841/xinetd


6、修改文件,指定监控标准

[root@yu63 nrpe-2.12]# vim /usr/local/nagios/etc/nrpe.cfg##在204行添加一下内容command[check_sda1]=/usr/local/nagios/libexec/check_disk-w 38% -c 35% -p /dev/sda1command[check_sda2]=/usr/local/nagios/libexec/check_disk-w 42% -c 43% -p /dev/sda2command[check_swap]=/usr/local/nagios/libexec/check_swap-w 20% -c 10%[root@yu61 objects]# /usr/local/nagios/libexec/check_nrpe -H 192.168.1.63 NRPE v2.12


7、检测配置和重启服务及测试

[root@yu61 ~]# /etc/init.d/nagios checkconfig Total Warnings: 0Total Errors:   0[root@yu62 ~]# service httpd restart


8、波动磁盘利用率查看效果

##当内存使用率达到测试值时,就会出现紧急状态

[root@yu63 nrpe-2.12]# df -hFilesystem      Size  Used Avail Use% Mounted on/dev/sda2        20G  4.8G   14G  26% /tmpfs           750M  224K  750M   1% /dev/shm/dev/sda1       4.9G  162M  4.5G   4% /boot/dev/sr0        3.6G  3.6G     0 100% /mnt[root@yu63 ~]# dd if=/dev/zero of=a.txt count=100 bs=40M[root@yu63 ~]# df -h Filesystem      Size  Used Avail Use% Mounted on/dev/sda2        20G  6.3G   12G  35% /tmpfs           750M  224K  750M   1% /dev/shm/dev/sda1       4.9G  162M  4.5G   4% /boot/dev/sr0        3.6G  3.6G     0 100% /mnt


[root@yu63 ~]# df -h Filesystem      Size  Used Avail Use% Mounted on/dev/sda2        20G  7.2G   12G  40% /tmpfs           750M  224K  750M   1% /dev/shm/dev/sda1       4.9G  162M  4.5G   4% /boot/dev/sr0        3.6G  3.6G     0 100% /mnt



文件 监控 服务 配置 目录 主机 命令 插件 信息 危急 动作 检测 服务器 私有 联系 对象 所在 时间 联系人 脚本 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 科技互联网 广东万易互联网科技有限公司惠州分公司 科技互联网龙头 广州宏创互联网科技 时间互联网络科技 互联网科技公司有哪些 中国互联网金融科技基金 互联网金融监管科技 中正互联网科技招聘 河南猎农互联网科技有限公司 互联网与医疗科技 恒生互联网科技指数跳水 速维有品互联网信息科技(苏州)有限公司 畅思互联网科技 互联网企业科技类企业如何做账 启辰互联网科技 江苏互联网科技小贷 普陀区互联网教育科技管理办法 陕西彩京云互联网科技有限公司 恒生互联网科技趋势 湖北九亚互联网络科技有限公司 互联网最新的科技有限公司 成都玖崟互联网科技有限公司乐商圈怎么样 哈尔滨新华互联网科技学院 重庆威客帮互联网科技 贵州叶脉互联网科技有限公司所属行业 恒生互联网科技指数跳水 国大互联网教育科技有限公司薪资 工业互联网科技成果转化 工业互联网科技创业
0