监控利器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文件作为资源引用文件

 

重要的文件认识:

1hosts.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、修改配置文件

[[email protected] objects]# vim hosts.cfg  ##末尾添加
define host{
        use                     linux-server
        host_name               IO63
        alias                   IO服务
        address                 192.168.1.63
        icon_image              switch.gif
        statusmap_image         switch.gd2
        2d_coords               100,200
        3d_coords               100,200,100
        }
[[email protected] 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、检测配置和重启服务

[[email protected] ~]# /etc/init.d/nagios checkconfig 
Total Warnings: 0
Total Errors:   0
[[email protected] ~]# service httpd restart

3、测试查看主机和服务

4、生成nrpe.cfg

[[email protected] nrpe-2.12]# make install-daemon-config
[[email protected] nrpe-2.12]# ls /usr/local/nagios/etc/nrpe.cfg 
/usr/local/nagios/etc/nrpe.cfg

5、安装xinetd服务管理nrpe

[[email protected] nrpe-2.12]# rpm -ivh /mnt/Packages/xinetd-2.3.14-39.el6_4.x86_64.rpm
[[email protected] nrpe-2.12]# cat /etc/xinetd.d/nrpe
service nrpe
{
       server          = /usr/local/nagios/bin/nrpe
        server_args     = -c /usr/local/nagios/etc/nrpe.cfg --inetd
       log_on_failure  += USERID
        disable         = no
only_from       = 127.0.0.1 192.168.1.61
}

[[email protected] nrpe-2.12]# vim /etc/services   ##服务端口最后添加

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

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

[[email protected] 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/sda1
command[check_sda2]=/usr/local/nagios/libexec/check_disk-w 42% -c 43% -p /dev/sda2
command[check_swap]=/usr/local/nagios/libexec/check_swap-w 20% -c 10%
[[email protected] objects]# /usr/local/nagios/libexec/check_nrpe -H 192.168.1.63 
NRPE v2.12

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

[[email protected] ~]# /etc/init.d/nagios checkconfig 
Total Warnings: 0
Total Errors:   0
[[email protected] ~]# service httpd restart

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

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

[[email protected] nrpe-2.12]# df -h
Filesystem      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
[[email protected] ~]# dd if=/dev/zero of=a.txt count=100 bs=40M
[[email protected] ~]# 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
[[email protected] ~]# 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
时间: 2024-10-25 05:10:46

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

监控cacti/nagios/zabbix (二)nagios

1. Nagios安装 - 服务端(192.168.0.7)Centos6默认的yum源里没有nagios相关的rpm包,但是我们可以安装一个epel的扩展源: yum install -y epel-release 然后安装nagios相关的包yum install -y httpd nagios nagios-plugins nagios-plugins-all nrpe nagios-plugins-nrpe设置登录nagios后台的用户和密码:htpasswd -c /etc/nagio

监控利器Nagios之一:监控本地NFS和外部HTTP、MySQL服务

监控利器Nagios之一:监控本地NFS和外部HTTP.MySQL服务 Nagios是一款开源的免费网络监视工具,能有效监控Windows.Linux和Unix的主机状态,交换机路由器等网络设置,打印机等.在系统或服务状态异常时发出邮件或短信报警第一时间通知网站运维人员,在状态恢复后发出正常的邮件或短信通知. Nagios的特点: 1.监控服务http.MySQL.nfs.tcp.ping等 2.监控主机资源cpu.负载.I/O.虚拟及内存磁盘利用率等 3.支持邮件微信等报警通信. 4.可选we

运维监控利器Nagios之:安装nagios

一.安装前准备 (1)创建nagios用户和用户组 [[email protected] ~]#useradd -s /sbin/nologin nagios [[email protected] ~]#mkdir /usr/local/nagios [[email protected] ~]#chown –R  nagios.nagios /usr/local/nagios (2)开启系统sendmail服务 在nagios监控服务器上开启sendmail服务的主要作用是让nagios在检测到

监控软件之二nagios

Nagios Nagios是一款开源的免费网络监视工具,能有效监控Windows.Linux和Unix的主机状态,交换机路由器等网络设备,打印机等.在系统或服务状态异常时发出邮件或短信报警第一时间通知网站运维人员,在状态恢复后发出正常的邮件或短信通知. 功能介绍 Nagios 可以监控的功能有: 1.监控网络服务(SMTP.POP3.HTTP.NNTP.PING等): 2.监控主机资源(处理器负荷.磁盘利用率等): 3.简单地插件设计使得用户可以方便地扩展自己服务的检测方法: 4.并行服务检查机

企业监控利器nagios应用开篇

1.监控软件分类 mrtg:老牌的监控系统,网站带宽流量图,历史趋势图,也可以对资源进行监控,现在用的不多cacti:特色是绘图,历史趋势图,通过插件可以实现报警.故障分析上较差,而且报警机制有待完善.nagios:特点是专注与报警,也可以配置pnp,cacti,hyperic出图等.特别适合监控大量服务器上面的服务是否正常,通过插件实现页面配置管理.zabbix:新出的出图报警软件.有页面配置管理,通过php程序绘图.对服务器的资源消耗稍大.我司目前使用的是nagios监控系统. 2.nagi

企业监控利器nagios应用终结篇

1.nagios告警 这一篇我们聊聊nagios监控告警,我们知道nagios特点就是强大的告警功能,这也是它最大的特色,虽然有人说配置基于文本,不好维护,不像zabbix可以web端添加主机信息,但如果善用脚本,批量配置千百台主机和服务也是很容易的事,nagios支持多种告警模式,如邮件.微信.短信和电话告警.这也是比较常用的告警方式.nagios监控告警配置文件contacts.cfgdefine contact{contact_name nagiosadmin use generic-co

企业监控利器nagios应用续集

上篇讲到了nagios服务端和客户端的安装,本篇继续将nagios的配置.出图及插件开发. 1.配置server端nagios监控服务 nagios服务端安装后,安装目录是/usr/local/nagios,主配置文件是/usr/local/nagios/etc/nagios.cfg,主机配置等相关配置文件以.cfg结尾.主配置文件中定义一些需要监控的配置,数据采集等,cgi.cfg文件定义一些如页面刷新时间,用户访问权限控制等.配置主配置文件nagios.cfg找到cfg_file部分,进行设

开源监控系统中 Zabbix 和 Nagios 哪个更好?

监控平台的话,各有优劣,但基本都可以满足需求.等达到一定监控指标后,发现,最困难的是监控项目的管理. CMDB中小规模(服务器<=1k):Zabbix大规模(1k>=服务器<=10k):Nagios进行二次开发超大规模(服务器>=10k):开发适应自己平台的监控软件吧另推荐个牛逼的东西:http://prometheus.io 作者:好撑链接:https://www.zhihu.com/question/19973178/answer/131911060来源:知乎著作权归作者所有.

烂泥:学习Nagios(二):Nagios配置

本文首发于烂泥行天下 nagios安装完毕后,我们现在就来配置nagios.有关nagios的安装,可以参考<烂泥:学习Nagios(一):Nagios安装>这篇文章. 说明:为了和nagios版本的保持一直,我们在此使用的是nagios最新版nagios-4.1.0rc1. 注意:最新版的nagios可在web页面查看其运行的PID. 一.nagois监控对象 nagios监控的对象比较多,我们可以从颗粒度的不同进行划分,分为笼统对象和详细对象. 1.1笼统对象 nagios监控的笼统对象可