nagios的使用.docx

上传人:b****4 文档编号:3540812 上传时间:2022-11-23 格式:DOCX 页数:19 大小:25.62KB
下载 相关 举报
nagios的使用.docx_第1页
第1页 / 共19页
nagios的使用.docx_第2页
第2页 / 共19页
nagios的使用.docx_第3页
第3页 / 共19页
nagios的使用.docx_第4页
第4页 / 共19页
nagios的使用.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

nagios的使用.docx

《nagios的使用.docx》由会员分享,可在线阅读,更多相关《nagios的使用.docx(19页珍藏版)》请在冰豆网上搜索。

nagios的使用.docx

nagios的使用

Nagios监控的使用

一、Nagios简介

Nagios是一个监视系统运行状态和网络信息的监视系统。

Nagios能监视所指定的本地或远程主机以及服务,同时提供异常通知功能等Nagios可运行在Linux/Unix平台之上,同时提供一个可选的基于浏览器的WEB界面以方便系统管理人员查看网络状态,各种系统问题,以及日志等等。

Nagios的主要功能特点:

Ø监视网络服务(SMTP,POP3,HTTP,NNTP,PING等)

Ø监视主机资源(进程,磁盘等)

Ø简单的插件设计可以轻松扩展Nagios的监视功能

Ø服务等监视的并发处理

Ø错误通知功能(通过email,pager,或其他用户自定义方法)

Ø可指定自定义的事件处理控制器

Ø可选的基于浏览器的WEB界面以方便系统管理人员查看网络状态,各种系统问题,以及日志等等

二、工作原理

Nagios自身是不带任何功能的,Nagios监测服务只能是本地系统监测以及对远程主机的连通性监测。

为了使Nagios的监测服务器能够远程对被监测主机系统上的信息进行获取,比如远程系统上的进程数、磁盘空间使用状况、所运行的服务等等这些必须要登录远程主机系统上才能了解的信息的话,就必须要依靠NRPE或nsclient这个核心扩展插件程序,NRPE作为中间的代理程序,扮演着一手接受着Nagios监测服务器发来的请求,另一手在远程主机系统上获取指定的信息的中间人角色。

,要实现监控功能,我们必须安装插件(plugins),以及nrpe。

2.1监控windows

1.windows设置

1)安装nsclient,然后在cmd命令台执行以下命令

nsclient++/install

2)修改nsclient的nse.ini配置文件

[modules]#去掉注释符号”;”除了CheckWMI.dll和RemoteConfiguration.dll

FileLogger.dll

CheckSystem.dll

CheckDisk.dll

NSClientListener.dll

[Settings]

allowd_host=192.168.2.2#为nagios服务的IP

[NSClient]

port=12489#去掉注释就可以了!

3)启动nsclient服务并确认端口是否打开

netstat-an|more

TCP0.0.0.0:

124890.0.0.0:

0LISTENING

2.linux设置

接下来我们开始配置nagios服务器里面的内容,因为nagios是模块化调用,先到配置文件打开windows相关模块。

vi/usr/local/nagios/etc/nagios.cfg

#Definitionsformonitoringthelocal(Linux)host

cfg_file=/usr/local/nagios/etc/objects/localhost.cfg

#DefinitionsformonitoringaWindowsmachine

cfg_file=/usr/local/nagios/etc/objects/windows.cfg#去掉这句话的注释

打开模块后配置windows.cfg

vi/usr/local/nagios/etc/objects/windows.cfg

definehost{

usewindows-server

host_namewinserver#被监控主机名

aliasMyWindowsServer

address192.168.0.8;被监控的windows地址

#把下面的host_name都改成winserver

defineservice{

usegeneric-service

host_namewinserver

service_descriptionCPULoad

check_commandcheck_nt!

CPULOAD!

-l5,80,90#监控CPU使用

}

defineservice{

usegeneric-service

host_namewinserver

service_descriptionMemoryUsage

check_commandcheck_nt!

MEMUSE!

-w80-c90#监控内存

打开windows模块,设置windows.cfg中相关被监控主机与监控内容后nagios服务器就配置完了,下面重启nagios。

2.2监控linux

Linux客户端安装了nrpe和nagios-plugins

1.修改linux被监控端的nrpe配置文件

allowed_hosts=127.0.0.1,192.168.2.2#添加nagios主机

2.修改nagios配置文件

vi/usr/local/nagios/etc/nagios.cfg

#中间添加

cfg_file=/usr/local/nagios/etc/objects/mylinux.cfg 

3.新建mylinux.cfg设置监控内容

vi/usr/local/nagios/etc/objects/mylinux.cfg

definehost{

uselinux-server

host_nameIM#被监控主机名

aliasIM#别名

address192.168.2.29#被监控主机IP地址

}

defineservice{

usegeneric-service

host_nameIM

service_descriptioncheck-load

check_commandcheck_nrpe!

check_load

}

三、监控与报警

3.1nagios监控网页

对于一个网站来说,外部用户能够看到就是该网站的页面。

网站页面能否被正常访问,以及显示是否正常势必会成为网站整体水平最直接的外在表现。

那么,如何才能在第一时间检测到网页是否正常,并且给相应的技术人员发出报警来及时解决问题,而不是等接到用户抱怨的电话后才在慌忙中仓促的解决问题呢?

解决这个问题的关键就是要在第一时间发现问题,发现那些不能显示的网页或是显示不正常的网页,并及时发出报警。

当然我们可以通过人工的方法去监测,但对于一些大型的、复杂的网站来说就不是很合适了,我们可以使用监控软件来解决这个问题。

我所使用的就是Nagios软件,它提供的插件(Plugins)中有相应的命令可以完成对网页的监控。

通过check_http的帮助我们可以清楚的了解到该命令可以为我们做什么,以及如何去做。

选项虽然很多,其实常被用到的却只有几项,而且很多选项是有默认值的一般无需设置。

下面就我们需要用到的几个选项做一个简要的说明。

选项说明

Ø-H,--hostname=ADDRESS主机名或域名

Ø-I,--IP-address=ADDRESSserver的IP地址,用于在不能DNS的情况下

Ø-p,--port=INTEGER端口号,默认80

Ø-u,--url=PATHurl,默认是/

Ø-w,--warning=DOUBLEwarning状态的响应时间,单位是秒

Ø-c,--critical=DOUBLEcritical状态的响应时间,单位是秒

Ø-t,--timeout=INTEGER连接超时时间,默认10秒

3.1.1监控测试

[root@localhostlibexec]#./check_http–H192.168.2.252-u/index.htm

HTTPOKHTTP/1.1200OK-755bytesin0.003seconds|time=0.002561s;;;0.000000size=755B;;;0

可以看出该网页是正常的,如果网页地址不对或显示有错误也会有相应的反馈信息。

3.1.2具体配置

通过Nagios监控网页一般有两种方式,一种是直接通过Nagios监控主机配置监控服务监视网页;另一种是在某一安装了NRPE的客户端主机上配置监控命令,通过NRPE监控网页情况,再将结果传回给Nagios监控主机。

通过一个装有NRPE的客户端作为桥梁的方式可以使主机更加安全,减轻Nagios主机的负担,同时可以避免在Nagios主机上配置DNS等不必要的麻烦。

(主要一种针对windows,一种针对linux)。

1)Nsclient方式

nsclient较易实现,只需要在Nagios的配置文件里添加一个服务即可。

配置内容如下

修改/etc/objects/commands.cfg,增加如下内容。

#''check_http''checkwebpagedefinecommand{command_namecheck_webpagecommand_line$USER1$/check_http$ARG1$}

修改被监控主机的.cfg文件,如下内容

definehost{

usewindows-server

host_nameweb

aliasweb

address192.168.2.252

}

definecommand{

usewindows-server

host_nameweb

command_namecheck_http

command_line$USER1$/check_http-H192.168.2.252-u/index.htm

}

2)NRPE方式

nrpe监控复杂一些,需要修改两台主机的配置文件。

修改NRPE的配置文件,增加如下内容。

#checkwebpagecommand[check_webpage]=/usr/local/nagios//libexec/check_http-H192.168.2.252/index.htm

修改Nagios配置文件,增加如下内容。

#thecheck_apacheontheremotehost.defineservice{usegeneric-servicehost_namehostnameservice_descriptionwebpagecheck_commandcheck_nrpe!

check_webpage}

3.2使用nagios监控windows基本性能

3.2.1监控CPU

查看check_nt帮助

[root@localhostlibexec]#./check_nt-h

Usage:

check_nt-Hhost-vvariable[-pport][-wwarning][-ccritical][-lparams][-dSHOWALL][-ttimeout]

#监控CPU写法

CPULOAD=

AverageCPUloadonlastxminutes.

Requesta-lparameterwiththefollowingsyntax:

-l,,.#报警格式

shouldbelessthan24*60.

Thresholdsarepercentageandupto10requestscanbedoneinoneshot.

ie:

-l60,90,95,120,90,95

报警写法例:

#完整写法为

check_nt!

CPULOAD!

-l5,80,90

check_nt调用cpuload,5分钟内负载平均达到80%为warning,负载达到90%为critical

3.2.2监控磁盘使用

USEDDISKSPACE=

Sizeandpercentageofdiskuse.

Requesta-lparametercontainingthedriveletteronly.#-l后面接的参数用来指定盘符

Warningandcriticalthresholdscanbespecifiedwith-wand-c.

#如果要监控C盘,达到80%报警,达到90%为严重危险

check_nt!

USEDDISKSPACE!

-lc-w80-c90

3.2.3监控内存

MEMUSE=

Memoryuse.

Warningandcriticalthresholdscanbespecifiedwith-wand-c.

#监控Windows服务器的内存使用情况,如果超过了80%则是warning,如果超过90%则是critical

check_commandcheck_nt!

MEMUSE!

-w80-c90

3.2.4监控服务状态

SERVICESTATE=

Checkthestateofoneorseveralservices.

Requesta-lparameterswiththefollowingsyntax:

-l,,,...

Youcanspecify-dSHOWALLincaseyouwanttoseeworkingservices

inthereturnedstring.

#监控Windows服务器的W3SVC服务的状态,如果服务停止了,则是critical

check_commandcheck_nt!

SERVICESTATE!

-dSHOWALL-lW3SVC

3.2.5监控进程状态

PROCSTATE=

Checkifoneorseveralprocessarerunning.

SamesyntaxasSERVICESTATE.

#监控Windows服务器的Explorer.exe进程的状态,如果进程停止了,则是critical

check_commandcheck_nt!

PROCSTATE!

-dSHOWALL-lExplorer.exe

3.2.6监控windows服务器运行时间

UPTIME=

Gettheuptimeofthemachine.

Nospecificparameters.Nowarningorcriticalthreshold

check_commandcheck_nt!

UPTIME

3.3使用nagios监控linux基本性能

3.3.1监控CPU

[root@localhostlibexec]#./check_load--h

Usage:

check_load[-r]-wWLOAD1,WLOAD5,WLOAD15-cCLOAD1,CLOAD5,CLOAD15

Options:

-h,--help

Printdetailedhelpscreen

-V,--version

Printversioninformation

-w,--warning=WLOAD1,WLOAD5,WLOAD15

ExitwithWARNINGstatusifloadaverageexceedsWLOADn

-c,--critical=CLOAD1,CLOAD5,CLOAD15

ExitwithCRITICALstatusifloadaverageexceedCLOADn

theloadaverageformatisthesameusedby"uptime"and"w"

-r,--percpu

DividetheloadaveragesbythenumberofCPUs(whenpossible)

#这个插件是用来检测系统当前的cpu负载,在unix里面负载的均值通常表示是1分钟,5分钟,15分钟内平均有多少进程处于等待状态.

check_load-w15,10,5-c30,25,20

#上面命令表示,当1分钟多于15个进程等待,5分钟多于10个,15分钟多于5个则为warning状态;当1分钟多于30个进程等待,5分钟多于25个,15分钟多于20个则为critical状态

1)修改nagios主机上被监控主机的配置文件

definehost{

uselinux-server

host_nameIM#被监控主机名

aliasIM#别名

address192.168.2.29#被监控主机IP地址

}

defineservice{

usegeneric-service

host_nameIM

service_descriptioncheck-load

check_commandcheck_nrpe!

check_load

}

2)修改被监控主机上nrpe配置文件

command[check_load]=/usr/local/nagios/libexec/check_load-w15,10,5-c30,25,20

#当1分钟多于15个进程等待,5分钟多于10个,15分钟多于5个则为warning状态;当1分钟多于30个进程等待,5分钟多于25个,15分钟多于20个则为critical状态

3.3.2监控登录用户

[root@localhostlibexec]#./check_users--h

Usage:

check_users-w-c

#监控服务器的用户登录情况,如果超过了5个用户则是warning,如果超过10个用户则是critical

check_user-w5-c10

1)修改nagios主机上被监控主机的配置文件

defineservice{

usegeneric-service

host_nameIM

service_descriptioncheck-users

check_commandcheck_nrpe!

check_users

}

2)修改被监控主机上nrpe配置文件

command[check_users]=/usr/local/nagios/libexec/check_users-w5-c10

#监控服务器的用户登录情况,如果超过了5个用户则是warning,如果超过10个用户则是critical

3.3.3监控磁盘分区使用

[root@localhostlibexec]#./check_disk--h

Usage:

check_disk-wlimit-climit{-ppath|-xdevice}

格式:

check_disk-w低限%-c低限%-p磁盘设备文件或则分区文件的绝对路径

Options:

选项

-w,--warning=PERCENT%

    设定告警通知百分比数,空间低于该百分比则发出告警通知。

-c,--critical=PERCENT%

    设定严重告警通知百分比数,空间低于该百分比则发出严重告警通知。

-p,--path=PATH,--partition=PARTITION

    指定磁盘设备文件或则分区文件的绝对路径。

#如果要监控根目录,达到20%报警,达到10%为严重危险

check_disk-w20%-c10%-p/dev/hda1

1)修改nagios主机上被监控主机的配置文件

defineservice{

usegeneric-service

host_nameIM

service_descriptioncheck-disk

check_commandcheck_nrpe!

check_hda1

}

2)修改被监控主机上nrpe配置文件

command[check_hda1]=/usr/local/nagios/libexec/check_disk-w80%-c90%-p/dev/hda1

#监控根目录,达到80%报警,达到90%为严重危险

3.3.4监控交换分区

[root@localhostlibexec]#./check_swap--h

Usage:

check_swap[-av]-w%-c%

         check_swap-w剩余空间%-c剩余空间%

         check_swap[-av]-w-c

         check_swap-w剩余字节数-c剩余字节数

Options:

选项

-w,--warning=INTEGER

    设定告警通知剩余字节数,剩余字节低于该值则发出告警通知,只可整数。

-w,--warning=PERCENT%%

    设定告警通知百分比数,剩余空间低于该百分比则发出告警通知,双百分号。

-c,--critical=INTEGER

    设定严重告警通知剩余字节数,剩余字节低于该值则发出严重告警通知,只可整数。

-c,--critical=PERCENT%%

    设定严重告警通知百分比数,剩余空间低于该百分比则发出严重告警通知,双百分号。

#交换分区的剩余空间达到20%则警告,达到10%则严重警告。

check_swap-w20%-c10%

1)修改nagios主机上被监控主机的配置文件

defineservice{

usegeneric-service

host_nameIM

service_descriptioncheck-swap

check_commandcheck_nrpe!

check_swap

}

2)修改被监控主机上nrpe配置文件

command[check_swap]=/usr/local/nagios/libexec/check_swap-w80%-c50%

#交换分区的剩余空间达到80%则警告,达到50%则严重警告。

3.3.5监控系统总进程

[root@localhostlibexec]#./check_procs--h

Usage:

check_procs-w-c[-mmetric][-sstate][-pppid]

[-uuser][-rrss][-zvsz][-P%cpu][-aargument-array]

[-Ccomman

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1