A-A+
Centos6.5部署Nagios3.44
Nagios 介绍
Nagios 是一款Linux 上成熟的监视系统运行状态和网络信息的开源软件,可以对对主机或服务进行检测的自动化工具;Nagios 能监控所指定的本地或远程主机及服务,同时提供异常通知、事件处理等功能。与商业IT管理系统相比,Nagios 具有成本低廉、结构简单、可维护性强等诸多优点。
Nagios 安装配置
*安装环境 centos 6.5
一、创建用户和组
[root@NgsSv ~]# useradd -s /sbin/nologin nagios
[root@NgsSv ~]# mkdir /usr/local/nagios
[root@NgsSv ~]# chown -R nagios:nagios /usr/local/nagios/
二、安装apache、php、sendmail(作为报警使用,不过我建议使用sendEmail,这个需要单独下载解压,目录下的sendEmail添加执行权限可直接使用)、gd_devel
[root@NgsSv ~]# yum -y install \
gcc gcc-c++ make gd-devel httpd httpd-devel php php-perl sendmail openssl*
三、编译安装Nagios
[root@NgsSv ~]# wget \
http://sourceforge.net/projects/nagios/files/nagios-3.x/nagios-3.4.4/nagios-3.4.4.tar.gz
[root@NgsSv ~]# tar xf nagios-3.4.4.tar.gz
[root@NgsSv ~]# cd nagios #跟老版本有点区别
[root@NgsSv nagios]# ./configure --prefix=/usr/local/nagios/ #指定安装目录
[root@NgsSv nagios]# make all
[root@NgsSv nagios]# make install #安装Nagios主程序的CGI和HTML文件
[root@NgsSv nagios]# make install-init #创建Nagios启动脚本
[root@NgsSv nagios]# make install-commandmode #配置目录权限
[root@NgsSv nagios]# make install-config #安装Nagios示例配置文件
* nagios安装完成后,目录对应的功能说明如下:
bin:可执行程序所在目录
etc:配置文件所在目录
sbin:cgi文件所在目录,也就是执行外部命令所需文件所在目录
share:网页文件所在目录
libexec:外部插件所在目录
var:日志文件,lock等文件所在目录
var/archives:日志自动归档目录
var/rw:用来存放外部命令文件的目录
四、编译安装nagios-plugins
[root@NgsSv ~]#wget http://www.nagios-plugins.org/download/nagios-plugins-2.1.1.tar.gz
[root@NgsSv ~]# tar xf nagios-plugins-2.1.1.tar.gz
[root@NgsSv ~]# cd nagios-plugins-2.1.1
[root@NgsSv nagios-plugins-2.1.1]# ./configure --prefix=/usr/local/nagios/
[root@NgsSv nagios-plugins-2.1.1]# make && make install
五、配置Apache(注意:Apache要通过编译方式安装,rpm包启动了suexec的功能.对CGI的执行路径进行了限制.只能在/var/www/html/下执行,对Apache比较熟悉的话,可在配置文件手动更改)。
[root@NgsSv ~]# vi /etc/httpd/conf/httpd.conf
#红色部分为修改添加部分
User nagios
Group nagios
DirectoryIndex index.php index.html index.html.var
AddType application/x-httpd-php .php
#在配置文件末尾添加如下信息(apache对nagios目录权限):
#setting for nagios
ScriptAlias /nagios/cgi-bin "/usr/local/nagios/sbin"
<Directory "/usr/local/nagios/sbin">
AuthType Basic
Options ExecCGI
AllowOverride None
Order allow,deny
Allow from all
AuthName "Nagios Access"
AuthUserFile /usr/local/nagios/etc/htpasswd
Require valid-user
</Directory>
Alias /nagios "/usr/local/nagios/share"
<Directory "/usr/local/nagios/share">
AuthType Basic
Options None
AllowOverride None
Order allow,deny
Allow from all
AuthName "nagios Access"
AuthUserFile /usr/local/nagios/etc/htpasswd
Require valid-user
</Directory>
#添加Apache认证用户:
[root@NgsSv ~]# /usr/bin/htpasswd -c /usr/local/nagios/etc/htpasswd ngsusr
New password:nagios
Re-type new password:
Adding password for user ngsusr
[root@NgsSv ~]# cat /usr/local/nagios/etc/htpasswd
ngsusr:5h247d05R5IZ.
六、配置本机监控
0.备份安装目录下所有内容:
[root@NgsSv local]# cd /usr/local/
[root@NgsSv local]# mkdir /root/ngs_BAK
[root@NgsSv local]# tar zcf /root/ngs_BAK/nagios_bak.tar.gz nagios libexec
1.新建monitor 文件,拷贝示例文件到该目录下
[root@NgsSv etc]# cd /usr/local/nagios/etc
[root@NgsSv etc]# mv objects/ monitor
[root@NgsSv monitor]# rm -rf printer.cfg windows.cfg switch.cfg(不执行也可)
[root@NgsSv monitor]# grep -v "^$" localhost | grep -v "^#" > hosts.cfg
2.修改联系人配置文件
[root@NgsSv etc]# cd monitor/
[root@NgsSv monitor]# cat contacts.cfg |grep -v "^#"|grep "^$"
define contact{
contact_name ngsuser ; Short name of user
use generic-contact ; 引用generic-contact属性信息
alias Nagios Admin ;Full name of user
email ngsuser@163.com ; 告警接收邮箱
}
define contactgroup{
contactgroup_name admins
alias Nagios Administrators
members ngsuser ;添加上面定义的联系人,逗号分隔
}
3.修改cgi.cfg
[root@NgsSv ~]# vi /usr/local/nagios/etc/cgi.cfg
default_user_name= ngsusr ;将用户名修改为nagios界面登录的用户名
4.修改nagios.cfg 将所有cfg_file=都注释掉添加如下一行
[root@NgsSv ~]# vi /usr/local/nagios/etc/nagios.cfg
cfg_dir=/usr/local/nagios//etc/monitor
#这样配置非常方便以后维护
5.修改Apache配置文件
[root@NgsSv monitor]# vi /etc/httpd/conf/httpd.conf
ServerName 192.168.1.123:80
6.使用命令:/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg检查配置是否有误
7.重启apache、nagios 并加到开机启动项
[root@NgsSv ~]# service httpd restart
停止 httpd:[确定]
正在启动 httpd:[确定]
[root@NgsSv ~]# service nagios restart
Running configuration check...done.
Stopping nagios: .done.
Starting nagios: done.
[root@NgsSv ~]# chkconfig --level 35 httpd on
[root@NgsSv ~]# chkconfig --level 35 nagios on
[root@NgsSv monitor]# ps -aux | grep nagios
nagios 40860 0.0 0.1 28164 1424 ? Ssl 17:51 0:00 /usr/local/nagios//bin/nagios -d /usr/local/nagios//etc/nagios.cfg
8.下图为了看的更直观,没有删除其他的配置,目前还没有这个版本的汉化包,3.2版本有汉化包,汉化过的软件比较别扭,英文版的多使用几次就熟悉了,访问如果有报错的话看一下Apache日志,或重新检查一下配置过程,nagios的安装还是比较简单的,经常出错的应该是在Apache配置文件添加nagios权限的地方和nagios配置文件处,详细的配置文件介绍点击这里。