30选5玩法|福彩30选5开奖结果321|
 

标签:Nagios

Nagios3.0.5在CentOS5.2中安装(三)

No Comments Linux

扩展提示信息发送方式(smtp, msn, fetion)

1. 使用 SMTP 发送邮件
objects/commands.cfg 中有邮件提醒命令的设置
如要通过 SMTP 发送邮件,可以使用 sendEmail:
http://caspian.dotconf.net/menu/Software/SendEmail/
安装
wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.55.tar.gz
tar zxvf sendEmail-v1.55.tar.gz
mv sendEmail-v1.55/sendEmail /usr/local/bin/
发送邮件的示例:
sendEmail -f [email protected] -t [email protected] -s smtp.test.com -u "test" -xu [email protected] -xp password -m "test."
vi objects/commands.cfg
把 notify-host-by-email 和 notify-service-by-email 的邮件发送部分改为:

  1. /usr/local/bin/sendEmail -f [email protected] -t $CONTACTEMAIL$ -s smtp.test.com -u "$HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$" -xu [email protected] -xp password

复制代码

2. 发送 MSN 提醒
这里有个 perl 写的程序:
[email protected] hello
第一次运行时发现这样的错误提示:
could not find ParserDetails.ini in /usr/lib/perl5/vendor_perl/5.8.5/XML/SAX
在这里有相关说明:
http://perl-xml.sourceforge.net/faq/#parserdetails.ini
执行
perl -MXML::SAX -e "XML::SAX->add_parser(q(XML::SAX::PurePerl))->save_parsers()"
mkdir /usr/local/nagios/lib
mv lib /usr/local/nagios/lib/msn
chown -R nagios:nagios /usr/local/nagios/lib
vi msn_send.pl
#!/usr/bin/perl
use lib "/usr/local/nagios/lib/msn";
my $handle = ‘[email protected]’;
my $password = ‘password’;
chown nagios:nagios msn_send.pl
chmod +x msn_send.pl
mv msn_send.pl /usr/local/nagios/libexec/
添加 MSN 提醒执行的命令:
vi /usr/local/nagios/etc/objects/commands.cfg

  1. define command{
  2.         command_name    notify-host-by-msn
  3.         command_line    /usr/local/nagios/libexec/msn_send.pl $CONTACTEMAIL$ "`/usr/bin/printf "%b" "***** Monitor *****\n\nNotification Type: $NOTIFICATIONTYPE$\nHost: $HOSTNAME$\nState: $HOSTSTATE$\nAddress: $HOSTADDRESS$\nInfo: $HOSTOUTPUT$\n\nDate/Time: $LONGDATETIME$\n"`"
  4.         }
  5. define command{
  6.         command_name    notify-service-by-msn
  7.         command_line    /usr/local/nagios/libexec/msn_send.pl $CONTACTEMAIL$ "`/usr/bin/printf "%b" "***** Monitor *****\n\nNotification Type: $NOTIFICATIONTYPE$\n\nService: $SERVICEDESC$\nHost: $HOSTALIAS$\nAddress: $HOSTADDRESS$\nState: $SERVICESTATE$\n\nDate/Time: $LONGDATETIME$\n\nAdditional Info:\n\n$SERVICEOUTPUT$"`"
  8.         }

复制代码

使用中发现,需要回复了才能终止进程,不然 check 就无法继续,而且是所有其它 host 和 service 的 check 都无法继续了。
作者说需要把?#37038;?#25253;警的人加为好友,可是的确是加为好友了的。但据说是可以设置超时时间的。
如果有可以运行 PHP 的 Web 服务,用 PHP 发送 MSN 信息是个简单的办法:
http://www.fanatic.net.nz/2005/02/15/send-a-message-using-php/
安装
wget http://downloads.fanatic.net.nz/dev/php/sendMsg.zip
unzip sendMsg.zip
mv sendMsg /path/to/web/dir/msn
配置
默认的验证提交方式需要 ssl 支持,用 curl 的(需要在编译 PHP 时?#30001;?–with-curl ):
vi sendMsg.php
require_once(‘msnpauth-1.1.3.php’);
发送中文需要先用 iconv 将字符集转为 UTF-8:
vi index.php
$sendMsg->sendMessage(iconv("GBK", "UTF-8", $_POST[‘message’]), ‘Times New Roman’, ‘008000’);
同样需要把发送者和?#37038;?#32773;互相加为好友。
可以先打开 http://server/msn/index.php 测试一下能否发送。如果没有问题,可以写一个脚本来执行 MSN 信息发送命令:
vi /usr/local/nagios/libexec/msn_send.sh

  1. #!/bin/sh
  2. wget -O – -q –post-data="[email protected]&password=password&recipient=$1&message=$2" http://server/msn/index.php > /dev/null

复制代码

chmod +x /usr/local/nagios/libexec/msn_send.sh
再把前面设置的 MSN 提醒命令中的 msn_send.pl 改为 msn_send.sh 就可以使用了。
3. 发送 短信 提醒
简单的,在 www.139.com 注册移动的邮箱,设置邮件短信提醒。这样就可以发送邮件的标题到注册的手机号码上。
还有利用飞信实现的:
http://www.it-adv.net/
依赖 glibc-2.4 。 CentOS4/RHEL4, Debian Etch 不能使用。
安装所依?#26723;?#24211;:
tar zxvf lib.tar.gz
mv lib /usr/local/lib/fetion
echo "/usr/local/lib/fetion" > /etc/ld.so.conf.d/fetion-i386.conf
ldconfig
再安装飞信的命令行客户端:
tar zxvf fetion_linux_20080402.tar.gz -C /usr/local/bin/
vi /usr/local/bin/sms.sh

  1. #!/bin/sh
  2. /usr/local/bin/sms -f 159xxxxxxxx -p password -t $1 -m "$2"

复制代码

chmod +x /usr/local/bin/sms.sh
和添加 MSN 提醒命令一样添加短信提醒的命令就可以了。
Debian Etch 可以升级到 testing , glibc 也就更新到 2.4 了。
sed -e ‘s|etch|testing|g’ /etc/apt/sources.list > /etc/apt/sources.list~
mv /etc/apt/sources.list~ /etc/apt/sources.list
apt-get update
apt-get dist-upgrade

Nagios3.0.5在CentOS5.2中安装(二)

No Comments Linux

10.Nagios如何监控Linux机器
nagios.png

2008-12-2 10:59:07 上传

下载附件 (16.15 KB)

NRPE总共由两部分组成:
(1).check_nrpe插件,运行在监控主机上。
(2).NRPE daemon,运行在远程的linux主机上(通常就是被监控机)
按照上图,整个的监控过程如下:
当Nagios需要监控某个远程linux主机的服务或者?#35797;?#24773;况时:
1).nagios会运行check_nrpe插件,我们要在nagios配置文件中告诉它要检查什么.
2).check_nrpe插件会通过SSL连接到远程的NRPE daemon.
3).NRPE daemon会运行相应的nagios插件来执行检查本地?#35797;?#25110;服务.
4).NRPE daemon将检查的结果返回给check_nrpe插件,插件将其递交给nagios做处理.
注意:NRPE daemon需要nagios插件安装在远程被监控linux主机上,否则,daemon不能做任何的监控.
11.Nagios的配置文件
# 控制cgi访问的配置文件
cgi.cfg
# Nagios主配置文件
nagios.cfg
# resource.cfg定义了一些变量,以便被其他文件引用,如$USER1$
resource.cfg
# objects是一个目录,用于定义Nagios对象
objects
# servers是自己创建的一个目录,Nagios可以加载一个目录下面的所?#20449;?#32622;文件(需要在nagios.cfg中配置)
servers
./objects:
# 命令定义配置文件,里面定义的命令可以被其他文件引用
commands.cfg
# 联系人和联系人组配置文件
contacts.cfg
# 监控本地机器的配置文件
localhost.cfg
# 监控打印机的一个事例配置文件(默认未启用)
printer.cfg
# 监控路由器的一个事例配置文件(默认未启用)
switch.cfg
# 模板配置文件,在此可以定义模板,在其他文件中引用
templates.cfg
# 定义监控时间段的配置文件
timeperiods.cfg
# 监控Windows的一个事例配置文件(默认未启用)
windows.cfg
./servers:
# 自己创建的主机群组配置文件
hostgroup.cfg
# 自己创建的监控远程Linux主机的配置文件
wiki-l-11.cfg
配置文件是怎样引用的?
nagios2.jpeg

2008-12-2 10:59:07 上传

下载附件 (38.63 KB)

用nagios主要是监控一台主机的各?#20013;?#24687;,包括本机?#35797;?#20197;及对外的服务等等.这些在nagios里面都是被定义为一个个的项目(nagios称之为服务,为了与主机提供的服务相区别,我这里用项目这个词),而实现每个监控项目,则需要通过commands.cfg文件中定义的命令。
为了不必重复定义一些项目,Nagios引入了一个模板配置文件(templates.cfg),将一些共性的属?#36828;?#20041;成模板,以便于多?#25105;?#29992;。
我们现在有一个监控项目是监控一台机器的web服务是否正常, 我们需要哪些元素呢?最重要的有下面三点:首先是监控哪台机器,然后是这个监控要用什么命令实现,最后就是出了问题的时候要通知哪个联系人。
我们首先应该在commands.cfg中定义监控远程服务和?#35797;?#30340;命令,以及如何发送邮件的命令。大部分监控远程服务和?#35797;?#30340;命令的命令通过/usr/local/nagios/libexec下的脚本实现,如ping命令为check_ping。
/usr/local/nagios/libexec下的脚本命令的使用发法可以通过-h?#38382;?#26597;看,如:
—————————————————————————————–
[[email protected] ~]# /usr/local/nagios/libexec/check_ping -h
check_ping v1991 (nagios-plugins 1.4.13)
Copyright (c) 1999 Ethan Galstad <[email protected]>
Copyright (c) 2000-2007 Nagios Plugin Development Team
    <[email protected]>
Use ping to check connection statistics for a remote host.
Usage:check_ping -H <host_address> -w <wrta>,<wpl>% -c <crta>,<cpl>%
[-p packets] [-t timeout] [-4|-6]
Options:
-h, –help
    Print detailed help screen
-V, –version
    Print version information
-4, –use-ipv4
    Use IPv4 connection
-6, –use-ipv6
    Use IPv6 connection
-H, –hostname=HOST
    host to ping
-w, –warning=THRESHOLD
    warning threshold pair
-c, –critical=THRESHOLD
    critical threshold pair
-p, –packets=INTEGER
    number of ICMP ECHO packets to send (Default: 5)
-L, –link
    show HTML in the plugin output (obsoleted by urlize)
-t, –timeout=INTEGER
    Seconds before connection times out (default: 10)
—————————————————————————————–
然后我们在contacts.cfg文件中定义联系人和联系人组,在timeperiods.cfg中定义监控时间段。最后我们在服务器监控配置文件中引用前面定义的元素来监控服务器状态。
===============================================================================
下面引用配置文件中部分配置做说明:
vi /usr/local/nagios/etc/resource.cfg
# 定义$USER1$变量,设置插件路径
$USER1$=/usr/local/nagios/libexec
vi /usr/local/nagios/etc/objects/commands.cfg
# 定义check-host-alive命令
define command{
        command_name    check-host-alive  # 命令名称
        command_line    $USER1$/check_ping -H $HOSTADDRESS$ -w 3000.0,80% -c 5000.0,100% -p 5
        }
# 上面的$USER1$和$HOSTADDRESS$引用自已定义的配置文件。变量不需现定义才能被引用。
########################################################################
#
# 2008.11.18 add by Stone
# NRPE COMMAND
# 自己定义check_nrpe命令,此命令后接必需接一个?#38382;?#29992;于告诉远程服务器上的NRPE daemon需要监控的内容,如check_swap?#38382;?#20026;监控远程机器的交换分区。
########################################################################
# ‘check_nrpe ‘ command definition
define command{
        command_name check_nrpe
        command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
        }
vi /usr/local/nagios/etc/objects/contacts.cfg
# 定义联系人
define contact{
        contact_name                    nagiosadmin             ; Short name of user
        use                             generic-contact         ; Inherit default values from generic-contact template (defined above)
        alias                           Nagios Admin            ; Full name of user
        email                           [email protected]         ; <<***** CHANGE THIS TO YOUR EMAIL ADDRESS ******
        }
# 上面的generic-contact在templates.cfg中定义。
# 定义联系人组
define contactgroup{
        contactgroup_name       admins
        alias                   Nagios Administrators
        members                 nagiosadmin   #在此可以加入多个联系人,中间用逗号隔开
        }
vi /usr/local/nagios/etc/objects/timeperiods.cfg
# 定义监控的时间段
define timeperiod{
        timeperiod_name 24×7   #监控所有时间段(7*24小时)
        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
        }
vi /usr/local/nagios/etc/objects/templates.cfg
# 定义generic-contact联系人模板,并非真正的联系人,真正的联系人在contacts.cfg中定义
define contact{
        name                            generic-contact         ; The name of this contact template
        service_notification_period     24×7                    ; service notifications can be sent anytime
        host_notification_period        24×7                    ; host notifications can be sent anytime
        service_notification_options    w,u,c,r,f,s             ; send notifications for all service states, flapping events, and scheduled downtime events
        host_notification_options       d,u,r,f,s               ; send notifications for all host states, flapping events, and scheduled downtime events
        service_notification_commands   notify-service-by-email ; send service notifications via email
        host_notification_commands      notify-host-by-email    ; send host notifications via email
        register                        0                       ; DONT REGISTER THIS DEFINITION – ITS NOT A REAL CONTACT, JUST A TEMPLATE!
        }
——————————————————————————————————————
service_notification_period     24×7
服务出了状况通知的时间段,这个时间段就?#24039;?#38754;在timeperiods.cfg中定义的.
host_notification_period        24×7
主机出了状况通知的时间段, 这个时间段就?#24039;?#38754;在timeperiods.cfg中定义的
service_notification_options    w,u,c,r
当服务出现w?报警(warning),u?未知(unkown),c??#29616;?critical),或者r?从异常情况恢复正常,在这四种情况下通知联系人.
host_notification_options       d,u,r
当主机出现d----?当机(down),u?返回不可达(unreachable),r?从异常情况恢复正常,在这3种情况下通知联系人
service_notification_commands   notify-service-by-email
服务出问题通知采用的命令notify-service-by-email,这个命令是在commands.cfg中定义的,作用是给联系人发邮件.
host_notification_commands      notify-host-by-email
同上,主机出问题时采用的也是发邮件的方式通知联系人
——————————————————————————————————————
# 定义generic-host主机模板
define host{
        name                            generic-host    ; The name of this host template
        notifications_enabled           1               ; Host notifications are enabled
        event_handler_enabled           1               ; Host event handler is enabled
        flap_detection_enabled          1               ; Flap detection is enabled
        failure_prediction_enabled      1               ; Failure prediction is enabled
        process_perf_data               1               ; Process performance data
        retain_status_information       1               ; Retain status information across program restarts
        retain_nonstatus_information    1               ; Retain non-status information across program restarts
        notification_period             24×7            ; Send host notifications at any time
        register                        0               ; DONT REGISTER THIS DEFINITION – ITS NOT A REAL HOST, JUST A TEMPLATE!
        }
# 定义Linux主机模板
define host{
        name                            linux-server    ; The name of this host template
        use                             generic-host    ; This template inherits other values from the generic-host template
        check_period                    24×7            ; By default, Linux hosts are checked round the clock
        check_interval                  5               ; Actively check the host every 5 minutes
        retry_interval                  1               ; Schedule host check retries at 1 minute intervals
        max_check_attempts              10              ; Check each Linux host 10 times (max)
        check_command                   check-host-alive ; Default command to check Linux hosts
        notification_period             workhours       ; Linux admins hate to be woken up, so we only notify during the day
                                                        ; Note that the notification_period variable is being overridden from
                                                        ; the value that is inherited from the generic-host template!
        notification_interval           120             ; Resend notifications every 2 hours
        notification_options            d,u,r           ; Only send notifications for specific host states
        contact_groups                  admins          ; Notifications get sent to the admins by default
        register                        0               ; DONT REGISTER THIS DEFINITION – ITS NOT A REAL HOST, JUST A TEMPLATE!
        }
# 在nagios.cfg配置文件中开启对/usr/local/nagios/etc/servers/中配置文件的引用。
cfg_dir=/usr/local/nagios/etc/servers
# 远程Linux主机监控文件,如果监控多台主机只需简单复制修改即可。
#我们应该牢记wiki-l-11.cfg用到的命令在commands.cfg中定义,在commands.cfg中定义的命令用到/usr/local/nagios/libexec下的插件(命令)。
vi /usr/local/nagios/etc/servers/wiki-l-11.cfg
# 定义主机
define host{
        use                     linux-server            ; Name of host template to use
                                                        ; This host definition will inherit all variables that are defined
                                                        ; in (or inherited by) the linux-server host template definition.
        host_name               wiki
        alias                   Docs
        address                 192.168.0.11
        }
# 定义Ping远程Linux主机
define service{
        use                             generic-service         ; Name of service template to use
        host_name                       wiki
        service_description             PING
        check_command                   check_ping!100.0,20%!500.0,60%   ;check_ping命令在commands.cfg中定义,后跟两个?#38382;?#21629;令?#23433;问?#38388;用!分割。
        }
#检查远程Linux主机根分区使用情况,check_nrpe命令必须在/usr/local/nagios/etc/objects/commands.cfg中定义(默认未定义)
define service{
        use                             generic-service         ; Name of service template to use
        host_name                       wiki
        service_description             Root Partition
        check_command                   check_nrpe!check_disk_root
        }
# 检查远程Linux主机的登录人数
define service{
        use                             generic-service         ; Name of service template to use
        host_name                       wiki
        service_description             Current Users
        check_command                   check_nrpe!check_users
        }
# 检查远程Linux的主机的负载
define service{
        use                             generic-service         ; Name of service template to use
        host_name                       wiki
        service_description             Current Load
        check_command                   check_nrpe!check_load
        }
# 检查远程Linux主机swap分区使用情况
define service{
        use                             generic-service         ; Name of service template to use
        host_name                       wiki
        service_description             Swap Usage
        check_command                   check_nrpe!check_swap
        }
# 检查远程Linux主机的SSH服务
define service{
        use                             generic-service         ; Name of service template to use
        host_name                       wiki
        service_description             SSH
        check_command                   check_ssh
        notifications_enabled           0
        }
# 检查远程Linux主机的HTTP服务
define service{
        use                             generic-service         ; Name of service template to use
        host_name                       wiki
        service_description             HTTP
        check_command                   check_http
        notifications_enabled           0
        }
vi /usr/local/nagios/etc/servers/hostgroup.cfg
# 定义主机组(localhost.cfg中有类似的主机组设置,我已将其注释掉,否则可能会有冲突)
define hostgroup{
        hostgroup_name  linux-servers ; The name of the hostgroup
        alias           Linux Servers ; Long name of the group
        members         localhost,wiki     ; Comma separated list of hosts that belong to this group
        }
#define hostgroup{
#        hostgroup_name  windows-servers ; The name of the hostgroup
#        alias           Windows Servers ; Long name of the group
#        members         print     ; Comma separated list of hosts that belong to this group
#        }
===============================================================================
# 完成监控主机配置文件的配置后使用下面命令检查配置文件的正确性:
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
# 确定无误后重启Nagios:
service nagios restart

Nagios3.0.5在CentOS5.2中安装(一)

No Comments Linux

1.系?#24120;篊entOS 5.2
2.安装前准备:
1).安装好apache,GD库(我的GD库安装在/usr/local/libgd)。
2).下载Nagios3.0.5,Nagios-plugins1.4.11,nrpe2.12,nsclient++
http://www.nagios.org/download/

  1. wget http://osdn.dl.sourceforge.net/sourceforge/nagios/nagios-3.0.5.tar.gz
  2. wget http://osdn.dl.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.11.tar.gz

复制代码

# Nagios3.0.5,Nagios-plugins1.4.11,nrpe2.12安装在监控服务器上。
# 去http://www.nagios.org/download/addons/下载nrpe和nsclient++插件。
# nrpe2.12安装在Linux/Unix被监控端。
# nsclient++安装在Windows被监控端。
3).创建帐号及组
# 创建帐号

  1. /usr/sbin/useradd -m nagios
  2. passwd nagios

复制代码

# 创建组

  1. /usr/sbin/groupadd nagcmd
  2. /usr/sbin/usermod -a -G nagcmd nagios
  3. /usr/sbin/usermod -a -G nagcmd daemon

复制代码

# daemon为运行apache的帐号。
3.安装nagios

  1. tar xzf nagios-3.0.5.tar.gz
  2. cd nagios-3.0.5
  3. ./configure –with-command-group=nagcmd –with-gd-lib=/usr/local/libgd/lib/ –with-gd-inc=/usr/local/libgd/include/
  4. make all
  5. # 使用make install来安装主程序,CGI和HTML文件
  6. make install
  7. # 使用make install-init在/etc/rc.d/init.d安装启动脚本
  8. make install-init
  9. # 使用make install-cofig来安装示例配置文件,安装的路径是/usr/local/nagios/etc.
  10. make install-config
  11. # 使用make install-commandmode来配置目录权限
  12. make install-commandmode

复制代码

nagios目录功能的简要说明:
bin    Nagios执行程序所在目录,nagios文件即为主程序
etc    Nagios配置文件位置
sbin    Nagios Cgi文件所在目录,也就是执行外部命令所需文件所在的目录
Share    Nagios网页文件所在的目录
var    Nagios日志文件、spid 等文件所在的目录
var/archives    日志归档目录
var/rw    用来存放外部命令文件
配置apache
将现面行加入apache配置文件的alias模块<IfModule alias_module>
----------------------------------------

  1. ScriptAlias /nagios/cgi-bin "/usr/local/nagios/sbin"
  2. <Directory "/usr/local/nagios/sbin">
  3. #  SSLRequireSSL
  4.    Options ExecCGI
  5.    AllowOverride None
  6.    Order allow,deny
  7.    Allow from all
  8. #  Order deny,allow
  9. #  Deny from all
  10. #  Allow from 127.0.0.1
  11.    AuthName "Nagios Access"
  12.    AuthType Basic
  13.    AuthUserFile /usr/local/nagios/etc/htpasswd.users
  14.    Require valid-user
  15. </Directory>
  16. Alias /nagios "/usr/local/nagios/share"
  17. <Directory "/usr/local/nagios/share">
  18. #  SSLRequireSSL
  19.    Options None
  20.    AllowOverride None
  21.    Order allow,deny
  22.    Allow from all
  23. #  Order deny,allow
  24. #  Deny from all
  25. #  Allow from 127.0.0.1
  26.    AuthName "Nagios Access"
  27.    AuthType Basic
  28.    AuthUserFile /usr/local/nagios/etc/htpasswd.users
  29.    Require valid-user
  30. </Directory>

复制代码

----------------------------------------
# 创建apache目录验证文件

  1. /usr/local/apache/bin/htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
  2. New password: (输入密码)
  3. Re-type new password: (再输入一次密码)
  4. Adding password for user nagiosadmin

复制代码

# 重启apache:/usr/local/apache/bin/apachectl -k restart
# 配置nagios配置文件
vi /usr/local/nagios/etc/objects/contacts.cfg
# 将里面的email地址改为自己的email地址。
4.安装Nagios插件

  1. tar xzf nagios-plugins-1.4.11.tar.gz
  2. cd nagios-plugins-1.4.11
  3. ./configure –with-nagios-user=nagios –with-nagios-group=nagios
  4. make
  5. make install

复制代码

5.启动Nagios
# 配置机器启动时自动启动Nagios

  1. chkconfig –add nagios
  2. chkconfig nagios on

复制代码

# 检查Nagios配置文件

  1. /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

复制代码

# 启Nnagios

  1. service nagios start

复制代码

6.SELinux及防火墙设置
1).关闭SELinux
vi /etc/selinux/config
# 将下面行设为disabled
SELINUX=disabled
# 重启系统
2).如果开启防火墙,应该允许访问apache(一般为80端口)并允许nagios去抓取被监控机信息(一般nrpe为5666端口)。
7.访问Nagios服务器
http://localhost/nagios/
输入用户名及密码登录。
8.安装nrpe插件,用来监控Linux机器

  1. tar xzvf nrpe-2.12.tar.gz
  2. cd nrpe-2.12
  3. ./configure
  4. make all
  5. # 在Nagios服务器端只要安装nrpe监控插件就行
  6. make install-plugin

复制代码

在/usr/local/nagios/etc/objects/commands.cfg中定义check_nrpe命令
vi /usr/local/nagios/etc/objects/commands.cfg

  1. ########################################################################
  2. #
  3. # 2008.11.18 add by Stone
  4. # NRPE COMMAND
  5. #
  6. ########################################################################
  7. # ‘check_nrpe ‘ command definition
  8. define command{
  9.         command_name check_nrpe
  10.         command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
  11.         }

复制代码

9.在被监控服务器(Linux/unix)上安装Nagios-plugins和nrpe

  1. useradd nagios
  2. tar xzvf nagios-plugins-1.4.13.tar.gz
  3. cd nagios-plugins-1.4.13
  4. # Nagios-plugins默认安装到/usr/local/nagios
  5. ./configure
  6. make
  7. make install
  8. chown nagios.nagios /usr/local/nagios/
  9. chown -R nagios.nagios /usr/local/nagios/libexec/

复制代码

  1. tar xzvf nrpe-2.12.tar.gz
  2. cd nrpe-2.12
  3. ./configure
  4. make all
  5. # 安装nrpe插件,本监控端可以不装
  6. make install-plugin
  7. # 安装nrpe守护进程
  8. make install-daemon
  9. # 安张nrpe配置文件
  10. make install-daemon-config

复制代码

# 修改nrpe配置文件,允许Nagios监控服务器(192.168.0.19)监控
vi nrpe.cfg
# 多台机器用逗号隔开
allowed_hosts=127.0.0.1,192.168.0.19
# 以独立守护进程启动nrpe,也可以使用xinetd启动nrpe,具体清查看nrpe官方文档。
/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d
# 开机自动启动nrpe
vi /etc/rc.d/rc.local
# 加入下面行
/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d
# 检查nrpe是否安装正常
[[email protected] etc]# /usr/local/nagios/libexec/check_nrpe -H localhost
NRPE v2.12
# 返回nrpe版本说明安装没问题。
# 查看启动端口
[[email protected] ~]# netstat -tunlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name  
tcp        0      0 0.0.0.0:5666                0.0.0.0:*                   LISTEN      27387/nrpe
如果有防火?#25509;?#35813;开放5666端口:
iptables -I eth0 -p tcp -m tcp ?dport 5666 -j ACCEPT
***********************************************************
注意:我们需要在/usr/local/nagios/etc/nrpe.cfg中定义我们用到的监控本地?#35797;?#30340;命令。
下面的命令是默认定义的:

  1. command[check_users]=/usr/local/nagios/libexec/check_users -w 5 -c 10
  2. command[check_load]=/usr/local/nagios/libexec/check_load -w 15,10,5 -c 30,25,20
  3. command[check_hda1]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/hda1
  4. command[check_zombie_procs]=/usr/local/nagios/libexec/check_procs -w 5 -c 10 -s Z
  5. command[check_total_procs]=/usr/local/nagios/libexec/check_procs -w 150 -c 200

复制代码

下面的命令是自己定义的:
# 监控交换分区的使用情况,使用超过20%时为警告状态,超过10%时为?#29616;?#29366;态
command[check_swap]=/usr/local/nagios/libexec/check_swap -w 20% -c 10%
# 监控根分区磁盘使用情况
command[check_disk_root]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /
***********************************************************

Nagios的安?#23433;?#32626;和与Cacti的整合

No Comments Linux ,

 

本文档基于CENTOS5.2系统和Nagios实现网管监控功能,并与Cacti实现整合。Centos初始安装后的一些系统基本设置工作本文档不做说明,请参考相关资料。
文档版本:V1.0
最后修改:2009-3-19 By NetKey

系统环?#24120;篊entOS5.2
格式?#32423;ǎ?/b>

黑色粗体:为输入命令部分

红色粗体:为需要按你的环境修改的部分

绿色粗体:系统返回的提示信息

蓝色粗体:文档注释部分

Nagios是一款开源的免费网络监视工具,其功能强大,灵活性强。能有效监控Windows、Linux和Unix的主机状态,交换机路由器等网络设置,打印机等。本文档主要实现nagios监控windows主机,nagios监控windows系统有三种实现方式:SNMP、NSClient++、NRPE,后面两种方式都需要在windows上安装agent,因目前服务器上都开启了SNMP,所以本文档只介绍使用SNMP方式来监控Windows。
第一部分:Nagios的安装
1.
安装基础支持套件和添加用户
nagios需要一些基础支持套件才能运行,如apache,gcc,glibc,gd库等。

#yum install httpd

#yum install gcc

#yum install glibc glibc-common

#yum install gd gd-devel

#/usr/sbin/useradd -m nagios 添加一个名为nagios的用户用以专门跑nagios

#passwd nagios 设置密码

#/usr/sbin/groupadd nagcmd 添加nagcmd用户组,用以通过web页面提交外部控制命令

#/usr/sbin/usermod -a -G nagcmd nagios 将nagios用户加入nagcmd组

#/usr/sbin/usermod -a -G nagcmd apache 将apache用户加入nagcmd组


2.
安装nagios

#mkdir ~/downloads
#cd ~/downloads
#wget http://osdn.dl.sourceforge.net/sourceforge/nagios/nagios-3.0.6.tar.gz
#wget http://osdn.dl.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.13.tar.gz
#cd ~/downloads
#tar xzf nagios-3.0.6.tar.gz
#cd nagios-3.0.6
#./configure --with-command-group=nagcmd
#make all
#make install
#make install-init   
#make install-config
#make install-commandmode
这时nagios基本已经安装完成,默认安装后的配置文件用于启动nagios是没有问题的。
#vi usr/local/nagios/etc/objects/contacts.cfg
修改nagiosadmin这行其中的邮件地址为你的email地址,以将报警邮件发到你的邮箱
#make install-webconf   安装nagiosweb接口
#htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
设置登陆web界面时HTTP验证的账号密码
#service httpd restart  启动apache



3.
安装nagios-plugins

nagios-plugins是nagios官方提供的一套插件程序,nagios监控主机的功能其实都是通过执行插件程序来实现的。

#cd ~/downloads

#tar xzf nagios-plugins-1.4.13.tar.gz

#cd nagios-plugins-1.4.13

#./configure –with-nagios-user=nagios –with-nagios-group=nagios

#make

#make install

安?#23433;?#20214;,安装后所有插件命令将被安装到/usr/local/nagios/libexec 目录下

4.安装nagios-snmp-plugins

nagios-snmp-plugins是一套用Perl编写的通过SNMP方式监控主机的插件程序。

#cd ~/downloads

#wget http://nagios.manubulon.com/nagios-snmp-plugins.1.1.1.tgz

#tar xzf nagios-snmp-plugins.1.1.1.tgz

#cd nagios_plugins

配置check_snmp_int.pl这些插件的使用时需要配置cpan,CPAN是Comprehensive Perl Archive Network的缩写.。它是一个巨大的Perl软件收藏库,收集了大量有用的Perl模块(modules)及其相关的文件。这里主要是使用Perl-Net-SNMP模块。有两种方式安装:

A)通过CPAN来安装

#perl -MCPAN -e shell

cpan> install Net::SNMP

B) 手工安装

首先去官方网站www.cpan.org下载以下几个模块

Crypt::DES

Digest::MD5

Digest::SHA1

Digest::HMAC

Net::SNMP

下载后对于每个模块依次按?#38556;?#38754;的方式安装

#tar zxf <module>.tar.gz <module>表示模块名,具体请按上面提到的模块替换

#cd <module> <module>表示模块名,具体请按上面提到的模块替换

#perl Makefile.pl

#make test

#make install

注意:Net::SNMP模块必须在最后安装。至此Net::SNMP手动安装完毕

#./install.sh

执行nagios-snmp-plugins安装脚本,执行之后会将插件命令安装到/usr/local/nagios/libexec

5.其他设置

至此nagios基本已经安装完毕,但这时还不能马上启动nagios,需要以下设置。

#chkconfig –add nagios 将nagios添加到服务中

#chkconfig nagios on 设置服务为自启动

#/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

检测nagios的配置是否正确,在后面配置nagios过程中我们为了检测配置的是否正确需要不?#29616;?#34892;该命令来检查配置文件。

#service nagios start 启动nagios

需要注意的是,Centos默认打开了selinux并且运行于强制安全模式,这将导致在打开nagios的web界面时会出现Internet Server Error的错误。

#getenforce 查看是否运行于强制模式,结果为1表示是

#setenforce 0 更改selinux运行于宽容模式

但是这个设置重启后就会失效,如需要重启后保持该设置需要修改/etc/sysconfig/selinux,将其中的SELINUX= enforcing更改为SELINUX= permissive并重启系统。当然你也可以改成disable禁用selinux。

也可以不更改selinux的运行模式,解决办法为:

#chcon -R -t httpd_sys_content_t /usr/local/nagios/sbin/

#chcon -R -t httpd_sys_content_t /usr/local/nagios/share/

6.实现MSN报警

要实现MSN报警需要使用phpmsnclass,这是一个用php实现的msn机器人程序。

#cd ~/downloads

#wget http://phpmsnclass.googlecode.com/files/phpmsnclass_1.9.7z

下载phpmsnclass,此文件为7zip压缩格式,需要安装7z

#wget http://nchc.dl.sourceforge.net/sourceforge/p7zip/p7zip_4.65_x86_linux_bin.tar.bz2

#tar jxvf p7zip_4.65_x86_linux_bin.tar.bz2

#cd p7zip_4.65

#./install.sh 安装7z

#cd –

#7z e phpmsnclass_1.9.7z 解压文件

phpmsnclass需要php支持,安装php,这里为了方便就直接完成LAMP环境的安装

#yum -y install mysql-server 安装mysql数据库,后面安装cacti需要

由于安全原因请将mysql设置为只监听在127.0.0.1上,并?#22659;齧ysql库中默认的除了[email protected]外的所有用户,相关设置请见以前的关于postfix安装中的设置。

#yum install -y php php-cli php-xcache php-mysql php-mbstring php-gd php-pgsql php-mcrypt php-mhash php-xml php-bcmath 安装php相关模块

msn报警有2种方式,一种是直接使用php进行登陆验证发送消息,另外一个是以msn机器人的?#38382;?#21457;送,将消息存储在目录内。这里采用第二种。

#cd phpmsnclass

#mkdir /var/spool/msnbot

#mkdir /var/spool/msnbot/log

#mkdir /var/spool/msnbot/spool

下面把msnbot.php, config.php和msn.class.php拷贝到/var/spool/msnbot/

#cp msnbot.php config.php msn.class.php /var/spool/msnbot

#chmod 777 /var/spool/msnbot/spool

#chmod o+t /var/spool/msnbot/spool

这个机器人的工作原理是如果要发送消息,就调用php生?#19978;?#24687;文件到

/var/spool/msnbot/spool目录中,发送程序检查到该目录有新文件就会模拟msn登陆和发信将信息发送出去。

#chmod +x /var/spool/msnbot/msnbot.php

#vi config.php

在配置文件中设置MSN的账号和密码(以后报警通过这个MSN发出)

#cp msnbot.sh /etc/init.d/

#chmod +x msnbot.sh ?#30001;现?#34892;权限

#vi msnbot.sh

在启动函数里执行的php文件前要?#30001;蟨hp (php后有空格)

#./msnbot.sh start 启动MSN机器人

下面发个消息测试一下

#php msnsendmsg.php [email protected] "this is a test2"

[email protected]的MSN账号发送测试信息

注意需要将[email protected]和config.php里设置的MSN账号相互加为好友

如果成功?#37038;?#21040;信息说明配置正确,此步骤到此结束,后面的能让Nagios使用MSN进行报警的功能需要到Nagios里设置了。

如果需要支持离线消息即当你在离线状态下也能?#37038;盞交?#22120;人的信息,需要使用MSNP15协议,修改相关发信的php文件将声明新类的地方new MSN的第一个?#38382;?#25913;为MSNP15

第二部分 nagios的配置

nagios目录结构比较清晰,安装后下面一共有bin etc libexec sbin share var几个目录,其中配置文件都存放在etc目录下,bin下存放的是nagios的相关命令,sbin下存放的是通过web方式外部执行的cgi,libexec存放的是所有插件,而var则存放的是log和pid文件等。而实现监控都?#19988;?#38752;执行插件来实现的。

要实现监控,需要在nagios中定义一个service,在这个service中指定监控对象和监控命令以及报警机制等。Nagios的配置关系可以按?#38556;?#22270;来做说明:

nagios的配置也比较清晰明了,etc目录下默认有objects目录和一些配置文件,其中objects里放的是主配置文件nagios.cfg包含进去的配置文件。在nagios.cfg中既可以指定单独包含一个cfg,也可以指定一个包含目录,即该目录下所有的cfg文件都会包含进来。

首先我们配置下主配置文件,为了目录?#37027;?#26224;我们自己建立一些目录来存放相关的配置文件,比如建立commands目录存放命令,建立services目录存放服务,建立hosts目录存放主机,在nagios.cfg文件中?#19994;絚fg_file的部分,下面是一个示例,实际部署的时候可以按照你自己?#37027;?#20917;去设置:

cfg_file=/usr/local/nagios/etc/objects/commands.cfg 包含配置文件,下同

cfg_file=/usr/local/nagios/etc/objects/contacts.cfg

cfg_file=/usr/local/nagios/etc/objects/timeperiods.cfg

cfg_file=/usr/local/nagios/etc/objects/templates.cfg

cfg_file=/usr/local/nagios/etc/objects/localhost.cfg

cfg_file=/usr/local/nagios/etc/objects/switch.cfg

cfg_dir=/usr/local/nagios/etc/services 包含配置目录,目录下所有cfg文件将被包含;下同

cfg_dir=/usr/local/nagios/etc/hosts

cfg_dir=/usr/local/nagios/etc/commands

cfg_dir=/usr/local/nagios/etc/switches

cfg_dir=/usr/local/nagios/etc/routers

nagios.cfg其他地方可以暂不调整,该文件中具体?#38382;?#35831;参考附件中的配置文件中文注释

这里先说明一下,监控都?#19988;?#38752;插件去完成的,举个例子说明,如我们要监控60.222.111.83这台服务器的虚拟内存,当达到70%的时候状态为警告,达到90%的时候为?#29616;亍?#36825;个依靠check_snmp_storage.pl这个插件来完成。

[[email protected] etc]# /usr/local/nagios/libexec/check_snmp_storage.pl -H 60.222.111.83 -C mypublic -2 -m "^Virtual Memory$" -w 70 -c 90

Virtual Memory: 21%used(531MB/2472MB) (<70%) : OK

其中-H?#38382;?#34920;示主机地址,-C?#38382;?#34920;示SNMP团体名称,-2表示使用SNMP v2协议,-w为warning(警告)状态?#20320;?#20540;,-c表示为critical(?#29616;兀?#29366;态?#20320;?#20540;

要用nagios实现监控?#25345;?#26426;,就是要实现用nagios调用这样的命令即可。

配置resource.cfg,文件内容:

[[email protected] etc]# cat resource.cfg |grep -v ‘#’| sed /^$/d 查看resource.cfg配置

$USER1$=/usr/local/nagios/libexec

$USER7$=-C mypublic -2

这里其实是定义两个变量$USER1$和$USER7$,因为在后面定义command的时候插件的路径是绝?#26376;?#24452;,为了节省输入直接可以用$USER1$代替/usr/local/nagios/libexec。而SNMP插件的命令行中的?#38382;?#38656;要设置SNMP相关的信息,为节省输入这里用$USER7$来代替

-C mypublic -2。大家可对照上面检测60.222.111.83的虚拟内存的例子结合来加以理解。

下面我们来定义一个command用以监控,仍然以在nagios中实现监控60.222.111.83这台主机的虚拟内存为例说明。为了目录结构?#37027;?#26224;,我们将command的定义都放到commands目录下。在commands下建立一个cfg后缀的文件,针?#28304;?#31034;例的command定义内容为

define command{

command_name check_snmp_storage

command_line $USER1$/check_snmp_storage.pl -H $HOSTADDRESS$ $USER7$ $ARG1$ -w $ARG2$ -c $ARG3$

}

其中的$USER1$和$USER7$即为我们在上面的resource.cfg中定义的两个变量,$HOSTADDRESS$为我们在下面要定义的主机。

在hosts目录下建立一个cfg后缀的文件来存放主机配置。

define host{

use windows-server 定义使用的模板

host_name web83 定义主机名为web83

alias web server on 111.83 主机别名

address 60.222.111.83 主机IP地址

hostgroups linuxtoneweb 将该主机归到linuxtoneweb这个组,如果要归到多个组里,用逗号分隔组名

}

在定义主机的时候我们将83归到了linuxtoneweb这个组,下面来定义这个组名。可以直接在hosts下建立一个定义组名的cfg文件。

define hostgroup{

hostgroup_name linuxtoneweb

alias linuxtone web servers

}

这样就定义了一个linuxtoneweb组,将主机归为一个组有两种方法,一种是我们这种在主机的定义中去设置,另外一种是在组的设置中定义members。如下:

define hostgroup{

hostgroup_name linuxtoneweb

alias linuxtone web servers

members web83 设置该组的成?#20445;?#38656;要是在host中定义的主机名,多个成员请用逗号分隔

}

在定义主机分组里面我们还可以用hostgroup_members定义下级分组,十分方便。

OK,上面我们完成了命令、主机的定义,下面我们就要进入nagios监控某个对象的关键设置,nagios的监控都是靠定义一个service来实现,这里我们定义一个service来实现监控83的虚拟内存。在services目录下建立一个cfg文件。

define service {

hostgroup_name linuxtone,linuxtoneweb,database 定义监控对象

name memory 设置服务名

service_description check memory 服务描述

check_period 24×7 监控周期设置

max_check_attempts 4 最大检测尝试?#38382;?/b>

normal_check_interval 3 正常检测间隔时间

retry_check_interval 2 重试检测间隔时间

contact_groups admins 报警联系组

notification_interval 10 通知间隔

notification_period 24×7 通知周期设置

notification_options w,u,c,r 定义什么状态时报警

check_command check_snmp_storage!-m "^Virtual Memory$"!70!90

}

这样我们完成对一个service的定义,定义监控对象我们这里是定义了3个组,?#35789;?#20110;这3个组的所有主机都会检测虚拟内存(注意:组必须在其他文件中事先定义好)。当然你也可以用host_name针对主机作为检测对象(多主机用逗号分隔)。监控周期和报警周期我们设置的都是24×7,这个会在后面去定义。定义报警状态中的w表示warning,u表示unknown,c表示critial,r表示recovery(即恢复后是否发送通知);报警选项一般生产环境下设置w,c,r即可。最后我们看到实现监控的主体部分

check_command check_snmp_storage!-m "^Virtual Memory$"!70!90

定义实现这个检测的命令,check_snmp_storage即为我?#24039;?#38754;在commands里定义的命令名,

!表示带入的?#38382;?#36825;里有三个!表示带入三个?#38382;?#21040;command里,每个?#38382;?#20043;间用!分隔,这里表示第一个?#38382;?#20026;-m “^Virtual Memory$”,第二个?#38382;?#20026;70,第三个?#38382;?#20026;90。下面我们回头去看看check_snmp_storage这个command的定义:

command_line $USER1$/check_snmp_storage.pl -H $HOSTADDRESS$ $USER7$ $ARG1$ -w $ARG2$ -c $ARG3$

这里的$ARG1$即表示?#38382;?,$ARG2即表示?#38382;?,$ARG3$即表示?#38382;?

而$HOSTADDRESS$是我们定义的检测对象,它的值就是我们的主机IP地址;$USER1$和$USER7$为在resource.cfg里的定义。下面我们将?#38382;?#20540;代入这个command里,最后实现的效果是:

/usr/local/nagios/libexec/check_snmp_storage.pl –H 60.222.111.83 –C mypublic -2 –m “^Virtual Memory$” –w 70 –c 90

而这个命令就是我们实现监控83的虚拟内存的命令!

设置3个?#38382;?#26159;为了灵活的针对不同主机的调用,如果你对不同的主机设置?#20320;?#20540;不同,只需要对不同的主机定义不同的service即可,command是可以通用的!而这里的?#38382;?也是为了实现不同的功能而设置的,这个脚本还可以检测物理内存,如果我们把?#38382;?的值设置为”^Phisical Memory$”就可以针对物理内存进行检测!定义command的时候?#38382;?#30340;个数的设定是你可以根据需要设置的。只需要在后面service中能将?#38382;?#20540;代到command中最终能实现你要检测的命令即可。到此为止你可以感受到nagios的灵活性了吧。

到这里我们基本实现了nagios的监控功能,下面我们继续来看看其他设置。在定义host的时候我们有个主机模板的设置,这个设置的定义在object/template.cfg中定义的,这是一个系统?#28304;?#30340;配置文件,关于我们所使用的Windows-Server的模板定义内容为:

# Windows host definition template – This is NOT a real host, just a template!

define host{

name windows-server ; The name of this host template

use generic-host ; Inherit default values from the generic-host template

check_period 24×7 ; By default, Windows servers are monitored round the clock

check_interval 5 ; Actively check the server every 5 minutes

retry_interval 1 ; Schedule host check retries at 1 minute intervals

max_check_attempts 10 ; Check each server 10 times (max)

check_command check-host-alive ; Default command to check if servers are "alive"

notification_period 24×7 ; Send notification out at any time – day or night

notification_interval 30 ; Resend notifications every 30 minutes

notification_options d,r ; Only send notifications for specific host states

contact_groups admins ; Notifications get sent to the admins by default

hostgroups windows-servers ; Host groups that Windows servers should be a member of

register 0 ; DONT REGISTER THIS – ITS JUST A TEMPLATE

}

objects目录下的contact.cfg中定义的是报警联系人。

define contact{

contact_name nagiosadmin ; Short name of user

use generic-contact ; Inherit default values from generic-contact template (defined above)

alias Nagios Admin ; Full name of user

email [email protected] ; <<***** CHANGE THIS TO YOUR EMAIL ADDRESS ******

address1 [email protected] ;这里是个?#36828;?#20041;的变量设置,定义了一个MSN地址用以?#37038;誐SN报警信息,联系人的?#36828;?#20041;变量只能使用address1-address6;通过这个设置你可以实现多种报警方式,如电话,手机短信等,通过在这里设置你的电话,手机号,然后到报警命令定义里定义一个命令即可。

}

其使用了generic-contact这个联?#30340;?#26495;,关于这个模板templates.cfg里的定义内容为:

define contact{

name generic-contact ; The name of this contact template

service_notification_period 24×7 ; service notifications can be sent anytime

host_notification_period 24×7 ; host notifications can be sent anytime

service_notification_options w,u,c,r,f,s ; send notifications for all service states, flapping events, and scheduled downtime events

host_notification_options d,u,r,f,s ; send notifications for all host states, flapping events, and scheduled downtime events

service_notification_commands notify-service-by-email,notify-service-by-msn ; send service notifications via email

host_notification_commands notify-host-by-email,notify-host-by-msn ; send host notifications via email

register 0 ; DONT REGISTER THIS DEFINITION – ITS NOT A REAL CONTACT, JUST A TEMPLATE!

}

上面我在该配置文件中增加了notify-service-by-msn和notify-service-by-msn的两种报警命令

而关于报警的周期设置在objects下的timeperiods.cfg中,如我?#24039;?#38754;在service里定义的7×24的报警周期设置内容为:

define timeperiod{

timeperiod_name 24×7

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

}

通过这里我们可以灵活设置报警时间以和报警方式结合,如周末和休息时间设置报警为发送短信和邮件,工作时间设置为发送邮件和MSN报警方式。

下面我们来看关于报警命令的设置,在objects下的command.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" | /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$" | /bin/mail -s "** $NOTIFICATIONTYPE$ Service Alert: $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ **" $CONTACTEMAIL$

}

# ‘notify-host-by-msn’ command definition

define command{

command_name notify-host-by-msn

command_line php /usr/local/nagios/share/msn/msnsendmsg.php $CONTACTADDRESS1$ "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\nHost: $HOSTNAME$\nState: $HOSTSTATE$\nAddress: $HOSTADDRESS$\nInfo: $HOSTOUTPUT$\n\nDate/Time: $LONGDATETIME$\n"

}

# ‘notify-service-by-msn’ command definition

define command{

command_name notify-service-by-msn

command_line php /usr/local/nagios/share/msn/msnsendmsg.php $CONTACTADDRESS1$ "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\n\nService: $SERVICEDESC$\nHost: $HOSTALIAS$\nAddress: $HOSTADDRESS$\nState: $SERVICESTATE$\n\nDate/Time: $LONGDATETIME$\n\nAdditional Info:\n\n$SERVICEOUTPUT$"

}

定义了4种报警命令,后面两种msn报警是我添加的;邮件报警是使用系统?#28304;?#30340;sendmail来发送邮件的(注意要启动sendmail服务),而msn报警是使用我?#24039;?#38754;所配置的msn机器人发送的报警信息。

至此,整个nagios的监控和报警机制了解完毕。注意我们在配置过程中的任何改动?#25216;?#24471;要去通过/usr/local/nagios/bin/nagios –c /usr/local/nagios/etc/nagios.cfg以检查配置文件是否正确,如果正确则可以重启nagios加载新配置(service nagios restart)

第三部分 安装cacti

Cacti的运行需要AMP(Apache + MySQL + PHP), RRDTool , net-snmp , AMP环境我们在上面已经配置。

安装rrdtool,rrdtool不能直接通过yum安装,可以加入Dag RPM Repository以便让yum能?#19994;絩rdtool

#wget http://dag.wieers.com/rpm/packages/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm

#rpm -Uvh rpmforge-release-0.3.6-1.el5.rf.i386.rpm

#yum install rrdtool

安装net-snmp

#yum –y install net-snmp net-snmp-utils

安装cacti

#cd ~/downloads

#wget http://www.cacti.net/downloads/cacti-0.8.7d.tar.gz

#tar zxvf cacti-0.8.7d.tar.gz

#mkdir –p /usr/local/wwwroot

#cp –rf cacti-0.8.7.d /usr/local/wwwroot/cacti

下面开始导入数据库,mysql数据库的基本安全配置这里不做说明,请参考以前的postfix邮件安装文档中的mysql设置部分。

#mysql –u root –p

mysql>create database cacti; 创建一个数据库供cacti使用

mysql>use cacti;

Mysql>source /usr/local/cacti/cacti.sql 导入mysql数据库

Mysql>grant all privileges on cacti.* to [email protected] identified by ‘cactipass’;

添加一个数据库账号cacti 密码为cactipass 用以访问cacti

Mysql>flush privileges;
刷新权限信息

Apache设置

#vi /etc/http/conf.d/cacti.conf 编辑cacti站点的配置文件,文件内容如下:

Alias /cacti "/usr/local/wwwroot/cacti"

<Directory "/usr/local/wwwroot/cacti">

Options FollowSymLinks MultiViews

AllowOverride None

Order allow,deny

Allow from all

</Directory>

修改cacti的配置文件

#vi /usr/local/wwwroot/cacti/include/config.php

修改其中的数据库连接信息,设置好数据库主机地址,用户,密码信息。

至此安装完成,访问http://ip/cacti/install根据提示安装cacti (ip换成你对应的主机ip地址)

接下来安装cacti的插件管理

#cd ~/download/

#wget http://mirror.cactiusers.org/downloads/plugins/cacti-plugin-0.8.7d-PA-v2.4.zip

#unzip cacti-plugin-0.8.7d-PA-v2.4.zip

#mysql –u root –p cacti<pa.sql 导入sql到cacti库中

#cd cd files-0.8.7d/

#cp –rf * /usr/local/wwwroot/cacti 复制相关文件到cacti

第四部分 整合cactinagios

整合cacti和nagios是利用了cacti的一个插件nagios for cacti,它的原理是将nagios的数据通过ndo2db导入到mysql数据库(cacti的库中),然后cacti读取数据库信息将nagios的结果?#25925;?#20986;来。

1.安装ndoutils

首先需要安装ndoutils以将nagios的数据能导入到mysql数据库?#23567;?br />
#yum -y install mysql-devel 安装mysql开发包以编译ndoutils

#wget http://nchc.dl.sourceforge.net/sourceforge/nagios/ndoutils-1.4b7.tar.gz

#tar zxvf ndoutils-1.4b7.tar.gz

#cd ndoutils

#./configure –enable-mysql –disable-pgsql –with-mysql-lib=/usr/lib/mysql

#make

#cp config/ndomod.cfg /usr/local/nagios/etc

修改nagios主配置文件

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

添加以下内容

check_external_commands=1

command_check_interval=-1

event_broker_options=-1

broker_module=/usr/local/nagios/bin/ndomod.o config_file=/usr/local/nagios/etc/ndomod.cfg

process_performance_data=1

添加的内容至此结束

#cd src

#cp ndomod-3x.o nod2db-3x log2ndo file2sock /usr/local/nagios/bin

#cp src/ndo2db-3x /usr/local/nagios/bin/ndo2db

#cp config/ndo2db.cfg /usr/local/nagios/etc

修改配置文件ndocmd.cfg和ndo2db.cfg,这里我的配置文件内容为:

[[email protected] downloads]# cat /usr/local/nagios/etc/ndomod.cfg |grep -v ‘^#’|sed /^$/d

instance_name=default

output_type=tcpsocket

output=127.0.0.1

tcp_port=5668

output_buffer_items=5000

buffer_file=/usr/local/nagios/var/ndomod.tmp

file_rotation_interval=14400

file_rotation_timeout=60

reconnect_interval=15

reconnect_warning_interval=15

data_processing_options=-1

config_output_options=2

[[email protected] downloads]# cat /usr/local/nagios/etc/ndo2db.cfg |grep -v ‘^#’|sed /^$/d

ndo2db_user=nagios

ndo2db_group=nagios

socket_type=tcp

socket_name=/usr/local/nagios/var/ndo.sock

tcp_port=5668

db_servertype=mysql

db_host=127.0.0.1

db_port=3306

db_name=cacti

db_prefix=npc_

db_user=cacti

db_pass=cacti2008

max_timedevents_age=1440

max_systemcommands_age=10080

max_servicechecks_age=10080

max_hostchecks_age=10080

max_eventhandlers_age=44640

debug_level=1

debug_verbosity=1

debug_file=/usr/local/nagios/var/ndo2db.debug

max_debug_file_size=1000000

#/usr/local/nagios/bin/ndo2db -c /usr/local/nagios/etc/ndo2db.cfg
启动ndo2db

2.安装php-json

npc?#25925;?#37096;分用到json,需要在php中安装php-json的支持,centos 5下的php 版本默认是5.1.6 不带json支持,无法简单地通过yum install php5-json方式来安装。

#cd ~/downloads

#wget http://www.aurore.net/projects/php-json/php-json-ext-1.2.0.tar.bz2

#tar xvjf php-json-ext-1.2.0.tar.bz2

#cd php-json-ext-1.2.0

#phpize 编译前初始化php环境

#./configure

#make

#make install

#vi /etc/php.d/json.ini

extension=php_json.so

#/usr/sbin/apache2ctl graceful 重启apache

为了验证是否成功可使用phpinfo查看是否已支持json

3.安装npc

#cd ~/downloads

#wget http://www.assembla.com/spaces/npc/documents/aUjAwmdW8r3BuPab7jnrAJ/download?filename=npc-2.0.0b.166.tar.gz

#mv npc /usr/local/wwwroot/cacti/plugins/

启用cacti的插件功能,以admin用户登陆cacti,在console中的user management里对admin的用户权限进行编辑,勾选上Plugin Management,然后到插件管理中心安?#23433;?#21551;用NPC即可。

至?#36865;?#25104;nagios和cacti的整合。

nagios 3.X 简单部署及应用

No Comments Linux ,

################################
# 欢迎与我交流                 #
# 作者:守住每一天             #
# BLOG: liuyu.blog.51cto.com   #
################################
本文主要参考官方文档。
1、准备工作
所需要的软件包:
gcc
gd
glibc
httpd
yum install cc
yum install glibc glibc-common
yum install gd gd-devel
httpd 可以参照其它文档
设置 nagios用户  用户组
/usr/sbin/useradd nagios
为了安全性设置为nologin
/usr/sbin/usermod -s /sbin/nologin nagios
/usr/sbin/groupadd nagcmd
/usr/sbin/usermod -G nagcmd nagios
/usr/sbin/usermod -G nagcmd apache
2、下载软件:
wget http://osdn.dl.sourceforge.net/sourceforge/nagios/nagios-3.0.2.tar.gz
wget http://osdn.dl.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.11.tar.gz
3、tar xzf nagios-3.0.2.tar.gz
cd nagios-3.0.2
./configure –with-command-group=nagcmd
make all
make install
make install-init
make install-config
make install-commandmode
make install-webconf  ---可以自动配置httpd.conf
4、vi /usr/local/nagios/etc/objects/contacts.cfg
改变E-MAIL 地址
5、APACHE 设置:
htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
service httpd restart
就可以看到nagios界面了。
6、安?#23433;?#20214;:
tar xzf nagios-plugins-1.4.11.tar.gz
cd nagios-plugins-1.4.11
./configure –with-nagios-user=nagios –with-nagios-group=nagios
make
make install
7、设置nagios启动
chkconfig –add nagios
chkconfig nagios on
检查配置文件是否正确 :/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
service nagios start
注意:如果你开启了selinux 需要配置如下二步:
chcon -R -t httpd_sys_content_t /usr/local/nagios/sbin/
chcon -R -t httpd_sys_content_t /usr/local/nagios/share/
8、3.X与2.X的配置文件区别
安装方法没有太多不同的地方。主要是配置文件的变化,3.X部署比较方便,特别是多服务器时。
配置文件默认都在/usr/local/nagios/etc/objects/
主控制配置文件在/usr/local/nagios/etc/
这次不需要手动创建那么多的文件。
也没有hosts groups 等配置文件。
这些内容直?#26377;?#22312;被监控机的配置文件里面。写这多也不好理解。直接看例子吧。
9、监控其它机子
添加被监控机A(linux)
在/usr/local/nagios/etc/objects/ 目录下新建文件:a.cfg
官方说明:在Nagios里每个要监控的服务都必须给出一个绑定在刚才定义出的主机上的一个服务对象。可以把服务对象放在任?#25105;?#20010;由
cfg_file域指向的对象配置文件里或是放在cfg_dir域所指向的目录下。
也就是说只需要在nagios.cfg 的配置文件里指定cfg_dir 就可以实现监控机器的目的。
把A.cfg添加到nagios主机:
echo "cfg_file=/usr/local/nagios/etc/objects/A.cfg" >> /usr/local/nagios/etc/nagios.cfg
如果要再添加B机器方法炮制就可以了
修改文件:
########################################################################
#
# 2008.05.05 add by 守住每一天
# blog: liuyu.blog.51cto.com
# NRPE COMMAND
#
################################################################
define host{
use                   generic-server                                                               
        host_name             A
        alias                 A
        address               A 的IP
        }
define service{
use   generic-service  
host_name  A
service_description HTTP
check_command  check_http
}
依次添加其它服务。
方法是不是比2.X 要简单多了?
直?#26377;?#22909;一个,再COPY HOHO 很舒服的。
10、监控linux主机信息
这里需要nrpe 插件的支持。
与2.X一样。
tar -zxvf nrpe-2.8.1.tar.gz
cd nrpe-2.8.1
./configure
make all
make install-daemon
make install-daemon-config
10.1 修改配置文件,设置允许连接的IP
vi /usr/local/nagios/etc/nrpe.conf
allowed_hosts=127.0.0.1,A的IP(最好使用内网IP)
10.2 测试NAGIOS主机与被监控机的连接
/usr/local/nagios/libexec/check_nrpe -H A的IP
10.3 启动nrpe
/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d
查看相应的端口:netstat -net |grep 5666
防火墙开启5666 允许局域网IP或固定IP连接
10.4 commands.cfg 添加nrpe的定义
########################################################################
#
# 2008.05.05 add by 守住每一天
# blog: liuyu.blog.51cto.com
# NRPE COMMAND
#
########################################################################
# ‘check_nrpe ‘ command definition
define command{
        command_name check_nrpe
        command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
        }
10.5 监控方法
########################################################################
#
# 2008.05.05 add by 守住每一天
# blog: liuyu.blog.51cto.com
# NRPE COMMAND
#
################################################################
define service{
use   generic-service  
host_name  A
service_description load
check_command  check_nrpe!check_load
}
就是多加一个check_nrpe
11、监控WIN
安装 NSClient++
http://sourceforge.net/projects/nscplus
双击安装再启动。
allowed_hosts允许连接的IP
防火墙开端口12489,你也可以换成别的
监控:在nagios.cfg里cfg_dir去掉windods.cfg的注释。
更改IP 就可以进行监控了。
里面的内容跟其它的差不多,可以自行添加。
总结:nagios 总体安装比较简单。特别是3.X 更加人性化。部署起来也没有2.X麻?#24120;?#21482;要安装过2.X的再安装3.X更加速度~
默认的邮箱也是?#28304;?#30340;,不需要再配置sendmail。
PNP的安装还没有完成呢。等完成了我再写。
大伙可能会遇到一个很麻烦的问题。错误如下:
CHECK_NRPE: Error – Could not complete SSL handshake
看官网FAQ 就知道。有如下一段:
Title: Debugging "CHECK_NRPE: Error – Could not complete SSL handshake" errors
FAQ ID: F0191
Submitted By: Greg Haygood, Ethan Galstad and Others
Last Updated: 11/03/2004
Description: When attempting to use the check_nrpe plugin, the following error message is printed:
CHECK_NRPE: Error – Could not complete SSL handshake
Solution: This error message could be due to several problems:
    * Different versions. Make sure you are using the same version of the check_nrpe plugin and the NRPE daemon. Newer
versions of NRPE are usually not backward compatible with older versions.
    * SSL is disabled. Make sure both the NRPE daemon and the check_nrpe plugin were compiled with SSL support and that
neither are being run without SSL support (using command line switches).
    * Incorrect file permissions. Make sure the NRPE config file (nrpe.cfg) is readable by the user (i.e. nagios) that
executes the NRPE binary from inetd/xinetd.
    * Pseudo-random device files are not readable. Greg Haygood noted the following… "After wringing my hair out and
digging around with truss, I figured out the problem on my Solaris 8 boxen. The files /devices/pseudo/random* (linked through
/dev/*random, and provided by Sun patch 112438) were not readable by the nagios user I use to launch NRPE. Making the
character devices world-readable solved it."
    * Unallowed address. If you’re running the NRPE daemon under xinetd, make sure that you have a line in the xinetd config
file that say "only_from = xxx.xxx.xxx.xxx", where xxx.xxx.xxx.xxx is the IP address that you’re connected to the NRPE daemon
from.
Dave van Nierop added that "Fortunately, for HPUX 11.i (11.11) and later Nagios users, HP now supports /dev/random and
/dev/urandom via a kernel loadable module. Prior to running the NRPE 2.0 configure script, you will need to download this
program from http://www.software.hp.com/cgi-bin/swdepot_parser.cgi/cgi/displayProductInfo.pl?productNumber=KRNG11I.
Installation does require a server reboot. For detailed information, consult
也就是有5点需要注意的。
石头大哥(http://www.itnms.net/discuz/)的翻译如下:
简单说一下,大概的内容,不是严格翻译。
     1.  确认check_nrpe 和 nrpe daemon的版本一定要一致。
     2.  确认 check_nrpe和nrpe deamon?#36865;?#26102;启用或者禁用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?#28304;?#30340;防火墙,是否把端口给filter掉了。
2. 把nrpe的的log打开,可以发现更多有用的信息。
nagios 3.X的中文文档:

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

No Comments Linux

Nagios飞信linux系统免费短信报警配置
本人声明如需转载请保留如下信息:
作者:SOLARIS小兵
MAIL:[email protected]
BLOG:http://solarisxb.cublog.cn/
一、        前言:
1、        nagios是一个非常好的系统监控工具,现在我的nagios系统已经正常运行,使用短信猫和邮件可以报警。使用飞信可以节约我们的短信猫和短信费用。
2、        飞信首先手机要开通中国移动的飞信业务。目前使用飞信发送短信是免费的。需要把?#37038;?#30701;信的手机和飞信发送手机加为好友。
3、        下载飞信的linux客户端程序.解开包后只有一个文件sms。不错。这个就是飞信发送短信的程序啦。现在的飞信?#25925;?#19981;能用的。因为它需要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?#36824;?#26041;lib库:http://www.it-adv.net/fetion/library32.rar
64?#36824;?#26041;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包,很麻?#24120;?#23448;方已经给了liunx的下载版本:
1.先检查一下缺少的lib文件
[[email protected] 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?#36824;?#26041;lib库:http://www.it-adv.net/fetion/library32.rar
64?#36824;?#26041;lib库:http://www.it-adv.net/fetion/library64_linux.tar.gz
   3、安装lib库
[[email protected] library32]# ls
libACE.so.5.4.7  libACE_SSL.so.5.4.7  libcrypto.so.0.9.8  libssl.so.0.9.8
[[email protected] library32]# cp *.* /lib/
[[email protected] library32]# cp *.* /usr/lib/
4、测试sms:
[[email protected] 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:[email protected] 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 为?#37038;?#39134;信短信的手机号码
[[email protected] 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
如果?#37038;?#30701;信的手机号码在你的好友列表里,就会发送成功。
如果不在好友列表里,发送是不成功的。如果你想让程序邀请他们加入,那么就用 -a ?#38382;?
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:
[[email protected] ~]# 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                           [email protected]
       pager                           158010775111
        }
[[email protected] ~]#
七、        备注:
添加内容:现在新的lib库,测试以后在32位和64位操作系统都可以使用!!
测试系?#24120;篶entos 5.2
wget http://www.it-adv.net/fetion/lib_lin_32.tar.gz

30选5玩法