注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

让一切都逝去吧

排骨炖泥菜/猪肝炒苹果/鱼籽狗肉汤/狗头薏米汤

 
 
 

日志

 
 

nagios插件  

2010-06-30 15:20:49|  分类: linux |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

1、  性能分析图表

                      a.     ruby

./configure -prefix=/usr/local/ruby

make

make install

                      b.     perl

perl我使用系统自带的,如果自己安装,参考以下抄录安装方法

 

perl 的源码安装相当简单,而 perl 5.84 的安装最快就是以下方式
rm -f config.sh Policy.sh
sh Configure -de
make
make test
make install

当然,我们还应该更多的实际 情况
下面的我在 perlchina 服务器上的安装情况

1.
安装环境与源码下载
perlchina
服务器是 RedHat Enterprise Linux Adv Serv 3.0 update 2 这是 RedHat 发行的高级服务器版,这个加了升级包的 Linux 比较成熟而安全,服务器上预安装是 perl 5.80 版本,perl 解释器是在 /usr/bin/perl 而库文件在 /usr/lib/perl5/perl5.8.0/ 目录下

我们直接从 http://www.cpan.org 下载 最新的发行版 5.84 文件是 stable.tar.gz 我们下载后传到 /usr/local/ 目录下

2.
解开源码
tar xfzv ./stable.tar.gz

解开后是一个新目录 /usr/local/perl5.8.4
我们作一个符号连接 ln -s /usr/local/perl5.8.4 /usr/local/perl
下面我们的安装就在 /usr/local/perl 目录中进行
cd /usr/local/perl

: 如果你想安装一份完整的 perl 执行程序,也可以新建一个目录 mkdir /usr/local/perl

3.
下面是配置 perl 源码
./Configure -des -Dprefix=/usr/local/perl -Dusethreads -Uinstalluserbinperl

1:在老式 的安装配置中 还有一个先项是 -Duse5005threads 这是使用 perl 5.005 版本老式的 多线程,而在 新版 DBI 1.2 后,不再支持 5.005 多线程,所以,我们取消这一项

2 -Dprefix=/usr/local/perl 是指定安装目录

4.
编译与安装
make && make install

一般情况下,到这里已经安装完成。

5.
替换原 perl
最后,为了让原来的 perl / CGI 程序可以使用新版本 perl ,我们需要修改原 perl

cd /usr/bin
mv perl perl.5.8.0
ln -s /usr/local/perl/perl /usr/bin/perl

1 mv perl perl.5.8.0 这是把原来的 perl 改名
2 ln -s /usr/local/perl/perl /usr/bin/perl 这是作一个符号连接,让代码里使用 #!/usr/bin/perl 可以直接不用修改

perl -V
可以检查到已经是最新版

                       c.     rrdtool

首先,下载文件就是个问题,我从http://dag.wieers.com/rpm/packages/rrdtool/ 下载了如下文件:

perl-rrdtool-1.2.23-1.el5.rf.i386.rpm

rrdtool-1.2.23-1.el5.rf.i386.rpm

rrdtool-devel-1.2.23-1.el5.rf.i386.rpm

参考下载地址

http://oss.oetiker.ch/rrdtool/download.en.html

安装过程中遇到perl(RRDp)需要安装的错误,这个问题是解决问题,就是将几个包一起安装:

rpm -ivh perl-rrdtool-1.2.23-1.el5.rf.i386.rpm rrdtool-1.2.23-1.el5.rf.i386.rpm rrdtool-devel-1.2.23-1.el5.rf.i386.rpm

warning: perl-rrdtool-1.2.23-1.el5.rf.i386.rpm: Header V3 DSA signature: NOKEY, key ID 6b8d79e6

Preparing...                ########################################### [100%]

   1:rrdtool                ########################################### [ 33%]

   2:perl-rrdtool           ########################################### [ 67%]

   3:rrdtool-devel          ########################################### [100%]

                      d.     pnp

./configure -prefix=/usr/local/pnp -with-rrdtool=/usr/bin/rrdtool -with-perfdata-dir=/usr/local/nagios/share/perfdata/

./configure -prefix=/usr/local/pnp -with-rrdtool=/usr/bin/rrdtool -with-perfdata-dir= /usr/local/pnp/libexec/

./configure -prefix=/usr/local/pnp --with-rrdtool=/usr/bin/rrdtool

如上,configure的时候,不需要-with-perfdata-dir参数,至少在我的例子中,这个参数使用以后也没有效果。不指定perfdata-dirpnp会自己找到perfdata-dir的目录:

RRD Files stored in:              /usr/local/pnp/var/perfdata

 

*** Configuration summary for pnp4nagios-0.6.4 06-03-2010 ***

 

  General Options:

  -------------------------                -------------------

  Nagios user/group:                nagios nagios

  Install directory:                  /usr/local/pnp

  HTML Dir:                       /usr/local/pnp/share

  Config Dir:                       /usr/local/pnp/etc

  Location of rrdtool binary:          /usr/bin/rrdtool Version 1.2.23

  RRDs Perl Modules:                FOUND (Version 1.2023)

  RRD Files stored in:     /usr/local/nagios/share/perfdata/     #这是指定了perfdata-dir时的配置,这样会找不到rrd文件

  process_perfdata.pl Logfile:        /usr/local/pnp/var/perfdata.log

  Perfdata files (NPCD) stored in:      /usr/local/pnp/var/spool

 

  Web Interface Options:  -------------------------         -------------------

  HTML URL:                       http://localhost/pnp4nagios

  Apache Config File:                 /etc/httpd/conf.d/pnp4nagios.conf

 

 

  Review the options above for accuracy.  If they look okay,

  type 'make all' to compile.

 

make all

make install

 

命令脚本在:

/usr/local/pnp/libexec/process_perfdata.pl

 

apache配置文件httpd.conf添加:

Alias /pnp4nagios "/usr/local/pnp/share"

<Directory "/usr/local/pnp/share">

     AllowOverride None

     Order allow,deny

     Allow from all

     #

     # Use the same value as defined in nagios.conf

     #

     AuthName "Nagios Access"

     AuthType Basic

     AuthUserFile /usr/local/nagios/etc/htpasswd.users

     Require valid-user

         <IfModule mod_rewrite.c>

                   # Turn on URL rewriting

                   RewriteEngine On

                   Options FollowSymLinks

                   # Installation directory

                   RewriteBase /pnp4nagios/

                   # Protect application and system files from being viewed

                   RewriteRule ^(application|modules|system) - [F,L]

                   # Allow any files or directories that exist to be displayed directly

                   RewriteCond %{REQUEST_FILENAME} !-f

                   RewriteCond %{REQUEST_FILENAME} !-d

                   # Rewrite all other URLs to index.php/URL

                   RewriteRule .* index.php/$0 [PT,L]

         </IfModule>

</Directory>

 

安装完以后有两个错误:PHP magic_quotes_gpc is deprecated Apache Rewrite Module 不支持,Apache Rewrite Moduleapache的安装,magic_quotes_gpc需要设置为Off。修改/usr/local/lib/php.ini,其中的magic_quotes_gpc = On改为magic_quotes_gpc = Off

 

错误:

>application/models/data.php [128]:

perfdata directory "/usr/local/pnp/var/perfdata/process_perfdata.pl" for host "process_perfdata.pl" does not exist.

源码:

$path     = $conf['rrdbase'] . $hostname;

if (is_dir($path)) {

...

} else {

         throw new Kohana_Exception('error.perfdata-dir-for-host', $path, $hostname);

}

原因:

变量$hostname被赋值为“process_perfdata.pl”,在我的例子中,本应该为TestLocal,在这个目录下有如下文件:

check-host-alive.rrd  check-host-alive.xml

现在需要查找hostname的配置。

 

以上,经检查是版本问题,pnp0.6.4升级到0.6.5即可

 

RRD Files stored in:              /usr/local/pnp/var/perfdata

 

升级到0.6.5后,报错:

Undefined index: DISP_HOSTNAME

http://www.nagios-portal.org/wbb/index.php?page=Thread&threadID=17086,这里有讨论,这个家伙的主机名是“bond.gldn21”,有个回复如下:

URL: http://nagios.local/pnp4nagios/graph?host=bond.gldn21
I guess it uses this xml: /usr/local/pnp4nagios/var/perfdata/bond.gldn21/_HOST_.xml


No, this URL creates the "Host Overview Page" so all XML files in /usr/local/pnp4nagios/var/perfdata/bond.gldn21/ are used.

http://nagios.local/pnp4nagios/graph?hos…dn21&srv=_HOST_ will use /usr/local/pnp4nagios/var/perfdata/bond.gldn21/_HOST_.xml

Please search for old XML Files created by pnp 0.4.x in /usr/local/pnp4nagios/var/perfdata/bond.gldn21/

 

emerge 做了如下回复:Thx, i just removed old files and it works!

受此起码,我重启nagiosapache后,问题消失。

2、  NRPE

监控端

nagios监控平台服务器上安装NRPE,安装很简单,到官方网站下载最新的nrpe包,本例中使用的是nrpe-2.8.1.tar.gz

tar xzf nrpe-2.8.1.tar.gz

cd nrpe-2.8.1

./configure

make all

make install-plugin


如果安装成功,就可以在/.../nagios/libexec 目录中找到 "check_nrpe"这个插件。
之后需要定义一个可以在监控平台使用的命令,这个定义一般会在/.../nagios/etc/commands.cfg中,其内容如下:

define command{

command_name check_nrpe

command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$ }


这样就可以在定义服务的时候使用这个命令了,举个例子:

define service{

host_name remotehost

service_description CPU Load

...

check_command check_nrpe!check_load }


这个例子就定义了对remotehost服务器cpu负载情况的监控。

被监控端

plugin

apt-cache search nagios

apt-get install nagios-plugins

 

nrpe

apt-get install nagios-nrpe-server nagios-nrpe-plugin

配置文件在/etc/nagios-plugins

 

可执行文件:

/usr/sbin/nrpe

配置文件:

/etc/nagios/nrpe.cfg

修改

allowed_hosts=127.0.0.1,192.168.80.202(这里是监控端的ip,也就是配的自己允许被谁监控,同时注意 “,” 号后面不要有空格)

check文件:

/usr/lib/nagios/plugins/check_nrpe

 

启动命令:

/usr/sbin/nrpe -c /etc/nagios/nrpe.cfg -d

检查是否运行:

ps -ef | grep nrpe

检查是否能够监控:

    被监控端:

        /usr/lib/nagios/plugins/check_nrpe -H 127.0.0.1

        返回nrpe的版本信息: NRPE v2.12,则说明配置成功。

    监控端:

        /usr/local/nagios/libexec/ check_nrpe -H 192.168.80.62

如果报错:

CHECK_NRPE: Error - Could not complete SSL handshake.

则需检查被监控端/etc/nagios/nrpe.cfg的配置,我开始配的是allowed_hosts=192.168.80.62,写的是被监控端本机的ip,这是错误的,应该加上监控端的ip,这里的意思是允许被谁来监控。

如上返回nrpe的版本信息: NRPE v2.12,则同样说明配置成功。

添加自动启动:

redhat:

echo ” /usr/sbin/nrpe -c /etc/nagios/nrpe.cfg -d” >> /etc/rc.d/rc.local

ubuntu:

编辑/etc/init.d/rc.local文件,增加一行 /usr/sbin/nrpe -c /etc/nagios/nrpe.cfg -d 

 

配置监控远程主机cpu负载:

/usr/lib/nagios/plugins/check_load

nrpe.cfg文件中默认有如下配置,可以不修改

command[check_load]=/usr/local/nagios/libexec/check_load -w 15,10,5 -c 30,25,20

3、  oracle

check_oracle_health

http://labs.consol.de/nagios/check_oracle_health/

内容比较多,测试过以后请整理好吧。

 

check_oracle_instant

http://exchange.nagios.org/directory/Databases/Plugins/Oracle/Check-Oracle-status-%26-health-without-install-Oracle-client-%252D-Just-a-little-update-on-the-script-prov/details

When used through default configuration on 10g instances for example, the use of system account with DEFAULT profile configuration on the database runs the script to fail on the ORA specific error, generating an alert through NAGIOS that points to a "Canno?t connect to database" error, and showing the sensor as RED (Critical) because the script never reach the "if" condition.
I just had altered the script to provide a non-existent account on the database, and will ever provide the "ORA-01017" and will satisfy the right condition.
Congrats for the "xnovv" user, it is a good script to start monitoring the oracle instances! Easy to use and good results.

 

check_oracle_tablespace

http://exchange.nagios.org/directory/Databases/Plugins/Oracle/check_oracle_tablespace/details

Nagios plugin to check Oracle tablespace usage

This Nagios plugin checks Oracle tablespace usage. It makes an SQL query using Oracle's sqlplus command to calculate tablespace usage percentages for given Oracle SID and databases. Using '-a' option makes plugin autoextension aware, e.g. usage percentage is determined by comparing used space against maximum tablespace size allowed by autoextension, not the current size.

Examples:

# check_oracle_tablespace.sh -s SID -d 'FOO.*' -w 80 -c 90
TABLESPACE CRITICAL: FOODB1 98% WARNING: FOODB2 82%; FOODB3 84%

# check_oracle_tablespace.sh -s SID -d 'FOO.*' -w 80 -c 90 -a
TABLESPACE CRITICAL: FOODB1 AUTOEXT 91%

  评论这张
 
阅读(3837)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017