linxu下 nagios software 的安装

大学实习之第二篇(一共就两篇,呵呵)



nagios software install   一款免费的实时监控软件,你可以很好的监控linux上的内存,cpu,http,ssh,swap user,current user,total processes等,当然,这些都需要一些插件来完成的,如果想更详细的了解nagios,link  www.nagios.org 

note:   确认您已经安装了libxml libart  等等这些依赖包。(在linux上安装软件是个麻烦的事情,建议在安装linux前,明确自己的linux的用途,选择安装需要的依赖包,这样以后可以避免很多麻烦)
yum install httpd php php-gd
yum install gcc glibc glibc-common
yum install gd gd-devel 用来显示图形用

安装这个监控软件,首先安装apache和php ,最好用默认的yum命令安装,这样会更加方便,因为nagios和后面要用到的rrdtool,默认的configure要用到/usr/bin 等地方的配置,当然,如果你足够熟悉,可以自己参考configure --help 来配置,但是那很麻烦,忘记说明了,这个apache和php是用来让我的及时数据能够通过外部的机子来访问的,nagios这边就相当于一个客户端,可以通过外部来监控我们的客户端数据,也就是linux。
os:centos5.3

第一步:
useradd groupadd
为nagios建立一个用户和组,,nagcmd(g) nagios
useradd -m nagios
passwd nagios
groupadd nagcmd
usermod -a -G nagcmd nagios
usermod -a -G nagcmd apache
软件
tar xzf nagios-3.2.0.tar.gz   cd nagios-3.2.0 ;解压
./configure --with-command-group=nagcmd  ; 配置
  make all
  make install
  make install-init
  make install-config
  make install-commandmode
  ok nagios软件已经安装完成 

  vi /usr/local/nagios/etc/objects/contacts.cfg   ;配置联系人
  系统产生错误的时候要发送的邮件,里面默认的事localhost@****,就是那个邮件选项(其实nagios,最重要的功能就是他的通知功能,可以发邮件,发短信(要额外配置硬件了),这样,系统管理员就可以及时的发现问题,处理。

  htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin   ;为监控软件,配置base authencation。密码自己设一个。登陆时候要用
  加到系统服务里面
  chkconfig --list
  chkconfig --add nagios
  chkconfig nagios on
  make install-webconf  ;配置webconf配置,与apache关联,默认会生成一个配置文件,放到apache的配置文件中。
  vi /etc/selinux/config   ;修改selinux安全性(这个我就直接disable了)
  service httpd restart ;启动起来吧
 /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg  ;校验配置文件是否出错
 service nagios start
  基本的现在已经安装完了,一个client,检测系统,外部通过web来访问

  当然,这个时候什么都没有,之前已经说了,所有功能都要用插件来完成。所以,这个很轻量级,高定制性。
  下面就安装官方的默认插件,因为里面很丰富,有很多常用的功能,cpu,memory,load,process这些。具体可以查看配置文件,配置文件在/usr/local/nagios/etc下面(刚才没有用--prefix=路径,默认就安装在/usr/local/nagios   下面,建议不要改)
  官方下载(www.nagios.org)
  tar zxf nagios-plugins-1.4.13.tar.gz
  cd nagios-plugins-1.4.13
  ./configure --with-nagios-user=nagios --with-nagios-group=nagcmd ;默认就加到了我们之前安装的nagios中(路径/usr/local/nagios)
  make
  make install
 安装完了
 
  给大家截图吧。看下效果



 

当然,这样的数据,不足以给用户很好的很直观的界面,那么就安装rrdtool这个工具吧
主要都是在绘制time-series的图文件(如流量、负载、温度、人数……)  更加详细可以参考官方文档,http://oss.oetiker.ch/rrdtool/
tar zxvf rrdtool-1.3.6.tar.gz
cd rrdtool-1.3.6
配置一个PKG参数,安装的时候要用到,这步很重要的。
  export PKG_CONFIG_PATH=/usr/lib/pkgconfig/
  ./configure
  make
  make install
  做个软连接吧,尤其是这个/ur/bin/rrdtool,这个一会安装pnp的时候要用,或是一会自己指定也可以
  ln -sf /usr/local/rrdtool-1.3.6/bin/rrdcgi /usr/bin/rrdcgi
  ln -sf /usr/local/rrdtool-1.3.6/bin/rrdtool /usr/bin/rrdtool
  ln -sf /usr/local/rrdtool-1.3.6/bin/rrdupdate /usr/bin/rrdupdate
  ok了,rrdtool就这么简单

  安装pnp ,PNP它是基于PHP和PERL,利用rrdtool将Nagios采集的数据绘制成图表。衔接用的.要有cglib支持,对了,还有perl,我这里也用yum安装。
  tar zxvf pnp-0.4.14.tar.gz
  cd pnp-0.4.14
  ./configure
  make all
  make install
  make install-config
  make install-init
  make fullinstallF
  ok了 这个默认也安装到/usr/local/nagios里面了,所以说呢,默认就是好,要不自己POINT 容易遗漏。
 

  Nagios提供的数据接口,也就是PNP的数据来源。名为 process_perf_data,其值可以定义为0或1,其作用是是否启用Nagios的数据输出功能。如果将此项赋值为1,那么Nagios就会将 收集的数据写 入到某个文件中,以备提取。所以,如果想让Nagios将数据输出的话,首先要将Nagios的主配置文件nagios.cfg中相关的配置 修改:

process_performance_data=1
host_perfdata_command=process-host-perfdata
service_perfdata_command=process-service-perfdat

修改nagios的template.cfg 其他监控插件,都要调用这个的。按照配置来就可以了

define service{
        name                            generic-service
action_url /nagios/pnp/index.php?host=$HOSTNAME$&srv=$SERVICEDESC$process_perf_data               1

 
define service{
        name                            local-service        
        use                             generic-service
       action_url /nagios/pnp/index.php?host=$HOSTNAME$process_perf_data     

在修改命令,command.cfg
define command {
             command_name    process-service-perfdata
             command_line    /usr/local/nagios/libexec/process_perfdata.pl
}

这样,我们就可以用process_perfdata.pl这个来处理了。
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg 校验一下配置文件

然后在重启apache,nagios吧。
ok了
看下截图吧


我把centos安到虚拟机里了。这是结果,注意url   http://host/nagios/pnp

搞定了。
初学,把平时的心得写下来,欢迎大家一起讨论哈。


猜你喜欢

转载自stonelei.iteye.com/blog/896974