- 浏览: 199707 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
hao3721:
dsfasd
ehcache 使用 -
nihaokid:
方法是不会存在在对象内存中的,它存在于方法区,建议看看jvm的 ...
Java 深层理解 父类引用指向子类对象 -
vissalan:
有一点没看明白Father f1 = (Father)s;这时 ...
Java 深层理解 父类引用指向子类对象 -
咖啡舞者:
非常感谢这种分享精神.
在BREW中实现自己的GUI(8)-IWEB的封装 -
咖啡舞者:
这是创建的代码。
在设备上调的。
界面在手机和模拟器上显示的差异
注:
本部分参考了官方文档和田逸的文章<<看我出招之:我用Nagios(技术细节)>>来修改完成.
4.典型配置
之前已经说过nagios要用起来,就必须修改配置文件,增加要监控的主机和服务才行.在具体做这个动作之前,下面的概念必须要了解.
1)预备知识
Nagios自己定义了一套规则用于配置文件,其中最重要的概念就是”对象”----object.通俗的理解:假定我们首先定义了”性别”这个对象,它的值只可能是男,女,人妖等等,然后定义某人为一个对象,例如张三,定义张三的时候有”性别”这个属性,它的值就必须来源了之前定义的性别这个对象,要么是男是女,或者是人妖.
在Nagios里面定义了一些基本的对象,一般用到的有:
联系人
|
contact
|
出了问题像谁报告?一般当然是系统管理员了
|
监控时间段
|
timeperiod
|
7X24小时不间断还是周一至周五,或是自定义的其他时间段
|
被监控主机
|
host
|
所需要监控的服务器,当然可以是监控机自己
|
监控命令
|
command
|
nagios发出的哪个指令来执行某个监控,这也是自己定义的
|
被监控的服务
|
service
|
例如主机是否存活,80端口是否开,磁盘使用情况或者自定义的服务等
|
另外,多个被监控主机可以定义为一个主机组,多个联系人可以被定义为一个联系人组,多个服务还能定义成一个服务组呢.
回到上面的例子,定义张三需要之前定义的性别,我们定义一个被监控的服务,当然就要指定被监控的主机,需要监控的时间段,要用哪个命令来完成这个监控操作,出了问题向哪个联系人报告.
所有这些对象绝对多数都是需要我们手动定义的,这就是nagios的安装显得复杂的地方.其实了解了原理,做一遍之后余下的工作就是复制粘贴了.下面就开始动手.
2)将示例配置文件复制为真实配置文件名
cd /usr/local/nagios/etc
cp cgi.cfg-sample cgi.cfg
cp commands.cfg-sample commands.cfg
cp localhost.cfg-sample localhost.cfg
cp nagios.cfg-sample nagios.cfg
cp resource.cfg-sample resource.cfg
3)修改配置文件
修改nagios的主配置文件nagios.cfg
vi nagios.cfg
注释行 #cfg_file=/usr/local/nagios/etc/localhost.cfg[2],然后把下面几行的注释去掉:
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并没有文件hosts.cfg等一干文件,怎么办?稍后手动创建它们。
修改CGI脚本控制文件cgi.cfg
vi cgi.cfg
第二个要修改的配置文件是cgi.cfg,它的作用是控制相关cgi脚本。先确保use_authentication=1。曾看过不少的文章,都是建议把use_authentication的值设置成”0”来取消验证,这是一个十分糟糕的想法。接下来修改default_user_name=test ,再后面的修改在下表列出:
authorized_for_system_information=nagiosadmin,test
authorized_for_configuration_information=nagiosadmin,test
authorized_for_system_commands=test //多个用户之间用逗号隔开
authorized_for_all_services=nagiosadmin,test
authorized_for_all_hosts=nagiosadmin,test
authorized_for_all_service_commands=nagiosadmin,test
authorized_for_all_host_commands=nagiosadmin,test
|
那么上述用户名打那里来的呢?是执行命令 /usr/local/apache/bin/htpasswd –c /usr/local/nagios/etc/htpasswd test 所生成的,这个要注意,不能随便加没有存在的验证用户,为了安全起见,不要添加过多的验证用户。
定义监控时间段,创建配置文件timeperiods.cfg
[root@localhost etc]# vi timeperiods.cfg
define timeperiod{
timeperiod_name 24x7 //时间段的名称,这个地方不要有空格
alias 24 Hours A Day,7Days A Week
sunday 00:00-24:00
monday 00:00-24:00
tuesday 00:00-24:00
wednesday 00:00-24:00
thursday 00:00-24:00
friday 00:00-24:00
saturday 00:00-24:00
}
|
定义了一个监控时间段,它的名称是24x7,监控的时间是每天全天24小时
定义联系人,创建配置文件contacts.cfg
[root@localhost etc]# vi contacts.cfg
define contact{
contact_name test //联系人的名称,这个地方不要有空格
alias sys admin
service_notification_period 24x7
host_notification_period 24x7
service_notification_options w,u,c,r
host_notification_options d,u,r
service_notification_commands notify-by-email
host_notification_commands host-notify-by-email
email yahoon@test.com
pager 1338757xxxx
address1 xxxxx.xyyy@icq.com
address2 555-555-5555
}
|
创建了一个名为test的联系人,下面列出其中重要的几个选项做说明
service_notification_period 24x7
服务出了状况通知的时间段,这个时间段就是上面在timeperiods.cfg中定义的.
|
host_notification_period 24x7
主机出了状况通知的时间段, 这个时间段就是上面在timeperiods.cfg中定义的
|
service_notification_options w,u,c,r
当服务出现w—报警(warning),u—未知(unkown),c—严重(critical),或者r—从异常情况恢复正常,在这四种情况下通知联系人.
|
host_notification_options d,u,r
当主机出现d—当机(down),u—返回不可达(unreachable),r—从异常情况恢复正常,在这3种情况下通知联系人
|
service_notification_commands notify-by-email
服务出问题通知采用的命令notify-by-email,这个命令是在commands.cfg中定义的,作用是给联系人发邮件.至于commands.cfg之后将专门介绍
|
host_notification_commands host-notify-by-email
同上,主机出问题时采用的也是发邮件的方式通知联系人
|
email yahoon@test.com
很明显,联系的人email地址
|
pager 1338757xxxx
联系人的手机,如果支持短信的通知的话,这个就很有用了.
|
alias是联系人别名,address是地址 意义不大.
|
按照上面的方式简单的复制修改就可以创建多个联系人了.
下面就可以将多个联系人组成一个联系人组,创建文件contactgroups.cfg
[root@localhost etc]# vi contactgroups.cfg
define contactgroup{
contactgroup_name sagroup
//联系人组的名称,同样不能空格
alias System Administrators //别名
members test
//组的成员,来自于上面定义的contacts.cfg,如果有多个联系人则以逗号相隔
}
|
定义被监控主机,创建文件hosts.cfg
[root@localhost etc]# vi hosts.cfg
define host{
host_name nagios-server
//被监控主机的名称,最好别带空格
alias nagios server
//别名
address 192.168.0.111
//被监控主机的IP地址,我现在暂时先填本机的IP
check_command check-host-alive
//监控的命令check-host-alive,这个命令来自commands.cfg,用来监控主机是否存活
max_check_attempts 5
//检查失败后重试的次数
check_period 24x7
//检查的时间段24x7,同样来自于我们之前在timeperiods.cfg中定义的
contact_groups sagroup
//联系人组,上面在contactgroups.cfg中定义的sagroup
notification_interval 10
//提醒的间隔,每隔10秒提醒一次
notification_period 24x7
//提醒的周期, 24x7,同样来自于我们之前在timeperiods.cfg中定义的
notification_options d,u,r
//指定什么情况下提醒,具体含义见之前contacts.cfg部分的介绍
}
|
通过简单的复制修改就可以定义多个主机了.我们在这加上另外两台机器:
名为dbpi的linux主机,ip为192.168.0.111
名为yahoon的xp主机,ip为192.168.0.28
与联系人可以组成联系人组一样,多个主机也可以组成主机组.创建文件hostgrops.cfg
[root@localhost etc]# vi hostgroups.cfg
define hostgroup{
hostgroup_name sa-servers //主机组名称
alias sa Servers //别名
members nagios-server
//组的成员主机,多个主机以逗号相隔,必须是上面hosts.cfg中定义的
}
|
下面是最关键的了,用nagios主要是监控一台主机的各种信息,包括本机资源,对外的服务等等.这些在nagios里面都是被定义为一个个的项目(nagios称之为服务,为了与主机提供的服务相区别,我这里用项目这个词),而实现每个监控项目,则需要通过commands.cfg文件中定义的命令.
例如我们现在有一个监控项目是监控一台机器的web服务是否正常, 我们需要哪些元素呢?最重要的有下面三点:首先是监控哪台机,然后是这个监控要用什么命令实现,最后就是出了问题的时候要通知哪个联系人?
定义监控的项目,也叫服务,创建services.cfg
[root@localhost etc]# vi services.cfg
#service definition
define service{
host_name nagios-server
//被监控的主机,hosts.cfg中定义的
service_description check-host-alive
//这个监控项目的描述(也可以说是这个项目的名称),可以空格,我们这里定义的是监控这个主机是不是存活
check_command check-host-alive
//所用的命令,是commands.cfg中定义的
max_check_attempts 5
normal_check_interval 3
retry_check_interval 2
check_period 24x7
//监控的时间段,是timeperiods.cfg中定义的
notification_interval 10
notification_period 24x7
//通知的时间段, ,是timeperiods.cfg中定义的
notification_options w,u,c,r
//在监控的结果是wucr时通知联系人,具体含义看前文.
contact_groups sagroup
//联系人组,是contactgroups.cfg中定义的
}
|
可以看到基本上所有的成员都是已经定义的.同样的将上面的内容复制修改,就可以加上另外两个监控项目:分别监控yahoon和dbpi是否存活
这样整个的配置过程就结束了.虽然功能很简单,但是已经为以后扩展打下了良好的基础.可以放心的告诉大家,以后的工作基本都是复制粘贴啦!!!
在运行nagios之前首先做测试
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
看到下面这些信息就说明没问题了
Total Warnings: 0
Total Errors: 0
Things look okay - No serious problems were detected during the pre-flight check
|
如果有问题的话就可以按照输出信息来排查
作为守护进程后台启动nagios
/usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg
还等什么,登陆[url]http://192.168.0.111/nagios/[/url]来查看吧.点左边的Host Detail
发表评论
-
Nagios安装使用(五)----监控windows系统的”本地信息”下
2009-09-21 17:28 1482重启nagios服务来生效,等一会就可以查看页面了 ... -
Nagios安装使用(五)----监控windows系统的”本地信息”上
2009-09-21 17:27 2427四.如何监控windows系统的”本地信息” 在nagios ... -
Nagios安装使用(四)----监控LINUX上的”本地信息”
2009-09-21 17:26 1302所有的配置文件已经修 ... -
Nagios安装使用(三)----监控LINUX上的”本地信息”
2009-09-21 17:22 2183四. 使用NRPE监控LINUX上的”本地信息” 本部分 ... -
Nagios安装使用(一)----使用插件监控更多信息
2009-09-21 17:19 2128接第二章 再点Service Detail ... -
Nagios安装使用(二)----基本安装和配置(上)
2009-09-21 17:10 1938二. 基本安装和配置 本部分主要参考官方文档和田逸的文章 ... -
Nagios安装使用(一)----准备
2009-09-21 17:06 1472一. 准备阶段: 1.实验环境 包含3台主机,详细 ... -
Linux Nagios 监控jboos sh
2009-09-21 16:39 1080Nagios 监控jboos的 ... -
Linux Nagios check_http和 check Checker的用法
2009-09-21 16:33 3093Linu ... -
halt,shutdown,reboot,init的差异
2009-09-21 16:26 2044在linux下一些常用的关 ... -
Shell编程基础
2009-07-28 12:13 820为什么要进行shell编程 在Linux系统中,虽然有各种各 ... -
嵌入式系统设计的新发展及其挑战
2009-05-08 15:32 906嵌入式系统设计技术发 ...
相关推荐
- 使用`make all`、`make install`等命令进行编译和安装,确保所有必要的文件和目录都被正确地放置。 2. 验证安装: - 检查Nagios的五个关键目录(bin、etc、sbin、share、var)是否存在,确认安装无误。 - 熟悉...
在安装和配置Nagios SNMP Plugins 1.2时,你需要解压下载的`nagios-snmp-plugins-1.2.tar.gz`压缩包,进入解压后的目录,然后按照文档指示进行编译和安装。同时,为了使用这两个插件,你的Nagios服务器需要配置SNMP...
1. **主配置文件**:编辑`/usr/local/nagios/etc/nagios.cfg`,设置基本配置,如管理员邮箱、时区等。 2. **服务配置**:在`/usr/local/nagios/etc/objects/`目录下创建`services.cfg`,定义要监控的服务,如HTTP、...
在本教程中,我们将详细介绍如何搭建和配置Nagios,包括Nagios英文版和中文版的安装步骤。 **一、Nagios系统需求** 在开始安装Nagios之前,确保你的系统满足以下基本要求: 1. 一个运行Linux的操作系统,如Ubuntu、...
本文档将详细介绍如何在CentOS 6.5 64位系统上安装配置Nagios监控平台,以及如何配置监控Linux和Windows客户端的方法,并实现微信报警功能。 #### 二、安装环境 - **操作系统**: CentOS 6.5 64位 - **Nagios版本**...
### Nagios 3.5.0 安装与配置详解 #### 一、环境搭建与前期准备 在开始介绍 Nagios 3.5.0 的安装配置之前,我们需要明确搭建测试环境的基础设置。 ##### 环境概览 - **虚拟化平台**: VMware Workstation 9.0.2 -...
### NAGIOS基本安装配置详解 #### 一、NAGIOS简介及应用场景 NAGIOS是一款开源的系统和网络监控工具,广泛应用于企业环境中对服务器、交换机等网络设备进行实时监控。它能够帮助管理员及时发现并解决问题,提高...
二、Nagios基本配置 1. **主配置文件**:`/etc/nagios/nagios.cfg`是Nagios的主要配置文件,包含全局配置信息,如服务器名称、时区、日志位置等。 2. **对象配置**:Nagios通过定义不同类型的配置对象(如主机、...
#### 二、Nagios安装配置步骤 ##### 1. Nagios安装 - **Apache HTTP Server 安装**: - **下载**:访问官方网站 `http://httpd.apache.org/download.cgi` 下载最新版本,如 httpd-2.2.21.tar.gz。 - **上传**:...
总的来说,Nagios的安装涉及多个步骤,包括环境准备、软件安装、配置和验证,以及后续的优化。通过这个过程,你可以建立一个有效的网络监控系统,及时发现和解决问题,保障IT基础设施的正常运行。
安装nagios-plugins-2.3.3的步骤一般包括解压文件、编译源代码、配置和安装。在Linux系统上,这通常涉及以下命令: 1. `tar -zxvf nagios-plugins-2.3.3.tar.gz` 解压缩文件。 2. `cd nagios-plugins-2.3.3` 进入...
在IT领域,监控系统是确保服务稳定性和性能的关键工具之一,Nagios作为一款开源的...提供的文档如《Solaris10下Nagios安装.doc》和《Solaris10下Nagios安装.pdf》会进一步细化安装过程,帮助用户解决可能出现的问题。
- 配置Nagios以使用这些插件,修改`/etc/nagios3/conf.d/`目录下对应的服务配置文件。 6. **启动和测试Nagios** - 启动Nagios服务:`sudo systemctl start nagios3` 或 `service nagios start`。 - 使用`sudo ...
3. **INSTALL文件**:提供详细的编译和安装步骤,指导用户如何在不同的操作系统上构建和部署这些插件。 4. **Makefile**:Makefile是构建项目的配置文件,它定义了编译规则、依赖关系以及如何构建可执行文件。 5. ...
通过以上步骤,您可以成功地在Linux环境下安装配置Nagios 4.3.2及其相关的依赖软件,实现对网络设备和服务的基本监控功能。请注意,在实际部署过程中,可能还需要根据具体的网络环境和监控需求进一步调整配置文件。
- 解压缩Nagios安装包,并按照官方文档的指导进行编译和安装。过程中可能需要设置配置文件路径、服务监控选项以及邮件通知设置等。 - 安装和配置Nagios的插件,这些插件是Nagios进行服务监控的核心工具。 ### 3. ...