nagios安装配置流程解析.docx

上传人:b****0 文档编号:9651460 上传时间:2023-05-20 格式:DOCX 页数:24 大小:272.51KB
下载 相关 举报
nagios安装配置流程解析.docx_第1页
第1页 / 共24页
nagios安装配置流程解析.docx_第2页
第2页 / 共24页
nagios安装配置流程解析.docx_第3页
第3页 / 共24页
nagios安装配置流程解析.docx_第4页
第4页 / 共24页
nagios安装配置流程解析.docx_第5页
第5页 / 共24页
nagios安装配置流程解析.docx_第6页
第6页 / 共24页
nagios安装配置流程解析.docx_第7页
第7页 / 共24页
nagios安装配置流程解析.docx_第8页
第8页 / 共24页
nagios安装配置流程解析.docx_第9页
第9页 / 共24页
nagios安装配置流程解析.docx_第10页
第10页 / 共24页
nagios安装配置流程解析.docx_第11页
第11页 / 共24页
nagios安装配置流程解析.docx_第12页
第12页 / 共24页
nagios安装配置流程解析.docx_第13页
第13页 / 共24页
nagios安装配置流程解析.docx_第14页
第14页 / 共24页
nagios安装配置流程解析.docx_第15页
第15页 / 共24页
nagios安装配置流程解析.docx_第16页
第16页 / 共24页
nagios安装配置流程解析.docx_第17页
第17页 / 共24页
nagios安装配置流程解析.docx_第18页
第18页 / 共24页
nagios安装配置流程解析.docx_第19页
第19页 / 共24页
nagios安装配置流程解析.docx_第20页
第20页 / 共24页
亲,该文档总共24页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

nagios安装配置流程解析.docx

《nagios安装配置流程解析.docx》由会员分享,可在线阅读,更多相关《nagios安装配置流程解析.docx(24页珍藏版)》请在冰点文库上搜索。

nagios安装配置流程解析.docx

nagios安装配置流程解析

Nagios2.12的安装及其配置流程--辅助原理性说明

----马世贵

1.Nagios能做什么

Nagiosisanopensourcehost,serviceandnetworkmonitoringprogram.

Whousesit?

Lotsofpeople,includingmanybigcompaniesandorganizations

Nagios是一个监控主机、服务器和网络的开放源码软件,很多大的公司和组织都用它实现一些有用的监控功能。

nagios的功能是监控服务和主机,但是他自身并不包括这部分功能的代码,所有的监控、检测功能都是有插件来完成的。

再说报警功能,如果监控系统发现问题不能报警那就没有意义了,所以报警也是nagios很重要的功能之一。

但是,同样的,nagios自身也没有报警部分的代码,甚至没有插件,而是交给用户或者其他相关开源项目组去完成。

nagios安装,是指基本平台,也就是nagios软件包的安装。

它是监控体系的框架,也是所有监控的基础。

打开nagios官方的文档,会发现nagios基本上没有什么依赖包,只要求系统是linux或者其他nagios支持的系统。

不过如果你没有安装apache(http服务),那么你就没有那么直观的界面来查看监控信息了,所以apache姑且算是一个前提条件。

关于apache的安装,网上有很多,照着安装就是了。

安装之后要检查一下是否可以正常工作。

(引用)

所以要使nagios发挥价值,必须要充分利用官网所提供的插件plugins功能,并且要有一个友好的前台显示查看的接口,那就是apache。

当然,如果你足够厉害,也可以自己写插件。

理论上来说,依托nagios监控体系框架,可以实现对目标主机的任何行为的监控,而这些具体行为的实现都是用plugins来实现的。

Nagios最有价值的地方在于实时监控报警体系。

当被监控的对象出现异常时(前提是对方愿意被监控,不然就成了“木马”),可以反馈给服务器信息,服务器根据信息的安全级别采用邮件、短信等方式来通知管理员,减少因为异常故障带来的损失。

2.Nagios不能做什么

Nagios是非常强大的,在于它并不是实现了多少功能,而是可扩展,可灵活的利用插件实现任何监控功能。

但是,nagios只适合于实时监控,虽然它可以采集数据,但是nagios并不适合对历史数据进行展示,除非自己完成非常复杂的操作来实现这一功能。

3.Nagios原理简要分析

Nagios在启动后,会将所有事件排入一个带有时间戳的事件队列中,此队列中包含主动监测事件,被动监测事件,reaper事件以及其他事件。

当Nagios核心进程按照时间戳访问事件队列时,当核心进程发现事件为:

1.主动监测事件:

核心线程会调用fork唤起一个执行线程,执行主动监测。

待主动监测完成后,执行线程将监测结果写入一个无名管道中。

2.reaper事件:

核心线程会定期在事件队列中插入reaper事件。

当核心进程执行reaper事件时,reaper会查询无名管道,看其中是否存在未处理监测结果,如果有,核心进程会处理监测结果,或交由处理程序处理,或写入status.log主配置文件中。

CGI程序会访问主配置文件显示所需内容。

3.被动监测事件:

外部进程将监测结果直接写入一个fifo的有名管道中。

当核心进程执行被动监测时,核心进程访问有名管道,将监测结果交给处理程序或写入status.log主配置文件中。

CGI程序会访问主配置文件显示所需内容。

4.Nagios定义的监控状态

nagios定义了4中监控状态,代表不同的严重级别,除了OK代表正常不用关心外,其余3种都要引起重视.如下表

状态

代码

颜色

正常

OK

绿色,

警告

WARNING

黄色,

严重

CRITICAL

红色,

未知错误

UNKOWN

深黄色

4.安装前的准备

1.安装环境

NagioswasoriginallydesignedtorununderLinux,althoughitshouldworkundermostotherunicesaswell.

我用的环境是:

主机名:

impact

系统:

Redhat9.0;

IP:

192.168.0.178;

该主机作为监控机

注:

监控机:

安装了nagios软件的机器,对监控的数据做处理,并且提供web界面查看和管理.当然也可以对本机自身的信息进行监控.

被监控机:

安装了NRPE等客户端,根据监控机的请求执行监控,然后将结果回传给监控机.

2.所用软件:

nagios-2.12.tar.tar

nagios-plugins-1.4.13.tar.gz

nrpe-2.12.tar.tar

httpd-2.2.11--APACHE安装文件

NSClient-Win32-0.3.5.zip

随着后面的说明,会逐个说明每个软件的功能的。

这些软件也许并不是最新,但这并不是主要矛盾。

Nagios更新到了3.0.3版本,但是就安装来说,和2.12是没有什么区别的,只是在更改配置文件的时候,3.0.3版的几个常见配置文件在objects目录下面,只要懂得了原理,其实都是一样的,改一下目录而已。

对插件plugins来说,无所谓版本不版本的,而且与nagios版本关联不大。

无非是最新的版本可能多了些功能,但是即便最原始的插件,也未必能用上全部的功能,有常用的功能组件就足够了。

 

5.安装APACHE

资料表明,apache并不是必须的,但是nagios如果没有一个直观的前台显示,那么查看监控对象将是一件费事并且痛苦的事情。

想象下查看nagios日志文件里一行行的字母和通过WEB用图表来进行查看,将是不一样的感觉。

在LINUX/UNIX世界里,APACHE是WEB服务器的首选。

APACHE采用C代码和部分PERL脚本,实现了强大的网络服务器功能。

下载网站为:

www.apache.org

建议下载源码,因为我们不需要很复杂的功能,因此简单的执行下面几个步骤就可以正确的把APACHE安装到系统。

1.解包,配置:

tarzxvfhttpd-2.2.11.tar.gz;cdhttpd-2.2.11;./configure–prefix=/usr/local/apache。

配置参数说明把文件安装到/usr/local/apache目录下。

2.编译、安装

make;makeinstall。

安装完成后,执行命令./usr/local/apache/bin/apachectl–t检查一下apache是否正确安装。

3.可能会显现的问题

当执行了上面的测试指令以后,一般会出现这样的提示:

httpd:

Couldnotdeterminetheserver'sfullyqualifieddomainname,using192.168.0.178forServerName

SyntaxOK

说明:

语法正确,但是域名需要修改下。

这只是一个警告问题,可以在浏览器中输入IP测试:

http:

//192.168.0.178

如果打开网页正常,则证明APACHE安装正常。

上面的警告表示配置出现问题。

解决方法:

修改配置文件conf/httpd.conf

找到行

#ServerName:

80

修改为:

ServerNamewww.你的域名.com:

80

6.安装NAGIOS

Nagios可以运行在各种版本的linux以及主流unix环境。

首先增加用户,修改权限:

Su-l;一定要以root身份安装,不然会提示出错

useraddnagios;增加用户

mkdir/usr/local/nagios;创建目录

chownnagios.nagios/usr/local/nagios;更改用户属组

下面开始安装过程:

1.解包、解压:

tarzxvfnagios-2.12.tar.tar

2.配置:

cdnagios-2.12;./configure-prefix=/usr/local/nagios

3.编译:

makeall;

4.安装:

nagios需要好几步才能完成全部安装,少了每一步都有可能造成某些功能或者组件步完整,这样在后期配置的时候就会出现一些问题。

所以,按照makeall的提示,完成每一步的安装,并且查看提示信息,若出现错误,理解返回。

安装步骤为:

Makeinstall;安装主要的程序、CGI及HTML

Makeinstall-init;运行脚本

Makeinstall-commandmode;给外部命令访问nagios配置文件的权限

Makeinstall-config;把配置文件的模版复制到nagios的安装目录

5.验证程序是否正确安装

切换目录到安装路径(/usr/local/nagios),看是否存在以下5个目录:

etc、bin、sbin、share、var。

如果存在则表明程序被正确的安装到系统了。

下面是这5个目录功能的简要说明:

bin

Nagios执行程序所在目录,nagios文件即为主程序

etc

Nagios配置文件位置,初始安装完后,只有几个*.cfg文件

sbin

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

Share

Nagios网页文件所在的目录

Var

Nagios日志文件、spid等文件所在的目录

var/archives

Emptydirectoryforthearchivedlogs

var/rw

Emptydirectoryfortheexternalcommandfile

 

7.安装nagios插件

Nagios只是监控体系的平台和框架,没有插件plugins,nagios将什么都做不了,反过来,有了插件,nagios将会无所不能。

它太灵活,可扩展性太强。

安装过程:

1.解包、解压:

Tarzxvfnagios-plugins-1.4.13.tar.gz;

2.配置:

Cdnagios-plugins-1.4.13;

./configure-prefix=/usr/local/nagios

3.编译、安装

Make;makeall

说明:

配置过程中指定的路径是/usr/local/nagios(并且一定要这么指定,否则安装后在配置文件里会更改更多的选项)。

安装完成后,将在目录:

/usr/local/nagios生成目录libexec(里面有很多可执行文件),这是这些可执行文件,在不同的参数下,实现不同的监控功能。

 

8.初步配置

将apache的运行用户加到nagios组里面

从httpd.conf中过滤出当前的apache运行用户

grep^User/usr/local/apache/conf/httpd.conf

我的是apache,下面将这个用户加入nagios组

usermod-Gnagiosapache

1.修改APACHE的配置

修改apache的配置文件,增加nagios的目录,并且访问此目录需要进行身份验证

vi/usr/local/apache/conf/httpd.conf,在最后增加如下内容

#settingfornagios200906010

ScriptAlias/nagios/cgi-bin/usr/local/nagios/sbin

OptionsExecCGI

AllowOverrideNone

Orderallow,deny

Allowfromall

AuthName"NagiosAccess"

AuthTypeBasic

AuthUserFile/usr/local/nagios/etc/htpasswd

//用于此目录访问身份验证的文件

Requirevalid-user

Alias/nagios/usr/local/nagios/share

OptionsNone

AllowOverrideNone

Orderallow,deny

Allowfromall

AuthName"NagiosAccess"

AuthTypeBasic

AuthUserFile/usr/local/nagios/etc/htpasswd

//用于此目录访问身份验证的文件

Requirevalid-user

增加验证用户

也就是通过web访问nagios的时候,必须要用这个用户登陆.在这里我们增加用户xiaotian:

密码为12345

/usr/local/apache/bin/htpasswd-c/usr/local/nagios/etc/htpasswd.userstest

Newpassword:

(输入12345)

Re-typenewpassword:

(再输入一次密码)

Addingpasswordforusertest

这里一定要注意,在/usr/local/nagios/etc目录下面生成的文件名为:

Htpasswd.users,而不是htpasswd,这个问题上看个人情况而定,有很多资料上写的都是生成一个htpasswd的文件保存用户名和密码。

即这样:

/usr/local/apache/bin/htpasswd-c/usr/local/nagios/etc/htpasswdtest

但是我这样测试后是不能通过验证的。

建议每个人在基于不同情况下,多做些尝试和测试,这样会好一些。

2.测试小有成果

启动nagios服务:

servicenagiosstart;

启动apache服务:

cd/usr/local/apache/bin;然后:

apachectlstart

输入地址:

http:

//192.168.0.178/nagios/

会提示输入用户名和密码框,正确输入,如果没什么问题,便可以看到nagios的界面了。

哈哈。

到这一步,也只能看看nagios的首页和文档两个选项,后面的功能还需要继续配置。

9.典型配置nagios

对nagios而言,有两个关键部分,第一就是配置,第二是插件。

配置文件就是调用插件来工作的。

如下图:

services.cfg定义监控项目用某个命令-->

这个命令必须在commands.cfg中定义-->

定义这个命令时使用了libexec下的插件.

在安装nagios时,执行了makeinstall-config这一步,会为我们导入进来一个配置文件的模版,名为:

localhost.Cfg。

推荐把这个文件完整的看一便,这样可以获得一个全局的认识。

然后根据官方文档和loaclhost.Cfg的模版提示,我们将配置文件分成5个部分。

下面分步骤进行:

1.一些理解

Nagios自己定义了一套规则用于配置文件,比较重要的概念就是“对象”

类似于C++里面的类的对象,一个类可以有多个实例化的对象,这些对象有不同的属性,而这个类可以粗略的认为是nagios里面的服务,服务可以生成多个对象。

记住,为了便于理解,仅仅是粗略的做个比喻,而事实上绝非如此。

在Nagios里面定义了一些基本的对象,一般用到的有:

联系人

contact

出了问题像谁报告?

一般当然是系统管理员了

监控时间段

timeperiod

7X24小时不间断还是周一至周五,或是自定义的其他时间段

被监控主机

host

所需要监控的服务器,当然可以是监控机自己

监控命令

command

nagios发出的哪个指令来执行某个监控,这也是自己定义的

被监控的服务

service

例如主机是否存活,80端口是否开,磁盘使用情况或者自定义的服务等

另外,多个被监控主机可以定义为一个主机组,多个联系人可以被定义为一个联系人组,多个服务还能定义成一个服务组.

2.修改配置文件

修改nagios的主配置文件nagios.cfg

切换到/usr/local/angios/etc目录下:

vinagios.Cfg

注释行#cfg_file=/usr/local/nagios/etc/localhost.cfg,

然后把下面几行的注释去掉:

cfg_file=/usr/local/nagios/etc/contactgroups.cfg//联系组配置文件路径

cfg_file=/usr/local/nagios/etc/contacts.cfg//联系人配置文件路径

cfg_file=/usr/local/nagios/etc/hostgroups.cfg//主机组配置文件路径

cfg_file=/usr/local/nagios/etc/hosts.cfg//主机配置文件路径

cfg_file=/usr/local/nagios/etc/services.cfg//服务配置文件路径

cfg_file=/usr/local/nagios/etc/timeperiods.cfg//监视时段配置文件路径

注释掉就说明不使用这个文件,去掉了注释就是需要使用这个文件.

改check_external_commands=0为check_external_commands=1这行的作用是允许在web界面下执行重启nagios、停止主机/服务检查等操作。

把command_check_interval的值从默认的1改成command_check_interval=10s

(根据自己的情况定这个命令检查时间间隔,不要太长也不要太短)。

主配置文件要改的基本上就是这些,通过上面的修改,发现/usr/local/nagios/etc并没有文件services.Cfg、host.Cfg等文件,呵呵,下面我们就手动创建。

备注:

如果你按照我前面的说明,仔细阅读了localhost.Cfg模版配置文件,那么现在就会明白,主配置文件nagios.Cfg里面的指定配置文件localhost.Cfg现在已经被注释掉了,现在我们要用下面的5个文件来实现具体的配置.

 

修改CGI脚本控制文件cgi.cfg

vicgi.cfg

第二个要修改的配置文件是cgi.cfg,它的作用是控制相关cgi脚本。

先确保use_authentication=1。

当然,可以把use_authentication的值设置成”0”来取消验证,但并不推荐这样使用,毕竟安全机制是非常重要的。

接下来修改default_user_name=xiaotian,再后面的修改在下表列出:

authorized_for_system_information=nagiosadmin,xiaotian

authorized_for_configuration_information=nagiosadmin,xiaotian

authorized_for_system_commands=xiaotian//多个用户之间用逗号隔开

authorized_for_all_services=nagiosadmin,xiaotian

authorized_for_all_hosts=nagiosadmin,xiaotian

authorized_for_all_service_commands=nagiosadmin,xiaotian

authorized_for_all_host_commands=nagiosadmin,xiaotian

那么上述用户名打那里来的呢?

是执行命令/usr/local/apache/bin/htpasswd–c/usr/local/nagios/etc/htpasswd.userstest

所生成的,这个要注意,不能随便加没有存在的验证用户,为了安全起见,不要添加过多的验证用户。

定义监控时间段,创建配置文件timeperiods.cfg

[root@localhostetc]#vitimeperiods.cfg

definetimeperiod{

timeperiod_name24x7//时间段的名称,这个地方不要有空格

alias24HoursADay,7DaysAWeek

sunday00:

00-24:

00

monday00:

00-24:

00

tuesday00:

00-24:

00

wednesday00:

00-24:

00

thursday00:

00-24:

00

friday00:

00-24:

00

saturday00:

00-24:

00

}

定义了一个监控时间段,它的名称是24x7,监控的时间是每天全天24小时

 

定义联系人,创建配置文件contacts.cfg

[root@impactetc]#vicontacts.cfg

definecontact{

contact_namexiaotian//联系人的名称,这个地方不要有空格

aliassysadmin

service_notification_period24x7

host_notification_period24x7

service_notification_optionsw,u,c,r

host_notification_optionsd,u,r

service_notification_commandsnotify-by-email

host_notification_commandshost-notify-by-email

emailxiaotian@

pager1590127xxxx

}

创建了一个名为xiaotian的联系人,这个名字可以任意取,但是几个配置文件里的关键性字段是有联系的,xiaotian这个字段要在contactsgroup.cfg文件里要用到。

下面列出其中重要的几个选项做说明

service_notification_period24x7

服务出了状况通知的时间段,这个时间段就是上面在timeperiods.cfg中定义的.

host_notification_period24x7

主机出了状况通知的时间段,这个时间段就是上面在timeperiods.cfg中定义的

service_notification_optionsw,u,c,r

当服务出现w—报警(warning),u—未知(unkown),c—严重(critical),或者r—从异常情况恢复正常,在这四种情况下通知联系人.

host_notification_optionsd,u,r

当主机出现d—当机(down),u—返回不可达(unreachable),r—从异常情况恢复正常,在这3种情况下通知联系人

service_notification_

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

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2