Nagios与pnp4nagios安装配置备忘文档格式.docx

上传人:b****5 文档编号:20513750 上传时间:2023-01-23 格式:DOCX 页数:16 大小:225.05KB
下载 相关 举报
Nagios与pnp4nagios安装配置备忘文档格式.docx_第1页
第1页 / 共16页
Nagios与pnp4nagios安装配置备忘文档格式.docx_第2页
第2页 / 共16页
Nagios与pnp4nagios安装配置备忘文档格式.docx_第3页
第3页 / 共16页
Nagios与pnp4nagios安装配置备忘文档格式.docx_第4页
第4页 / 共16页
Nagios与pnp4nagios安装配置备忘文档格式.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

Nagios与pnp4nagios安装配置备忘文档格式.docx

《Nagios与pnp4nagios安装配置备忘文档格式.docx》由会员分享,可在线阅读,更多相关《Nagios与pnp4nagios安装配置备忘文档格式.docx(16页珍藏版)》请在冰豆网上搜索。

Nagios与pnp4nagios安装配置备忘文档格式.docx

http:

//repoforge.org/use/

EPEL:

https:

//fedoraproject.org/......

一、Server端安装:

#安装nagios

yum-yinstallnagiosnagios-nrpenagios-pluginsnagios-plugins-nrpecheck_logfiles

#添加nagios到系统自动运行

chkconfig--addnagios

chkconfignagioson

nagios相关路径:

/etc/nagios#配置文件目录:

/etc/nagios/objects#模板相关配置

/usr/sbin/nagios#nagios主程序

/usr/lib(64)/nagios/cgi-bin/#nagiosCGI文件目录

/usr/lib(64)/nagios/plugins/#插件目录

/usr/share/nagios/html/#网页文件目录

/var/log/nagios/#日志,存档目录

配置Apache/Nginx密码访问

#nagiosadmin为用户名,配置这个用户名为省很多事

htpasswd-c/etc/nagios/htpasswd.nagiosnagiosadmin

启动并测试

servicenagiosstart

servicehttpdstart

#打开浏览器,输入密码,在host里面应该有“localhost”这台机器

//{your_ip_address}/nagios

二、Nagios的配置文件

对nagios进行配置需要了解一个概念object(对象),nagios使用object来对各种信息进行组织,nagios中的包含如下object:

contact(联系人):

何种方式,何种情况下采用何种方式报警给何人

contactgroup(联系人组):

对联系人进行组织

timeperiod(监控时间段):

24还是workhours,或者其他自定义的时间段

host(主机):

被监控的服务器

hostgroup(主机组):

对主机进行分类组织

command(命令):

定义Nagios要执行的监控命令

service(服务):

定义Nagios要监控的服务,如web/ssh/ftp等

servicegroup(服务组):

组织多个被监控的服务

配置文件都存放在/etc/nagios/目录或该目录下的conf.d,private,objects目录

cgi.cfg用于定义浏览器对nagios操作,比如权限控制等

nagios.cfg用于定义控制nagios行为

nrpe.cfgNRPE配置文件

nsca.cfg被动监控配置文件

resource.cfg资源配置文件,用于定义插件路径,一般不需修改

objects目录监控对象配置文件存放于下面,配置文件可以自己添加,文件名可以自行定义,只要以.cfg结尾就行,但是必须在nagios.cfg加一行代码使nagios读取这个文件,例如你可以新建个linux.cfg来添加linux监控设备,nagios.cfg应该添加一行“cfg_file=/usr/local/nagios/etc/objects/linux.cfg”,一般同一类设备写到一个文件里,当然也可以对默认的文件进行修改来添加监控设备,此目录下默认有下面几个文件

commands.cfg命令定义配置文件

contacts.cfg定义联系人列表

timeperiods.cfg定义时间监控模板

templates.cfg定义各种模板,可以是主机模板、联系人模板、监控服务模板等

localhost.cfg用于定义linux监控设备

windows.cfg用于定义windows监控设备

switch.cfg用于定义交换机,路由器等监控设备

printer.cfg用于定义打印机监控设备

深入理解Nagios的工作原理和各对象的意义域作用是有效使用Nagios的前提

三、添加被监控设备

Client端安装

#更新yum库(略)

#安装nrpe与nagios-plugins

yum-yinstallnagios-nrpenagios-pluginsnagios-plugins-nrpe

配置(client端)

vi/etc/nagios/nrpe.cfg

#下列配置表示允许127.0.0.1,192.168.121.55(Server)这两台机器访问当前机器的信息

allowed_hosts=127.0.0.1,192.168.121.55

测试(client端)

#启动nrpe(NagiosRemotePluginExecutor)

servicenrpestart

添加到服务并设置为自动启动

chkconfig--addnrpe

chkconfignrpeon

#查看端口是否启动

netstat-an|grep5666

#本机测试服务是否正常

/usr/lib/nagios/plugins/check_nrpe-H127.0.0.1-ccheck_load

/usr/lib64/nagios/plugins/check_nrpe-H127.0.0.1-ccheck_load#64bit命令

#服务器端测试访问是否正常。

**在Server上执行**

/usr/lib/nagios/plugins/check_nrpe-H{client_ip}-ccheck_load

/usr/lib64/nagios/plugins/check_nrpe-H{client_ip}-ccheck_load#64bit

四、配置(Server端)

#创建client配置文件(192.168.121.4为clientip)

一个相对比较完整的配置文件格式

1.definehost{

2.usemodel_host//定义用的模板机

3.host_namehost_name(*)//定义主机名,可起任意名字

4.aliasalias(*)//定义主机别名

5.display_namedisplay_name//定义显示名字

6.addressaddress(*)//主机名对应的ip地址

7.parentshost_names//定义父节点

8.hostgroupshostgroup_names//定义主机组名

9.check_commandcommand_name//检查主机状态的命令

10.initial_state[o,d,u]//初始化状态

11.max_check_attempts#(*)//当检查命令返回值不是“OK”时最大重试次数

12.check_interval#//#分钟进行一次检查

13.retry_interval#//重试间隔时间

14.active_checks_enabled[0/1]//主动监控开关(1开0闭)

15.passive_checks_enabled[0/1]//被动监控开关

16.check_periodtimeperiod_name(*)//主机状态检查的时间段

17.obsess_over_host[0/1]//是否启用主机操作系统探测

18.check_freshness[0/1]//是否启用freshness检查。

freshness检查是对于启用被动检查模式的主机而言的,其作用是定期检查主机报告的状态信息,如果该状态信息已经过期,freshness将会强制做主机检查。

freshness_threshold#

19.event_handlercommand_name

20.event_handler_enabled[0/1]//主机事件处理是否激活

21.low_flap_threshold#

22.high_flap_threshold#

23.flap_detection_enabled[0/1]

24.flap_detection_options[o,d,u]

25.process_perf_data[0/1]

26.retain_status_information[0/1]

27.retain_nonstatus_information[0/1]

28.contactscontacts(*)//发送报警通知给谁

29.contact_groupscontact_groups(*)//发送通知给哪个报警组

30.notification_interval#(*)//主机状态通知功能激活

31.first_notification_delay#

32.notification_periodtimeperiod_name(*)//发送通知的时间段

33.notification_options[d,u,r,f,s]//定义那些情况下发送通知

34.notifications_enabled[0/1]//发送通告开关

35.stalking_options[o,d,u]

36.notesnote_string

37.notes_urlurl

38.action_urlurl

39.icon_imageimage_file//定义主机图标

40.icon_image_altalt_string

41.vrml_imageimage_file

42.statusmap_imageimage_file

43.2d_coordsx_coord,y_coord//定义图标在网页中显示的二维坐标

44.3d_coordsx_coord,y_coord,z_coord//定义图标在网页中显示的三维坐标

45....

46.}

一个简单的样例:

1.vi/etc/nagios/objects/192.168.121.4.cfg

2. 

3.definehost{

4.uselinux-server

5.host_nameclient-1

6.aliasclient-1

7.address192.168.121.4

8.}

9. 

10.//check_load

11.defineservice{

12.usegeneric-service

13.host_nameclient-1

14.service_descriptionCurrentLoad

15.check_commandcheck_nrpe!

check_load

16.}

17. 

18.//check_disk

19.defineservice{

20.usegeneric-service//local-service改成generic-service

21.host_nameclient-1//localhost改成自定义client-1

22.service_descriptionRootPartition

23.check_commandcheck_nrpe!

check_disk!

20%!

10%!

/

24.}

25.

26.//把上面的check_local_disk改成check_nrpe!

check_disk,如果有不带local的,例如:

check_ping改成check_nrpe!

check_ping

在上面的配置中:

!

/表示执行chek_disk并传递三个参数:

20%为警告阀值,10%为严重错误阀值,/表示检查根分区

但,默认安装的nrpe是不允许传递参数的,需要编译时加上“ --enable-command-args”才可以

允许传递参数会带来安全隐患,所以在实际应用中,警告和严重错误阀值的参数一般是在被监控端直接写入,而不是通过此处传递**重要**

#添加check_nrpe指令

1.[root@localhostobjects]#vim/etc/nagios/objects/commands.cfg//修改配置文件

2.//添加以下内容

3.definecommand{

4.command_namecheck_nrpe

5.command_line$USER1$/check_nrpe-H$HOSTADDRESS$-c$ARG1$

6.//如果客户端使用的不是默认的5667端口,需要在上一行内加上-p端口

7.}

#将上面配置加到nagios

vi/etc/nagios/nagios.cfg

cfg_file=/etc/nagios/objects/192.168.121.4.cfg

运行和测试(Server端)

/usr/bin/nagios-v/etc/nagios/nagios.cfg#Server端验证配置

确认无误,启动nagios

五、配置(client端)

配置nrpe,添加指令

1.[root@localhost~]#vi/etc/nagios/nrpe.cfg

3.allowed_hosts=192.168.1.122,127.0.0.1//加上服务端的ip,可以是局域网,或者公网的IP

4.

5.command[check_users]=/usr/lib64/nagios/plugins/check_users-w5-c10

6.command[check_load]=/usr/lib64/nagios/plugins/check_load-w15,10,5-c30,25,20

7.command[check_disk]=/usr/lib64/nagios/plugins/check_disk-w20%-c10%-p/dev/mapper/VolGroup-lv_root

8.command[check_zombie_procs]=/usr/lib64/nagios/plugins/check_procs-w5-c10-sZ

9.command[check_procs]=/usr/lib64/nagios/plugins/check_procs-w150-c200

10.#command[check_http]=/usr/lib64/nagios/plugins/check_http-H127.0.0.1-w5-c10

11.#command[check_ping]=/usr/lib64/nagios/plugins/check_ping-H127.0.0.1-w3000.0,80%-c5000.0,100%-p5

12.#command[check_ssh]=/usr/lib64/nagios/plugins/check_ssh-4127.0.0.1

13.command[check_swap]=/usr/lib64/nagios/plugins/check_swap-w30%-c10%

六、被动监测(NSCA)

当Nagios监控服务器需要同时监控很多台客户机的时候,系统资源占用会比较高,大量机器监控的环境一般会选择被动监控,通过NSCA实现

NSCA可以到http:

//www.nagios.org上下载,不过我还是喜欢用rpm,添加以上两个源后,可以直接通过yum安装

yuminstallnsca

由于nsca在client上是主动送结果到服务器,所以在server端只要开启一个nsca服务,由client端向server端发送数据就行了,在server端只需开启nsca服务,然后把server端的send_nsca脚本和send_nsca的配置文件拷贝到clent即可。

#nsca服务端可能需要修改的几个位置:

nsca_user=nagios

nsca_group=nagios

password=nsgiospassword

decryption_method=1

此时运行nsca很有可能会出错:

chownnagios.nagios/etc/nagios/nsca.cfg

chmodg+r/etc/nagios/nsca.cfg

另外检查以下两行的路径是否正确,nagios用户是否有权限

chownnagios.nagiocommand_file=/var/spool/nagios/cmd/nagios.cmd

alternate_dump_file=/var/log/nagios/rw/nsca.dump

然后重启nsca,检查端口是否已经在监听

netstat-an|grep5667

输出应类似于:

tcp000.0.0.0:

56670.0.0.0:

*LISTEN

Client端不需配置,直接拷贝Server端的send_nsca脚本和send_nsca.cfg即可

共需要传送以下几个参数到server(对应的参数):

A)clienthostname,这个必须和监控机上设置的hostname一致!

B)servicedescription,服务定义,同样也必须跟监控机上定义的servicename一致

C)报警等级,0=ok,1=warning,2=critical,必须是整型

D)报警内容,这个可以自由发挥,以能够清楚描述报警信息为原则.

使用以下语句可以达到我们的目的:

echo"

$NSCACLIENT;

$SERVICEDESC;

$ALTLEVEL;

$MSG"

|$SEND_NSCA-H$NSCA_SERVER-to10-d"

;

"

-c"

$NSCA_CONF"

以上语句里面,$NSCACLIENT=客户端的hostname,必须与监控机上定义的hostname一致

$SERVICEDESC为服务描述,必须与监控机上定义的servicename一致

$ALTLEVEL为报警等级,根据脚本执行结果返回

$MSG为返回的信息

以上4项内容用分号分隔,然后通过send_nsca的–d“;

”参数来分别区分并发送给nagios监控机以达到发报警的目的!

以tsar为例:

websrv.name;

tsar;

0;

OK|cpu.util=10.44mem.util=37.37swap.swpin=0.00swap.swpout=0.00tcp.retran=0.00traffic.bytin=1385.00traffic.bytout=915.00io.sda.util=2.56partition./.util=15.53partition./var.util=9.78load.load1=0.36load.load5=0.32load.load15=0.28"

|/usr/sbin/send_nsca-Hnagios.srv-p7002-to10-d"

-c/usr/sbin/send_nsca.cfg

注:

websrv.name:

是指nagios监控机中的定义的host_name,也可以是机器IP

tsar是指nagios监控机中的service_description

0是指传过去的状态值,这里为OK(0表示ok,1表示warn,2表示critical)

OK是指的状态说明,这里只是一个测试

cpu.util.....部分是具体发送过去的tsar检测到的性能数据

最后就是nagios里面的定义

1.definehost{

2.usegeneric-host

3.host_namewebsrv.name

4.aliaswebserver-wuhan-luxiang

5.address1.2.3.4

6.}

7. 

8.defineservice{

9.usegeneric-service

10.service_descriptiontsar

11.active_checks_enabled0#设置为被动模式

12.check_commandcheck_dum

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

当前位置:首页 > 高等教育 > 理学

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

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