存档

文章标签 ‘nagios’

Nagios监控磁盘I/O

2011年4月1日 2 条评论

转载:http://www.chengyongxu.com/blog/nagios%E7%9B%91%E6%8E%A7%E7%A3%81%E7%9B%98io/

#官方默认插件中并无此插件,但官方还是提供了这个插件的下载,地址在:

http://exchange.nagios.org/directory/Plugins/Uncategorized/Operating-Systems/Linux/check_iostat-%252D-I-2FO-statistics/details

#注意:保证所有被监控机上都安装了sysstat包,并可以执行iostat命令

#下载之后,放在每台被监控机的/usr/local/nagios/libexec/目录下
#然后更改属组,赋予可执行权限

#被监控机上更改nrpe的配置文件

#重启服务
service nrpe restart

#打开主监控机上的servicegroups.cfg,我选择的是监控所有机器的I/O,所以在all_hosts组下增加下面一段

#如果只监控个别机器,请在services.cfg中相应的机器下增加

#检查配置文件并重新加载服务
1 service nagios checkconfig
2 service nagios reload

分类: monitor 标签: , ,

nagios配置详解

2011年3月22日 没有评论

主配置文件 nagios.cfg 需要更改的地方:
#cfg_file=/usr/local/nagios/etc/objects/localhost.cfg
interval_length=1 ; 间隔时间基准由 60s 改为 1s
command_check_interval=10s ; 命令检查时间间隔,-1 表示尽可能频繁的进行检查
date_format=iso8601 ; 日期格式

objects/contacts.cfg 用来定义联系人:

define contact {
contact_name sa
alias System Administrator
service_notification_period 24×7
host_notification_period 24×7
service_notification_options w,u,c,r
host_notification_options d,u,r
service_notification_commands notify-service-by-email
host_notification_commands notify-host-by-email
email admin@test.com
}

再定义联系人组

define contactgroup {
contactgroup_name admins
alias Administrator Group
members sa    ; 添加其它联系人用 “,” 分隔
}

 

主机监控的配置

define host {
host_name host_name    ; 简短的主机名称。
alias alias    ; 别名,可以更详细的说明主机。
address address    ; IP 地址,也可以写主机名。如果不定义这个值, nagio 将会用 host_name 去寻找主机。
parents host_names    ; 上一节点的名称,也就是指从 nagios 服务器到被监控主机之间经过的节点,可以是路由器、交换机、主机等等。
hostgroups hostgroup_names    ; 简短的主机组名称。
check_command command_name    ; 检查命令的简短名称,如果此项留空, nagios 将不会去判断主机是否 alive 。
max_check_attempts 整数    ; 当检查命令的返回值不是 “OK” 时,重试的次数。
check_interval 数字    ; 循环检查的间隔时间。
active_checks_enabled [0/1]    ; 是否启用 “active_checks”
passive_checks_enabled [0/1]    ; 是否启用 “passive_checks” ,及“被动检查”
check_period timeperiod_name    ; 检测时间段简短名称,这只是个名称,具体的时间段要写在其他的配置文件中。
obsess_over_host [0/1]    ; 是否启用主机操作系统探测。
check_freshness [0/1]    ; 是否启用 freshness 检查。freshness 检查是对于启用被动检查模式的主机而言的,其作用是定期检查主机报告的状态信息,如果该状态信息已经过期,freshness 将会强制做主机检查。
freshness_threshold 数字     ; fressness 的临界值,单位为秒。 如果定义为 “0” ,则为自动定义。
event_handler command_name    ; 当主机发生状态改变时,采用的处理命令的简短的名字(可以在 commands.cfg 中对其定义)
event_handler_enabled [0/1]    ; 是否启用 event_handler
low_flap_threshold 数字    ; 抖动的下限值。抖动,即在一段时间内,主机(或服务)的状态值频繁的发生变化。
high_flap_threshold 数字   ; 抖动的上限值。
flap_detection_enabled [0/1]    ; 是否启用抖动检查。
process_perf_data [0/1]    ; 是否启用 processing of performance data
retain_status_information [0/1]    ; 程序重启时,是否保持主机状态相关的信息。
retain_nonstatus_information [0/1]    ; 程序重启时,是否保持主机状态无关的信息。
contact_groups contact_groups    ; 联系人组,在此组中的联系人都会收到主机的提醒信息。
notification_interval 整数    ; 重复发送提醒信息的最短间隔时间。默认间隔时间是 “60” 分钟。如果这个值设置为 “0” ,将不会发送重复提醒。
notification_period timeperiod_name   ; 发送提醒的时间段。非常重要的主机(服务)定义为 24×7 ,一般的主机(服务)就定义为上班时间。如果不在定义的时间段内,无论发生什么问题,都不会发送提醒。
notification_options [d,u,r,f]    ; 发送提醒包括的情况: d = 状态为 DOWN , u = 状态为 UNREACHABLE , r = 状态恢复为 OK , f = flapping
notifications_enabled [0/1]    ; 是否开启提醒功能。”1″ 为开启,”0″ 为禁用。一般,这个选项会在主配置文件 (nagios.cfg) 中定义,效果相同。
stalking_options [o,d,u]    ; 持续状态检测参数,o = 持续的 UP 状态 , d = 持续的 DOWN 状态 , u = 持续的 UNREACHABLE 状态
}

服务监控的配置

define service {
host_name host_name
service_description service_description
servicegroups servicegroup_names
is_volatile [0/1]
check_command command_name
max_check_attempts
normal_check_interval
retry_check_interval
active_checks_enabled [0/1]
passive_checks_enabled [0/1]
check_period timeperiod_name
parallelize_check [0/1]
obsess_over_service [0/1]
check_freshness [0/1]
freshness_threshold
event_handler command_name
event_handler_enabled [0/1]
low_flap_threshold
high_flap_threshold
flap_detection_enabled [0/1]
process_perf_data [0/1]
retain_status_information [0/1]
retain_nonstatus_information [0/1]
notification_interval
notification_period timeperiod_name n
otification_options [w,u,c,r,f]
notifications_enabled [0/1]
contact_groups contact_groups
stalking_options [o,w,u,c]
}

服务监控的配置和主机监控的配置较为相似,就不一一说明了。

间隔时间的计算方法为:
normal_check_interval x interval_length 秒
retry_check_interval x interval_length 秒
notification_interval x interval_length 秒

主机监控配置的例子

define host {
host_name web1
alias web1
address 192.168.0.101
contact_groups admins
check_command check-host-alive
max_check_attempts 5
notification_interval 0
notification_period 24×7
notification_options d,u,r
}

对主机 web1 进行 24×7 的监控,默认会每 10 秒检查一次状态,累计五次失败就发送提醒,并且不再重复发送提醒。

服务监控配置的例子

define service {
host_name web1
service_description check_http
check_period 24×7
max_check_attempts 3
normal_check_interval 30
contact_groups admins
retry_check_interval 15
notification_interval 3600
notification_period 24×7
notification_options w,u,c,r
check_command check_http
}

配置解释: 24×7 监控 web1 主机上的 HTTP 服务,检查间隔为 30 秒, 检查失败后每 15 秒再进行一次检查,累计三次失败就认定是故障并发送提醒。
联系人组是 admins 。提醒后恢复到 30 秒一次的 normal_check_interval 检查。如果服务仍然没有被恢复,每个小时发送一次提醒。

如果要检测其他服务,例如,要检查 ssh 服务是否开启,更改如下两行:
service_description check_ssh
check_command check_ssh

为方便管理,对配置文件的分布做了如下修改:
nagios.cfg 中增加了:
cfg_dir=/usr/local/nagios/etc/hosts
cfg_dir=/usr/local/nagios/etc/services

在 hosts 目录中,为不同类型的主机创建了配置文件,如: app.cfg cache.cfg mysql.cfg web.cfg
并创建了 hostgroup.cfg 文件对主机进行分组,如:

define hostgroup {
hostgroup_name app-hosts
alias APP Hosts
members app1,app2
}

在 services 目录中创建了各种服务的配置文件,如: disk.cfg http.cfg load.cfg mysql.cfg
并创建了 servicegroup.cfg 文件对服务进行分组,如:

define servicegroup {
servicegroup_name disk
alias DISK
members cache1,check_disk,cache2,check_disk
}
分类: monitor 标签: ,

nagios中文版安装详解

2011年3月21日 没有评论

我友博客-nagios监控系统

1.关闭selinux

2.安装httpd php mysql 等基础环境软件

3.加载json模块

4.建立nagios账号
/usr/sbin/useradd nagios
创建一个用户组名为nagcmd用于从Web接口执行外部命令。将nagios用户和apache用户都加到这个组中。

5.编译与安装nagios

自启动配置

6.cgi脚本权限配置

7.编译并安装nagios插件 nagios‐plugins

8.nrpe安装

vi /etc/services
加入以下:

9.启动xinetd服务

10.nrpe测试

11.web页面访问测试

http://ip/nagios

分类: monitor, nagios 标签: ,

Starting nagios:This account is currently not available nagios启动报错

2011年3月14日 没有评论

如果出现如下的提示修改nagios的shell

Starting nagios:This account is currently not available.

[root@client3 etc]# service nagios restart
Running configuration check…done.
Stopping nagios: done.
Starting nagios:This account is currently not available.
 done.

解决方法:

修改/etc/passwd

将/sbin/nologin改成/bin/bash

分类: monitor 标签:

nagios和cacti整合-实测

2011年3月8日 没有评论

这里nagios和cacti的安装我就不作讲解,主要是ndoutils和pnp的安装过程。

json模块的安装,这里参考本博客

ndoutils-1.4b安装
这个软件其实是将Nagios的配置及监控信息存储到数据库里,NPC通过调用ndo所存储的数据来展
现Nagios的信息 下载ndoutils-1.4b7.tar.gz,我试过ndoutils-1.4b9.tar.gz遇到几次挫折,没配
置成功,我就换这个版本。

依照自己安装的mysql-lib和mysql-inc指定它的目录,我的mysql是yum安装的,所有路径是默认
路径。如果configure没有任何错误信息,就可以make一下,make后我们仅需要它的部分文件。
执行make来进行编译
编译完成后(不需要make install)

进入 ndoutils-1.4b7/src目录<以下为ndo的执行文件>

进入 ndoutils-1.4b7/config目录<以下为ndo的配置文件>

配置ndo2db.cfg

以上为需要根据自己的实际情况配置的信息,其他配置可以根据自己需求来进行配置。

配置ndomod.cfg

以上是需要根据自己的实际情况修改的,yum安装和源码安装相关文件的位置可能不一样,根据自己
的情况来写吧,ndo默认的配置是按照源码默认安装的文件配置的。
配置nagios.cfg文件

以上为需要更改的nagios.cfg的内容。

7 Npc的安装

解压,然后将整个文件夹cp至/var/www/html/cacti/plugins/下
修改/var/www/html/cacti/include/global.php
添加:

让cacti知道有这个插件

在’User Management’中选择’admin’,在下边’Realm Permissions’中钩选’Plugin Management’。这
时右侧会出现’Plugin Management’连接,进去后在’uninstalled’中安装npc,然后在’intalled’中
enable npc,然后在回去admin的’Realm Permissions’中会出现’use npc’,如果没有钩选就把它选中。

接着在右侧栏目中选择settings,点选npc的标签
钩选Remote Commands
Nagios Command File Path: /var/nagios/rw/nagios.cmd
<这个文件启动nagios后会产生,根据实际的位置写>
Nagios URL: http://yourserver/nagios/
保存就可以了。

至此安装就完成了
启动mysql httpd ndo nagios

访问http://yourserver/cacti/
选择npc标签就可以看到nagios所检测的主机信息,唯一不足的是我打开这个页面的速度有些慢,需要进一步寻找原因来进行优化

nagios日志:

如果是下面这样是正确的
ndomod: NDOMOD 1.4b7 (10-31-2007) Copyright (c) 2005-2007 Ethan Galstad (nagios@nagios.org)
[1272020945] ndomod: Successfully connected to data sink.  4897 queued items to flush.
[1272020951] ndomod: Successfully flushed 4897 queued items to data sink.
[1272020951] Event broker module ‘/usr/local/nagios/bin/ndomod-3x.o’ initialized successfully.

可能出现的问题
1.npc页面空白或者提示无法访问npc.php
确认安装并配置php-jsion正确
2.cacti无图或者没有数据
这个问题很多
检查ndo2db.cfg 里面的数据库配置。
3.出现类似Error: Missing Dependency: mysql = 5.0.45-7.el5 is needed by package mysql-server的情况
请删除系统中已经安装的包,例如已经安装不同版本的mysql则出现上述问题

下面是我的截图。

nagios和cacti整合 我友博客

nagios和cacti整合 我友博客

nagios和cacti整合 我友博客

nagios和cacti整合 我友博客

nagios各种报警设置

2011年3月7日 没有评论

一、网页报警
1。修改cgi.cfg 去掉下面几行注释
host_unreachable_sound=hostdown.wav
host_down_sound=hostdown.wav
service_critical_sound=critical.wav
service_warning_sound=warning.wav
service_unknown_sound=warning.wav
normal_sound=noproblem.wav
2。在/usr/local/nagios/share/media/应该有相应的声音文件(这个默认没有的,需要自己添加)

二、邮件报警 (使用sendEmail 发送邮件)
# wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz
# tar –zxvf sendEmail-v1.55.tar.gz
# cd sendEmail-v1.56
# cp sendEmail /usr/local/bin
# chmod 0755 /usr/local/bin/sendEmail
#. /usr/local/bin/sendEmail –f nagios@scomd.com–t mail@scomd.com –s mail.scomd.com –u “from nagios” –xu nagios –xp scomd –m nagios test
-f 表示发送者的邮箱
-t 表示接收者的邮箱
-s 表示SMTP服务器的域名或者ip
-u 表示邮件的主题
-xu 表示SMTP验证的用户名
-xp 表示SMTP验证的密码(注意,这个密码貌似有限制,例如我用d!5neyland就不能被正确识别)
-m 表示邮件的内容

修改commands.cfg
define command{
command_name notify-host-by-email
command_line /usr/bin/printf “%b” “***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\nHost: $HOSTNAME$\nState: $HOSTSTATE$\nAddress: $HOSTADDRESS$\nInfo: $HOSTOUTPUT$\n\nDate/Time: $LONGDATETIME$\n” | /usr/local/bin/sendEmail -f nagios@scomd.com -t nagios@scomd.com -s mail.scomd.com -u “from nagios” -xu nagios -xp scomd ; /bin/mail -s “** $NOTIFICATIONTYPE$ Host Alert: $HOSTNAME$ is $HOSTSTATE$ **” $CONTACTEMAIL$
}

# ‘notify-service-by-email’ command definition
define command{
command_name notify-service-by-email
command_line /usr/bin/printf “%b” “***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\n\nService: $SERVICEDESC$\nHost: $HOSTALIAS$\nAddress: $HOSTADDRESS$\nState: $SERVICESTATE$\n\nDate/Time: $LONGDATETIME$\n\nAdditional Info:\n\n$SERVICEOUTPUT$” | /usr/local/bin/sendEmail -f nagios@scomd.com -t nagios@scomd.cn -s mail.scomd.com -u “from nagios” -xu nagios -xp scomd
}
发现一个小问题,我用163测试,密码错误的也可以发送。
三、飞信报警 (移动用户必须开通飞信业务)
#wget http://www.it-adv.net/fetion/downng/fetion20091117-linux.tar.gz
#tar –zxvf fetion20091117-linux.tar.gz
#cd fx
LD_LIBRARY_PATH=. ./fetion –mobile=13691515**** –pwd=mypwd –to=13691515****–msg-utf8=test
发送成功后可进行整合。发送不成功请关注http://www.it-adv.net网站的说明
编辑commands.cfg,增加host-notify-by-fetion和service-notify-by-fetion命令的定义
define command {
command_name host-notify-by-fetion
command_line LD_LIBRARY_PATH=/usr/local/nagios/fx /usr/local/nagios/fx/fetion –mobile=13691515****–pwd=passwd –to=13691515**** –msg-utf8=”Host $HOSTSTATE$ alert for $HOSTNAME$! on ‘$LONGDATETIME$'” $CONTACTPAGER$
}

define command {
command_name service-notify-by-fetion
command_line LD_LIBRARY_PATH=/usr/local/nagios/fx /usr/local/nagios/fx/fetion –mobile=13691515**** –pwd= passwd –to=13691515**** –msg-utf8=”$HOSTADDRESS$ $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ on $LONGDATETIME$” $CONTACTPAGER$
}

编辑contact.cfg,添加短信通知
define contact{
contact_name nagiosadmin
use generic-contact
alias Nagios Admin
email stcomd@163.com
service_notification_commands notify-service-by-email,service-notify-by-fetion
host_notification_commands notify-host-by-email,host-notify-by-fetion
pager 13691515****
}

分类: monitor 标签: ,

用escalations限制Nagios报警次数

2011年3月7日 没有评论

转载:http://www.scomd.com/read.php?37
用escalations限制Nagios报警次数

整合的飞信之后,如果出现问题未能即使解决的话,那么后果将十分“杯具”,每五分钟你将收到一条报警短信,你的邮箱也会被报警邮件塞满。nagios官方也想到了这个问题,于是他们给出了解决办法,http://nagios.sourceforge.net/docs/3_0/escalations.html,这里是官方的说明,以下是我的做法。

首先编辑contact.cfg,把原有的配置复制一份在下面,变成:
define contact{
contact_name nagiosadmin
use generic-contact
alias Nagios Admin
email stcomd@163com ;
service_notification_commands notify-service-by-email,service-notify-by-fetion
host_notification_commands notify-host-by-email,host-notify-by-fetion
pager 13691515****
}

define contactgroup{
contactgroup_name admins
alias Nagios Administrators
members nagiosadmin
}

define contact{
contact_name scomd
use generic-contact
alias Nagios Admin
email stcomd@163com
service_notification_commands notify-service-by-email
host_notification_commands notify-host-by-email
pager 13691515****
}

define contactgroup{
contactgroup_name sysadmin
alias sysadmin
members scomd
}

然后然后创建一个配置文件: escalations.cfg

#vi /usr/local/nagios/etc/objects/escalations.cfg

添加如下内容:
define serviceescalation{
host_name scomd.com ;被监控主机名称,多个用逗号隔开
first_notification 4 ; 第4条信息起,改变频率间隔
last_notification 0 ; 第n条信息起,恢复频率间隔
notification_interval 30 ; 通知间隔(单位:分)
contact_groups sysadmin
}

define serviceescalation{
host_name scomd.com ;被监控主机名称
service_description PING ;被监控服务名称,多个用逗号隔开
first_notification 4
last_notification 0
notification_interval 30
contact_groups sysadmin
}

最后,编辑nagios.cfg文件

#vi /usr/local/nagios/etc/nagios.cfg
添加:
cfg_file=/usr/local/nagios/etc/objects/escalations.cfg

检查nagios配置文件是否正确
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

没有问题就重启nagios服务吧
service nagios restart

分类: monitor 标签: ,

nagios 3.2 配置文件说明

2011年3月7日 没有评论

因为nagios-2.x与nagios-3.x配置文件有区别,在此叙述的是3.2中文版。

在nagios/etc下有
cgi.cgf cgi的配置文件
nagios.cgf nagios的主配置文件
htpasswd.users 登陆验证使用的用户和密码
nagiosgraph.cfg
ndo2db.cfg nagios采集的数据写到数据库的插件ndo的配置文件
ndomod.cfg nagios采集到的数据读出,然后交给ndo2db的配置文件
nrpe.cfg nrpe采集本机的数据的配置文件
resource.cfg 外部命令资源配置文件
objects目录下 这个目录下的定义nagios采集数据的配置文件
commands.cfg 这个是定义每个插件使用和报警的定义的
contacts.cfg 这个是联系定义模板
localhost.cfg 这个是本机监控模板
printer.cfg 这个是打印机监控模板
templates.cfg 这个是对监控的采集时间、联系人、状态检查机制等的模板
timeperiods.cfg 这个是监控所使用的时间模板
windows.cfg 这个是windows服务器监控模板
switch.cfg 这个是监控switch或router的监控模板(需要使用到mrtg)

在templates.cfg这个配置文件中定义有一下几个模板,在自己定义的监控的服务就用写那么多,直接使用use 下面的模板就可以,在nagios中使用的是继承的关系。

generic-contact
generic-host
linux-server linux服务器模板
windows-server windows服务器模板
generic-printer 打印机模板
generic-switch 交换机路由器模板
generic-service 服务模板
local-service 本机的

分类: monitor 标签:

linux上rrdtool安装

2011年3月7日 没有评论

rrdtool安装有很多依赖关系。这里我们用yum安装,方便省事

安装相关依赖

安装rrdtool

分类: monitor 标签: ,

nagios监控客户端的配置[nagios-plugins和nrpe]

2011年3月7日 没有评论

没安装xinetd和openssl的要安装

建立nagios用户

安装Nagios插件

安装nrpe

配置nrpe启动

重启 xinetd 服务

检查nrpe是否正常工作
在监控端执行以下命令,返回版本则成功。

配置监控命令

检查监控命令是否生效
在监控端执行以下命令,返回结果则成功。

分类: monitor 标签: ,

nagios图形工具PNP安装指南

2011年3月7日 没有评论

安装rrdtools(绘图工具)可能需要的库

一.编译安装rrdtool

安装rrdtools

二.yum简单安装rrdtool方法:

安装PNP

编辑Nagios 的主配置文件 nagios.cfg

如果想要对某个监控对象做数据图表,则需在所对应的host或者service 定义中包含如下的定义:
process_perf_data 1
编辑command.cfg,将“process-service-perfdata”命令对应的执行命令行的内容替换成该脚本:

检查配置文件并重启

访问web

分类: monitor 标签: ,

巧用escalations限制Nagios报警次数 – [Nagios]

2011年3月3日 没有评论

版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
http://vincent-nan.blogbus.com/logs/36900981.html

Nagios是非常强大的一款监控工具,尤其是它的告警功能,现在网上实现的形式多种多样如结合移动139邮箱、Fetion、MSN等,但是如果服务器出现故障而未能及时的解决,Nagios就会不断的发送告警信息,实在令人头疼。现在用如下方法可以解决Nagios的告警次数问题。

系统环境:CentOS 5.2
Nagios版本:3.0.6
Nagios安装路径:/usr/local/nagios
配置文件内容定义:#基本的配置就不再进行注释了。

hosts.cfg
define host{

host_name WWW-Server
alias WWW-Server
address 193.1.16.100
check_command check-host-alive
max_check_attempts 5
check_period 24×7
notification_interval 10
notification_period 24×7
notification_options d,u,r
notifications_enabled 1
contact_groups chengnan
}

Services.cfg
define service{
host_name WWW-Server
service_description Check_HTTP
check_command check_http
max_check_attempts 10
normal_check_interval 3
retry_check_interval 2
check_period 24×7
notification_interval 5
notification_period 24×7
notification_options w,u,c,r
contact_groups admin
}

define service{
host_name WWW-Server
service_description Check_Jetty
check_command check_tcp!8080
max_check_attempts 10
normal_check_interval 3
retry_check_interval 2
check_period 24×7
notification_interval 5
notification_period 24×7
notification_options w,u,c,r
contact_groups admin
}

Contacts.cfg
define contact{

contact_name chengnan
alias chengnan
service_notification_period 24×7
host_notification_period 24×7
service_notification_options w,u,c,r
host_notification_options d,u,r
service_notification_commands notify-service-by-email
host_notification_commands notify-host-by-email
email chengnan@139.com //手机邮箱

}

define contactgroup{
contactgroup_name chengnan
alias Nagios Administrators
members chengnan
}
除此之外再定义一个联系人
define contact{
contact_name chengnan_cor
alias chengnan_cor
service_notification_period 24×7
host_notification_period 24×7
service_notification_options w,u,c,r
host_notification_options d,u,r
service_notification_commands notify-service-by-email
host_notification_commands notify-host-by-email
email chengnan@company.com //公司邮箱
}

define contactgroup{
contactgroup_name sysadmin
alias sysadmin
members chengnan_cor
}

然后创建一个配置文件:
vi escalations.cfg
escalations有自动调整;不断增加; 逐步上升等意思,本身配置文件的功能是当服务在某一告警次数前没有恢复,告警频率周期将会缩短,同时将告警信息发送至指定联系人。
其内容为:
define hostescalation{
host_name WWW-Server //被监控主机名称,与Hosts.cfg中一致
first_notification 4 // 第n条信息起,改变频率间隔
last_notification 0 // 第n条信息起,恢复频率间隔
notification_interval 30 // 通知间隔(分)
contact_groups sysadmin
}
说明:从第4条告警信息起至服务器恢复前,告警信息发送至sysadmin组下的联系人,告警间隔为30分钟1条信息。

define serviceescalation{
host_name WWW-Server //被监控主机名称,与Hosts.cfg中一致
service_description Check_HTTP,Check_Jetty //被监控服务名称,与Services.cfg中一致
first_notification 4
last_notification 0
notification_interval 30
contact_groups sysadmin
}

保存

修改nagios.cfg
vi nagios.cfg
添加:
cfg_file=/usr/local/nagios/etc/objects/escalations.cfg

检查nagios配置文件是否正确
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

重新启动nagios服务:
service nagios restart

测试:
服务器启动后停掉被监控测试机的相应服务,确认告警信息是否按照设置发送至不同信箱

后记
escalations这个功能官方给的定义是notification的扩充,使notification变得更加灵活,方便。文中我使用的方法算是耍了个小聪明,将第四条告警信息后的所有信息全部发送至我公司邮箱直至服务器恢复(recovery的信息还是会发送至手机的),从而实现限制告警信息发送至手机的条数。

官方文档地址:http://nagios.sourceforge.net/docs/3_0/escalations.html

分类: monitor 标签:

Nagios飞信linux系统免费短信报警配置

2011年3月2日 没有评论

本人声明如需转载请保留如下信息:
作者:SOLARIS小兵
MAIL:solarisxb@hotmail.com
BLOG:http://solarisxb.cublog.cn/

一、前言:
1、nagios是一个非常好的系统监控工具,现在我的nagios系统已经正常运行,使用短信猫和邮件可以报警。使用飞信可以节约我们的短信猫和短信费用。
2、飞信首先手机要开通中国移动的飞信业务。目前使用飞信发送短信是免费的。需要把接受短信的手机和飞信发送手机加为好友。
3、下载飞信的linux客户端程序.解开包后只有一个文件sms。不错。这个就是飞信发送短信的程序啦。现在的飞信还是不能用的。因为它需要libace的glibc库的支持。
二、飞信linux程序下载:
1、飞信官方网站:http://www.it-adv.net/
2、飞信官方命令下载:sms
http://www.it-adv.net/fetion/fetion_linux_20080402.tar.gz
3、飞信官方lib库下载:
32位官方lib库:http://www.it-adv.net/fetion/library32.rar
64位官方lib库:http://www.it-adv.net/fetion/library64_linux.tar.gz

三、飞信程序测试:
1、飞信命令测试:
# wget http://www.it-adv.net/fetion/fetion_linux_20080402.tar.gz
# tar xvfz fetion_linux_20080402.tar.gz
# cp sms /usr/bin
# sms -h
sms -f mobile -p pwd -t mobile1,.. -m message -a message -d
sms -f mobile -p pwd -t mobile1,.. -i file_name[utf8] -a invite_message -d 1
-f:Fetion mobile account(only supports mobile phone No.)
-p:Account password
-t:Destination mobile list
-m:Message
-i:File name(only supports utf8)
-a:Auto send invite using invite_message.
-d:Debug on.
如果没有安装lib库,将会提示 缺少libACE.so.5.4.7包
四、解决缺少lib库的方法:
说明: 在centOS5下装提示需要libACE.so.5.4.7这个库,千万不要自己去安装ACE包,很麻烦,官方已经给了liunx的下载版本:
1.先检查一下缺少的lib文件
[root@nagios libexec]# ldd sms
linux-gate.so.1 => (0x00b00000)
libACE.so.5.4.7 => not found
libACE_SSL.so.5.4.7 => not found
libssl.so.0.9.8 => not found
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x02a05000)
libm.so.6 => /lib/libm.so.6 (0x00cd4000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x029f7000)
libc.so.6 => /lib/libc.so.6 (0x00b92000)
/lib/ld-linux.so.2 (0x001c3000)
2.下载lib库:
32位官方lib库:http://www.it-adv.net/fetion/library32.rar
64位官方lib库:http://www.it-adv.net/fetion/library64_linux.tar.gz
3、安装lib库
[root@nagios library32]# ls
libACE.so.5.4.7 libACE_SSL.so.5.4.7 libcrypto.so.0.9.8 libssl.so.0.9.8
[root@nagios library32]# cp *.* /lib/
[root@nagios library32]# cp *.* /usr/lib/
4、测试sms:
[root@nagios libexec]# ./sms
************************ IMPORTANT STATEMENT ************************
** **
** PLEASE DON’T USE THIS SOFTWARE TO SEND JUNK SHORT MESSAGES. **
** OTHERWISE PLEASE BEAR YOUR OWN CONSEQUENCES. **
** **
** [version:2008-4-2] **
*********************************************************************
This program is for sending short messages via CMCC Fetion!
http://www.fetion.com.cn/
AUTHOR:KelvinHan MSN/EMAIL:shichangguo@msn.com 2008/3/8
Usage:
sms -f mobile -p pwd -t mobile1,.. -m message -a message -d
sms -f mobile -p pwd -t mobile1,.. -i file_name[utf8] -a invite_message -d 1
-f:Fetion mobile account(only supports mobile phone No.)
-p:Account password
-t:Destination mobile list
-m:Message
-i:File name(only supports utf8)
-a:Auto send invite using invite_message.
-d:Debug on.
五、 Nagios飞信测试:
1、需要注册一个可以使用飞信的手机号码,测试期间可以自己发送给自己做测试。
2、给别的手机发飞信,需要给把手机绑定为好友。
3、飞信环境解决了,发短信测试一下
136933XXXXX为发飞信的注册手机号码
136833XXXXX、36733XXXXX 为接收飞信短信的手机号码

[root@nagios libexec]# ./sms -f 136933XXXXX -p password -t 136833XXXXX -m hello,this is test

也可以要发的消息在一个文本文件里,如 message.txt
./sms -f 136933XXXXX -p password -t 136833XXXXX,136733XXXXX -i message.txt

如果接收短信的手机号码在你的好友列表里,就会发送成功。
如果不在好友列表里,发送是不成功的。如果你想让程序邀请他们加入,那么就用 -a 参数
sms -f 136933XXXXX -p password -t 136833XXXXX,136733XXXXX -m 你好,飞信 -a UBUNTU

这样,对方就会收到移动发的确认短信。
六、 Nagios配置:
1、nagios命令配置commands.cfg:
more /usr/local/nagios/etc/commands.cfg
define command{
command_name notify-service-by-sms

command_line /usr/bin/sms -f 13901111111 -p 562128 -t $CONTACTPAGER$ -m “$HOSTNAME$ $SERVICEDESC$ is $SERVICESTATE$
on $TIME$ result is $SERVICEOUTPUT$” $CONTACTPAGER$
}

2.nagios发送配置contacts.cfg:

[root@nagios ~]# more /usr/local/nagios/etc/contacts.cfg
define contact{
contact_name sa
alias system admin
host_notification_period 24×7
service_notification_period 24×7
host_notification_options d,r,
service_notification_options c,w,r
service_notification_commands notify-service-by-email,notify-service-by-sms
# service_notification_commands notify-service-by-email
host_notification_commands notify-host-by-email
# email 1234@sina.com
pager 158010775111
}
[root@nagios ~]#

分类: monitor 标签: ,

nagios图形显示pnp安装配置

2011年3月2日 没有评论

一.安装rrdtool

RRDTOOL将nagios采集的数据绘制成图表。

二.安装pnp

三.配置nagios

添加太阳图标,配置前端页面

四,验证

参考资料:http://docs.pnp4nagios.org/pnp-0.4/start
转载:http://blog.csdn.net/deccmtd/archive/2010/06/07/5653147.aspx

分类: monitor 标签:

监控软件nagios host字段解释

2011年3月2日 没有评论

分类: monitor 标签: