nagios2.X与3.X区别及新版本fetion飞信发短信的方法

简介:




一、Nagios 简单原理:

Nagios 简单地说就是一个平台,其工作都依赖于插件及第三方工具来实现。像plgins 可以检测到服务(pop2,tcp,httpd,mysql)的状态; nrpe可以检测到主机本身信息(swap,sdx,top)的状态; nsca可以检测到windows机器的状态。报警(常用):邮件―sendmailmsnsendmsg;短信-短信网关/飞信。还可以结合mrtg rddtools画出流量报表。
大家看张图吧:
 
二、配置文件区别
安装过程很简单,现在只讲下配置的区别吧。
Nagios 2.X 
所有配置文件都在:/../nagios/etc/ 目录下
主配置文件:nagios.cfg用以指定nagios的基本工作,及使用那些次配置文件
次配置文件:(都需要自己新建)
contactgroups.cfg  联系组配置文件
contacts.cfg       联系人配置文件
hostgroups.cfg     主机组配置文件
hosts.cfg          主机配置文件
services.cfg       服务配置文件(定义多台主机时,这个配置文件可以写N个,只需要在nagios.cfg中再添加一项就可以了)
timeperiods.cfg    监视时段配置文件
cgi.cfg              cgi脚本配置文件
commands.cfg        定义运行插件配置文件
templates.cfg       报警时间,报警信息配置
 
Nagios 3.X 
主配置文件及cgi.cfg /../nagios/etc/ 目录下
次配置文件在: /../nagios/etc/objects/ 目录下
主配置文件:nagios.cfg用以指定nagios的基本工作,及使用那些次配置文件
次配置文件:(默认安装就有)
contacts.cfg    联系人及组配置文件
templates.cfg   监控项目及报警配置文件
timeperiods.cfg 监视时间配置文件
switch.cfg      交换机配置文件
windows.cfg    windows配置文件
localhost.cfg    本机配置文件
commands.cfg   定义运行插件配置文件
 
注意区别:
<!--[if !supportLists]-->1、  <!--[endif]-->配置文件目录不一样
<!--[if !supportLists]-->2、  <!--[endif]-->3.X配置文件不需要自己新建,默认就有
<!--[if !supportLists]-->3、  <!--[endif]-->配置文件改动很大,其中装用户及组写到了一个文件,但不定义报警的时间,只定义收邮件人/接收短信人,其报警时间段写到了templates.cfg文件里;监控主机配置文件直接写到了服务配置文件里,相应的主机组都定义在templates.cfg
<!--[if !supportLists]-->4、  <!--[endif]-->2.xswap需要手动添加到commands.cfg    3.X自带
 
三、插件的问题
许多人在装nrpe的时候都会遇到CHECK_NRPE: Error - Could not complete SSL handshake错误。解决方法
石头大哥([url]http://www.itnms.net/discuz/[/url])的翻译如下:
简单说一下,大概的内容,不是严格翻译。
     1.  
确认check_nrpe  nrpe daemon的版本一定要一致。
     2.  
确认 check_nrpenrpe deamon端同时启用或者禁用ssl支持。
     3.  
确认nrep.cfg可以被nrpe(或者nagios,反正是执行nrep或者xinetd/inetd程序的)用户正常读取。
     4.  
有关伪随机设备的问题。这个只会在solaris 8上出现,需要一个补丁Sun patch 112438
     5.  
确定nagios主机在xinetd only_from中,如果没有使用xinetd,则要确认nrpe.cfg中的配置。
另外,赠送l两个,
1. 
检查一下你的Windows或者Linux自带的防火墙,是否把端口给filter掉了。
2. 
nrpe的的log打开,可以发现更多有用的信息。

四、飞信机器(fetion)新版 结合nagios短信报警方法
旧版是fetion-200804X 采用的sms直接发短信的方法。这种方法很简单。
 
新版我用的fetin-20080522X
安装方法:
参考hiadmin
1 、软件环境(centos 5为例)
官网地址:[url]http://www.it-adv.net/[/url]
支持库安装:
需要Glibc2.4以上的版本
2 、安装过程
下载包地址 LINUX X86/32(REDHAT ES4X32):支持库 最新程序fetion20080522004-linrh4.tar.gz
其中支持库和安装包内容如下:
# tar zxvf libraryrh4x32.tar.gz 
libACE-5.6.5.so
libACE_SSL-5.6.5.so
libcrypto.so.0.9.7a
libssl.so.0.9.7a

# tar zxvf fetion20080522004-linrh4.tar.gz
我将fetion放在/../nagios/libexec/sms
把支持库复制到/usr/lib/目录下,并作软链接如下:
cp lib*so* /usr/lib/
ln -s /usr/lib/libcrypto.so.0.9.7a /usr/lib/libcrypto.so.4
ln -s /usr/lib/libssl.so.0.9.7a /usr/lib/libssl.so.4
设定lib库配置文件
#vi /etc/ld.so.conf
#
增加一条
/usr/lib/
#
保存退出后,执行
#ldconfig
fetion 的目录结构:
.\Readme.txt: 
本说明文件
.\fetion
:主程序
.\sound\*.wav:
各种音效文件,您可以用自己喜欢的文件替换
.\plugins\plugin_*: 
插件程序,您可以修改插件以达到自己的各性化需求
完成之后测试,安装是否成功;执行
#cd install
# ./fetion -h
 Usage:
    fetion -h
        -h: help
    fetion -u mobile -p pwd [-b batchfile] [-EN] [-d]
    fetion -u mobile -p pwd [-b batchfile] [-EN] [-d]
        -u: Fetion user account(only supports mobile phone No.)
        -p: Account password
        -b: Batch file name
        -d: Debug on and write logs to [mobile]-debug.log
        -EN: English
3 、实际测试
测试帐号:13888888888
密码:123456 (如果密码中含有特殊字符,请使用单引号)
如果发送成功。那么fetion安装过程就OK
 
五:fetion 组合nagios
1Fetion以后台方式启动:nohup /usr/local/nagios/libexec/sms/fetion -u 13888888888 -p 123456 >/dev/null 2>1 &
2、写一个perl脚本(本脚本由gzmaster小弟提供)
Sms.pl (/../nagios/libexec/sms/sms.pl)
#!/usr/bin/perl -w
 
use strict;
use Data::Dumper;
use LWP::UserAgent;
my $mesg = shift;
$mesg =~ s/\//|/g;
my @number = (接收手机号,接收手机号);
foreach my $number ( @number ) {
        #print "send sms to $number \n";
        my $send_sms_url = "http://localhost:40000/API/buddy/sms/" . $number . "/" . $mesg . '?rand=0.7394060082921254';
        my $request = HTTP::Request->new(GET => $send_sms_url);
        my $ua = LWP::UserAgent->new;
        $ua->timeout( 5 );
        $ua->agent("Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.2; .NET CLR 1.1.4322; Maxthon 2.0)");
        my $response = $ua->request($request);
        my $content = $response->content();
}
    3、修改相应的配置文件
修改用户及组:contacts.cfg
添加:
define contact{
        contact_name                    sms-members
        use                             sms-mail-contact
        alias                           Nagios Admin SMS
        pager                          13581565655
       }
 
define contactgroup{
        contactgroup_name       admins-and-lijs
        alias                   Nagios Administrators
        members                 sms-members
        }
修改报警选项:templates.cfg
 
define contact{
        name generic-contact               
 service_notification_period     24x7  
host_notification_period    24x7        
 service_notification_options    w,u,c,r,f,s
host_notification_options       d,u,r,f,s
 service_notification_commands notify-service-by-email; service-notify-by-sms
      host_notification_commands     notify-host-by-email
        register                        0    
        }
 
define contact{
        name                            sms-mail-contact
        service_notification_period     24x7                  
        host_notification_period        24x7               
        service_notification_options    w,u,c,r,f,s      
        host_notification_options       d,u,r,f,s  
        service_notification_commands  service-notify-by-sms
        host_notification_commands     notify-host-by-email
       register                        0                 
        }
 
修改调用脚本:commands.cfg
#host-notify-by-sms  
define command {
       command_name      host-notify-by-sms
       command_line    /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\n\nHost: $HOSTNAME$\nState:
 $HOSTSTATE$\nWAN_IP: $HOSTALIAS$\nLAN_IP: $HOSTADDRESS$\nInfo: $HOSTOUTPUT$\n\nDate/Time: $LONGDATETIME$\n" | /usr/local/nagios/lib
exec/sms.pl 710880931 "** $NOTIFICATIONTYPE$ Host Alert: $HOSTNAME$ is $HOSTSTATE$ **" $CONTACTEMAIL$
        }
 
#service notify by sms 
define command {
       command_name     service-notify-by-sms
             command_line     /usr/local/nagios/libexec/sms/sms.pl '** $NOTIFICATIONTYPE$ alert - $HOSTNAME$  $SERVICEDESC$ is $SERVICESTA
TE$ info: $SERVICEOUTPUT$'


本文转自holy2009 51CTO博客,原文链接:http://blog.51cto.com/holy2010/305300
相关文章
|
关系型数据库 MySQL
Mysql连接无效(invalid connection)解决方案
Mysql连接无效(invalid connection)解决方案
1945 0
Mysql连接无效(invalid connection)解决方案
|
编译器 C语言
【C语言】常量的 “前缀和后缀” 大通关!
在C语言中,常量的前缀和后缀用于明确指定常量的类型和进制系统。前缀主要用于区分不同进制的数字常量,而后缀则用于区分不同类型的整数和浮点数。正确使用前缀和后缀,可以提高代码的可读性和可维护性,确保编译器正确地理解和处理常量。
832 1
|
自然语言处理 Shell Linux
基于Amlogic 安卓9.0, 驱动简说(一):字符设备驱动,手动创建设备
本文是关于在Amlogic安卓9.0平台上创建字符设备驱动的教程,详细介绍了驱动程序的编写、编译、部署和测试过程,并提供了完整的源码和应用层调用示例。
497 0
基于Amlogic 安卓9.0, 驱动简说(一):字符设备驱动,手动创建设备
|
Java Unix 编译器
C语言:编程世界的基石与魅力之源
C语言是编程的基础,由丹尼斯·里奇在70年代创造,主要用于系统编程和嵌入式系统开发,以其简洁语法、高效执行和硬件访问能力著称。它影响了众多现代编程语言,并在游戏开发等领域有重要应用。通过实例展示了C语言计算两个整数和的功能,强调其在编程教育和计算机科学中的持续价值。
|
监控 安全 网络安全
探索现代网络安全的多层次防御机制
【5月更文挑战第12天】 随着信息技术的飞速发展,网络安全已成为维护信息完整性、保障用户隐私和确保业务连续性的关键。本文将深入探讨现代网络安全面临的挑战,并详细剖析多层次防御机制如何在不同层面上提供保护。我们将从物理安全到应用层安全,再到数据安全,逐一展开讨论。文章旨在为读者提供一个关于现代网络安全防护策略的综合视角,并强调了综合安全框架的必要性。
630 4
|
机器学习/深度学习 人工智能 安全
AI对网络攻击的影响
【5月更文挑战第10天】AI对网络攻击的影响
454 3
|
弹性计算 大数据 应用服务中间件
阿里云服务器4核8g的购买价格,2024年报价
阿里云服务器4核8g配置多少钱一年?1个月费用多少?云服务器u1实例3折优惠价955.58元一年,计算型c7云服务器4核8G价格2944.79元一年。4核8G服务器按月购买比较贵,经济型e实例4核8G配置1个月216元,通用算力型u1服务器336.96元一个月。阿里云百科分享4核8G服务器租用费用:
409 1
|
XML Java Android开发
Java学习—Eclipse/Idea如何设置自动提示
Java学习—Eclipse/Idea如何设置自动提示
341 1
|
物联网 云栖大会 决策智能
从田间到市场 阿里云数智农业2.0发布
阿里云数智农业2.0提供了生产、流通、市场、服务的全链路支持。
1406 15
从田间到市场 阿里云数智农业2.0发布

热门文章

最新文章