2、增加新的配置文件
先创建简单的配置文件timeperiods.cfg,其内容如下:
define timeperiod{
timeperiod_name 24x7
alias 24 Hours A Day, 7 Days 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
}
|
这个文件的定义明晰易懂,不多做说明。另建议7X24小时监控。
第二个手动创建的配置文件是 contacts.cfg,其格式如下:
define contact {
contact_name sa //不要有空格
alias system administrator
service_notification_period 24x7
host_notification_period 24x7
service_notification_options w,u,c,r
host_notification_options d,u,r
service_notification_commands service-notify-by-sms,service-
notify-by-email //这个命令读配置文件miscommands.cfg
host_notification_commands host-notify-by-email,host-noti
fy-by-sms //这个命令读配置文件miscommands.cfg
email sery@163.com
pager 13333333333 //手机号,收报警短信
} //不要把这个符号写掉了
define contact {
contact_name sery
alias system administrator
service_notification_period 24x7
host_notification_period 24x7
service_notification_options w,u,c,r
host_notification_options d,u,r
service_notification_commands service-notify-by-sms,service-
notify-by-email
host_notification_commands host-notify-by-email,host-noti
fy-by-sms
email sery@sohu.com
pager 13312345678
}
|
上面的文件定义了2个联系人,如果有更多联系人的话,照这个格式在后面追加即可。服务通知选项(service_notification_options)与主机通知选项(host_notification_options)的几个选项在这里说明一下:w-warning , u-unknown,c-critical,r-recovery;d-down,u-unreachable,注意一下,主机报警和服务报警有些差异。
紧接着的第三个手动创建的配置文件是contactgroups.cfg文件,这个文件是依照上一个文件contacts.cfg来的,contactgroups文件相对简单一些,其格式如下:
define contactgroup {
contactgroup_name sagroup //不要用空格
alias system administrator group
members sa,sery //本例有2个成员
}
|
多个成员之间用逗号做分界符,如果有更多的联系组,就依相同的格式在文件中追加余下的组。
关键的角色终于登场,这就是配置文件hosts.cfg。下面是我定义的两个主机的基本样式:
#define monitor host
#################################################################
# Wangjing IDC servers #
#################################################################
define host {
host_name nagios-server
alias nagios server
address 61.x..x.49
contact_groups sagroup //多个联系组用逗号分隔,
数据来源于contactgroups.cfg
check_command check-host-alive
max_check_attempts 5
notification_interval 10 //值可调,大小什么值合适需自己测定
notification_period 24x7
notification_options d,u,r
}
define host {
host_name 24-25
alias server 24-25
address 202.X.24.25
contact_groups sagroup
check_command check-host-alive //down机就发报警通知
max_check_attempts 5
notification_interval 10
notification_period 24x7
notification_options d,u,r
}
|
更多的主机依此格式逐个追加进来。小技巧,如果是连续的ip段,最好自己写个脚本生成hosts.cfg文件,为了以后维护方便,尽可能在文件中使用易读的注释(如本例# Wangjing IDC servers #)。
再一个重量级的配置文件是services.cfg,没有这个文件,什么监控也没用。下面给出一个样式文件:
#service definition
##############################################################
# Wangjing IDC servers service for host-live #
##############################################################
define service {
host_name nagios-server //来源:hosts.cfg
service_description check-host-alive
check_period 24x7
max_check_attempts 4
normal_check_interval 3
retry_check_interval 2
contact_groups sagroup //来源:contactgroups.cfg
notification_interval 10
notification_period 24x7
notification_options w,u,c,r
check_command check-host-alive //检查主机是否存活
}
define service {
host_name 74-210
service_description check_tcp 80
check_period 24x7
max_check_attempts 4
normal_check_interval 3
retry_check_interval 2
contact_groups sagroup
notification_interval 10
notification_period 24x7
notification_options w,u,c,r
check_command check_tcp!80 //检查tcp 80端口服务是否正常
}
|
书写时要注意的是,check_tcp与要监控的服务端口之间要用”!”做分隔符。如果服务太多,以应该考虑用脚本来生成。
主机组配置文件hostgroups.cfg,这是一个可选的项目,它建立在文件hosts之上,其格式如下:
define hostgroup {
hostgroup_name sa-servers
alias sa servers
members nagios-server,24-25,24-26 //用逗号间隔多个主机
}
|
多个主机组依上面的格式逐个追加上去。后面给一个主机组的截图。
千辛万苦,终于把这些配置给做好保存,现在几乎有点迫不及待了,运行程序/usr/local/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
|
这样的情况,大功告成;但我却没有这么幸运,修改了好多个地方才成功。不过值得庆幸的是,这个校验的错误报告时非常有用的(不象有的系统的帮助文档中看不中用)。看我故意设置的一个错误产生的输出:
[root@netmonitor nagios]# bin/nagios -v etc/nagios.cfg
Nagios 2.5
Copyright (c) 1999-2006 Ethan Galstad (http://www.nagios.org)
Last Modified: 07-13-2006
License: GPL
Reading configuration data...
Error: Could not find any host matching 'nagios-server'
Error: Could not expand member hosts specified in hostgroup
(config file '/usr/local/nagios/etc/hostgroups.cfg', starting on line 2)
………………………
|
它告诉我配置文件在什么位置产生错误(实际上我故意在配置文件里加了一个注释符号来测试)。验证通过以后,就可以执行命令/usr/local/nagios –d /usr/local/nagios/etc/nagios.cfg 把nagios作为守护进程。然后用ps –aux | grep nagios 看进程是否处于运行状态。到这一步,nagios服务基本上算是配置完毕。做hosts.cfg、services.cfg等配置时,可以运用一些小技巧来减少出错的概率:如先定义少许的主机、服务,待校验无误后再追加。
验收
用浏览器输入nagios所在服务器的ip及目录,如http://61.135.X..X/nagios,再输验证所需的用户名和密码,就可点击页面右边的相关连接来查看各种状态。关掉某个被nagios监控主机的服务或者拔掉某个服务器的网线,等几分钟,点击超连接“Service Detail”观察页面状态看是否有红色的醒目的报警出现。
一会儿,就会收到报警短信和报警邮件,然后在把测试所有的服务开启或把拔下来的网线查上去,片刻后,网页里的红色报警表格消失,手机短信或邮件通知故障恢复。如果你的情况也这样,那么真正大功告成。
Nagios 的功能十分强大,在我的项目里,因为我的需求不同而尽可能的简化了nagios而没有使用代理、多更多插件等功能,在一个不超过1000个服务器的网络规模里,它工作得很好。如果有更多的服务器,建议使用mysql数据来管理监控对象。在部署nagios的过程中,我多很多选项作了取舍,更详细的情况请参照官方的文档。
分享到:
相关推荐
### Nagios-3.2 安装与配置详解 #### 一、简介 Nagios是一款强大且跨平台的开源监控系统,它能够对本地或远程主机及服务进行监控,并在发现异常时发送通知。Nagios支持多种操作系统,如Linux/Unix,并提供了一个...
### CentOS安装Nagios及其监控Linux与Windows客户端的配置详解 #### 一、概述 Nagios是一款开源的网络监控系统软件,它可以帮助系统管理员跟踪网络中的主机和服务的状态,并在出现异常时通过电子邮件、短信或...
总的来说,Nagios的安装和配置过程虽然较为复杂,但其强大的监控能力和灵活性使得这一投入非常值得。对于系统管理员来说,Nagios是保障系统稳定运行不可或缺的工具,尤其对于大型组织和企业,它可以实时监控并预警...
4. **远程执行插件**:支持通过Nagios远程执行插件进行远程脚本执行。 5. **加密通信支持**:提供SSH或SSL加密通道进行远程监控,保障数据传输安全。 6. **图形化数据展示**:内置多种图形化数据展示插件(如...
**Nagios的安装与配置:** Nagios的基本安装相对简单,主要要求操作系统为Linux或支持的Unix系统。Apache HTTP服务作为可选的前提条件,提供Web界面展示监控信息。安装Nagios时,除了官方文档提到的基本软件包外,...
### Nagios监控Windows配置详解 #### 一、引言 Nagios是一款广泛使用的开源监控系统,能够帮助管理员监控网络中的主机和服务的状态。对于Windows系统的监控,通常会使用到NSClient++这款轻量级的代理软件。本文档将...
2. **Nagios监控客户端的配置**:在Linux和Windows客户端上安装必要的代理软件,如NRPE(Nagios Remote Plugin Executor),以便Nagios可以从远程执行检查脚本。 #### 四、Nagios配置文件详解 Nagios的配置主要...
【Nagios配置详解:监控远程主机插件安装】 Nagios是一款强大的网络监控系统,用于检查网络服务、服务器和设备的状态。在这个案例中,我们将深入探讨如何配置Nagios来监控远程主机,特别是针对Windows系统的主机,...
### Nagios的安装与配置详解 #### 一、概述 Nagios是一款开源的网络监控系统,用于监视网络服务及主机资源,实现故障快速响应。本文档将详细介绍如何在Ubuntu环境下安装并配置Nagios,使其能够有效地监控本地以及...
### 云监控Nagios安装步骤详解 #### Nagios简介 Nagios是一款开源的、可在Linux/Unix平台上运行的监控系统。它主要用于监控系统运行状态及网络信息,并且能够针对异常情况提供通知机制,例如当系统或服务状态发生...
#### 四、Nagios远程监控原理 - **NRPE(Nagios Remote Plugin Executor)**:Nagios通过NRPE插件实现远程监控。该插件在目标主机上运行,负责收集并返回远程服务器的状态信息。 - **监控流程**: 1. 主机端的...
二、下载与安装Nagios及其插件 1. 下载Nagios核心、Nagios Plugins和NRPE(Nagios Remote Plugin Executor): - Nagios核心:如nagios-3.2.3.tar.gz - Nagios Plugins:如nagios-plugins-1.4.15.tar.gz - NRPE...
#### 三、Nagios远程监控 **Nagios通过NRPE实现远程监控**: 1. **Nagios执行check_nrpe插件**:Nagios主机上运行的check_nrpe插件接收来自Nagios的指令,指定要监控的服务。 2. **SSL/TLS安全连接**:check_nrpe...
#### 八、Nagios配置详解 - **主机配置**: - 在`hosts`目录中创建每个被监控主机的配置文件。 - 配置主机地址、检查间隔、警告和临界阈值等参数。 - **服务配置**: - 同样在`hosts`目录中为每个服务配置一个文件...
**Nagios 开源监控利器详解** Nagios 是一款广泛应用的开源监控系统,它能够实时监控网络服务、主机状态以及各种系统资源,如 CPU 使用率、内存使用情况、磁盘空间等。作为系统管理员的得力助手,Nagios 可以在问题...
以下将详细介绍如何进行Nagios的安装与配置。 1. **Nagios-server的安装** - **准备工作** - 首先,确保本地YUM源已经配置好,以便后续安装所需依赖。 - 检查并安装必要的依赖包,如`gcc`, `glibc`, `glibc-...
### Nagios监控Linux主机——NRPE安装与应用详解 #### NRPE概述及其工作原理 NRPE(Nagios Remote Plugin Executor)是Nagios的一种扩展工具,主要用于远程监控Linux主机的状态,比如CPU负载、内存使用情况、磁盘...