nagios 安装配置


nagios 安装配置


       Apache和Php 不是安装nagios 所必须的,但是nagios提供了web监控界面,通过web监控界面可以清晰的看到被监控主机、资源的运行状态,因此,安装一个web服务是很必要的。
需要注意的是,nagios在nagios3.1.x版本以后,配置web监控界面时需要php的支持。这里我们下载的nagios版本为nagios-3.2.1,因此在编译安装完成apache后,还需要编译php模块,这里选取的php版本为php5.5.10.


一、安装apache

1.下载

   cd /usr/local/src

     # wget http://mirrors.hust.edu.cn/apache/httpd/httpd-2.2.27.tar.bz2

2.解压

     # tar zxvf httpd-2.2.27.tar.bz2

3.配置编译参数

     #  ./configure --prefix=/usr/local/apache2

4.编译

     # make

5.安装

     # make install


二、安装php

1.下载

     # cd /usr/local/src

     # wgethttp://am1.php.net/distributions/php-5.3.27.tar.gz

2.解压

     # tar zxvf php-5.3.27

3.配置编译参数

     # ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs       4.编译和安装

     # make && make install


三、安装nagios服务器端及插件nagios-plugins

1.下载

     # wget http://syslab.comsenz.com/downloads/linux/nagios-3.0.5.tar.gz

     # wget http://syslab.comsenz.com/downloads/linux/nagios-plugins-1.4.13.tar.gz

2.先安装nagios

     # useradd -s /sbin/nologin nagios

     # tar -zxvf nagios-3.0.5.tar.gz   //解压缩;

     # cd nagios-3.0.5

     # ./configure --prefix=/usr/local/nagios  //编译参数;

     # make all

     # make install

     # make install-init

     # make install-config    

     # make install-commandmode

     # chkconfig --add nagios    //把nagios添加到系统服务;

     # chkconfig nagios on       //把nagios设置为开机启动;

3.安装nagios-plugins

     # tar zxvf nagios-plugios.1.4.13.tar.gz

     # cd /nagios-plugins.1.4.13

     # ./configure --prefix=/usr/local/nagios

     # make && make install      //编译、安装;

     # useradd -s /sbin/nologin nagios    //创建nagios用户并不允许登陆系统;

     # chown -R nagios:nagios /usr/local/nagios    //修改nagios的目录的所属用户和组; 


四、修改web接口

在刚才安装的apache的主配置文件httpd.conf中添加如下内容:

       vim /usr/local/apache2/conf/httpd.conf   //打开配置文件把下面的内容添加进去;

ScriptAlias /nagios/cgi-bin /usr/local/nagios/sbin

<Directory "/usr/local/nagios/sbin/">

    AllowOverride AuthConfig

    Options ExecCGI

    Order allow,deny

    Allow from all

</Directory>

 Alias /nagios/ /usr/local/nagios/share/

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

    Options None

    AllowOverride AuthConfig

    Order allow,deny

    Allow from all

</Directory>

保存后,在httpd.conf中找到“DirectoryIndex index.htm”修改成“DirectoryIndex index.php index.html”

然后再找到 “AddType application/x-gzip .gz .tgz” 在该行下面添加下面两行的配置

AddType application/x-httpd-php .php .phtml

AddType applicatoin/x-httpd-php-source .phps

然后再找到LoadModule php5_module modules/libphp5.so 若是没有就添加该行;


五、创建登陆naigos的用户

 # /usr/local/apache2/bin/htpasswd  -c /usr/local/nagios/etc/htpasswd.users nagiosadmin

//回车后会让你输入这个用户的密码,输入两遍就好;

    # /usr/local/apache2/bin/apachectl start  //启动ahache服务;

    # service nagios start                    //启动nagios

用web浏览器打开nagios之前要确保你的linux防火墙是关闭的:

    # vim /etc/selinux/config  //把“SELINUX=”  改为  “SELINUX=disabled”

    # iptables -F; /etc/init.d/iptables save //清空iptables规则并保存;

现在你可以在浏览器上输入 http://ip/nagios  //ip为linux的ip地址

用户名是 nagiosadmin 密码是刚才你设置的。

至此nagios安装完成。


六、配置监控对象和服务

要实现远程监控需要在被监控的主机上安装nrpe和nagios-plugins  插件。

   安装前需要创建nagios用户和nagios组

    # useradd -s /sbin/nologin nagios

    # cd /usr/local/src

    # wget http://syslab.comsenz.com/downloads/linux/nagios-plugins-1.4.13.tar.gz

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

    #  ./configure --prefix=/usr/local/nagios --with-nagios-user=nagios --with-nagios-group=nagios

    # make && make install


源码安装nrpe

    # wget http://prdownloads.sourceforge.net/nagios/nrpe-2.12.tar.gz

    # tar zxvf nrpe-2.12.tar.gz

    # cd nrpe-2.12.tar.gz

    # ./configure

    # make all 

    # make install-plugin

    # make install-daemon

    # make install-daemon-config

    # yum install -y xinetd


或者也可以用yum直接安装nrpe

     # rpm -ivh http://www.lishiming.net/data/attachment/forum/month_1211/epel-release-6-7.noarch.rpm             //安装扩展源

     # yum install -y nagios-plugins nagios-plugins-all nrpe nagios-plugins-nrpe

安装完成后,

     # vim /etc/nagios/nrpe.cfg

找到“allowed_hosts=127.0.0.1”,在后面加个监控主机(server)的ip地址,用逗号隔开;

然后再找到“dont_blame_nrpe=0”,把 0 改为 1 保存后退出;

     # service nrpe start   //启动nrpe;


七、在监控主机(nagios server)上修改配置文件

     # vim /usr/local/nagios/etc/nagios.cfg  加入下面两行

cfg_file=/usr/local/nagios/etc/objects/hosts.cfg
cfg_file=/usr/local/nagios/etc/objects/services.cfg

     # touch /usr/local/nagios/etc/objects/hosts.cfg    //创建hosts.cfg文件(定义主机)

     # touch /usr/local/nagios/etc/objects/services.cfg  //创建services.cfg文件(定义服务)

   在hosts.cfg中添加需要监控的主机

define host{

       use                     linux-server

       host_name               192.168.1.3   #这是被监控的主机的名字

       alias                    centos_nagios    #这个可以随便写

       address                 192.168.1.3    #这里的ip为被监控主机的ip

       #notifications_enabled   0

        }

  

 在services.cfg中添加需要监控主机上的服务

   vim /usr/local/nagis

define service{

       use     generic-service

       host_name     192.168.79.144

       service_description     check_ping

       check_command           check_ping

       max_check_attempts 5

       normal_check_interval 1

}

define service{

       use     generic-service

       host_name     192.168.79.144

       service_description     check_ssh

       check_command           check_ssh

       max_check_attempts 5

       normal_check_interval 1

}

define service{

       use     generic-service

       host_name     192.168.79.144

       service_description     check_http

       check_command           check_http

       max_check_attempts 5

       normal_check_interval 1

}

// 注意,这里的IP是client端的IP,监控的项目有三个ping, ssh, http。其实这三个项目使用的脚本都为本地脚本,也就是说,即使远程主机没有安装nagios和nrpe同样可以监控这些项目。但是如果想监控load,disk,等等就需要通过nrpe服务来搞定了,道理很简单,load和disk都需要登录到远程主机上去获得信息,而ping,ssh,http都不需要的。这个到远程主机获取相关的信息的过程是由nrpe完成的。如果你的client上没有启动nrpe服务那么是无法获取远程主机的load和disk等信息的.


   vim /usr/local/nagios/etc/objects/commands.cfg 写入下面内容:

define command{

       command_name    check_nrpe

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

       }


然后再编辑/usr/local/etc/objects/server.cfg 写入如下内容:

define service{

       use     generic-service

       host_name       192.168.1.3

       service_description     check_load

       check_command           check_nrpe!check_load

       max_check_attempts 5

       normal_check_interval 1

}


define service{

       use     generic-service

       host_name              192.168.1.3

       service_description     check_disk_hda1

       check_command           check_nrpe!check_hda1

       max_check_attempts 5

       normal_check_interval 1

}


//监控Linux磁盘容量时,若磁盘的格式是sda模式,需要在被监控的主机上更改nrpe.cfg的配置文件

     service nagios  restart      //重启nagios

在被监控主机上启动nrpe服务: service nrpe start


现在可以在浏览器上输入 http://ip/nagios            //ip为监控主机server的ip

点击左侧的hosts可以看到被监控主机是否在线;

点击左侧的service可以看到被监控的服务的状态。



本文出自 “浅浅的淡淡” 博客,谢绝转载!

你可能感兴趣的:(linux,nagios)