Linuxnagios的安装与配置

一、     Nagios客户端配置

1.    安装httpmysql

# yum -y install httpdgettext mysql mysql-server mysql-devel php php-mysql php-pear php-mysql mysqlperl mysql-server perl-DBI perl-DBD-MySQL httpd gcc glibc glibc-common gdgd-devel php gcc automake autoconf libtool make


2.    创建nagios用户和用户组

#useradd -s /sbin/nologinnagios 
#useradd –s /sbin/nologinapache
#echo "nagios" |passwd --stdin nagios 
#groupadd nagcmd
#usermod -G nagcmd nagios


 

3.    安装Nagios 插件

先安装plugins插件在安装nrpe

1)   安装nagios-plugins
# wget http://www.nagios-plugins.org/download/nagios-plugins-2.1.1.tar.gz
# tar zxvf nagios-plugins-2.1.1.tar.gz
# cd nagios-plugins-2.1.1
# ./configure--prefix=/usr/local/nagios
# make&& make install


2)   安装nrpe
# wget --no-check-certificate http://downloads.sourceforge.net/project/nagios/nrpe-2.x/nrpe-2.15/nrpe-2.15.tar.gz
#tar xf nrpe-2.15.tar.gz
# cd nrpe-2.15
# ./configure && make && make install 
 
cp sample-config/nrpe.cfg.in /usr/local/nagios/etc/
cp init-script /etc/init.d/nrpe
chmod +x /etc/init.d/nrpe

vim /usr/local/nagios/etc/nrpe.cfg
 allowed_hosts=192.168.104.60
 command[check_swap]=/usr/local/nagios/libexec/check_swap -w 20%-c 10%


服务启动

/etc/init.d/nrpe restart
service nagios restart 
service httpd restart 
service mysqld restart


 

一、   Nagios服务端安装

1.    基础支持套件gcc  glibc glibc-common  gd  gd-devel  xinetd  openssl-devel gettext  automake  autoconf  libtool  make

#
yuminstall -y  gcc glibc glibc-common gdgd-devel xinetd openssl-devel gettext automake autoconf libtool make


2.    创建nagios用户和用户组

#useradd -s /sbin/nologinnagios 
#useradd –s /sbin/nologinapache
#echo "nagios" |passwd --stdin nagios 
#groupadd nagcmd
#usermod -G nagcmd nagios
#usermod -G nagcmd apache 
#mkdir -p /usr/local/nagios

wKiom1deULWTlghJAABHxIB85vU517.png-wh_50

查看nagios 目录的权限

#ll -d /usr/local/nagios/

wKioL1deUcXgNLnoAAAXnCtFM2Y408.png-wh_50

3.    编译安装Nagios

# wget --no-check-certificatehttps://sourceforge.net/projects/nagios-cn/files/sourcecode/zh_CN%203.2.3/nagios-cn-3.2.3.tar.bz2
# tar xfnagios-cn-3.2.3.tar.bz2
#cd nagios-cn-3.2.3
#./configure --prefix=/usr/local/nagios/ --with-nagios-user=nagios--with-nagios-group=nagios --with-command-group=nagcmd

wKioL1deUcaR3lHgAACkVJiiHuo497.png-wh_50

wKiom1deULayla3aAACuZkE5wD4466.png-wh_50

# make all

wKiom1deULbBN3hdAADUNmtp-UA819.png-wh_50

# makeinstall

wKioL1deUcfBEZEDAAB1N4ZA5Dw127.png-wh_50

# makeinstall-init

wKiom1deULfhsanFAAAw8A7c_rY668.png-wh_50

# makeinstall-commandmode

wKioL1deUcfyFzN_AAAyIApeCfk151.png-wh_50

# makeinstall-config

wKiom1deULeh8lcAAAAynKRnSF0778.png-wh_50

# chkconfig--add nagios
# chkconfig--level 35 nagios on
# chkconfig--list nagios

wKioL1deUcjQk9i8AAApUokHrW4234.png-wh_50

1.    验证程序是否被正确安装

切换目录到安装路径(这里是/usr/local/nagios),看是否存在etcbinsbinsharevar 这五个目录,如果存在则可以表明程序被正确的安装到系统了。Nagios 各个目录用途说明如下:

binNagios 可执行程序所在目录
etcNagios 配置文件所在目录
sbinNagios CGI 文件所在目录,也就是执行外部命令所需文件所在的目录
shareNagios网页文件所在的目录
libexecNagios 外部插件所在目录
varNagios 日志文件、lock等文件所在的目录
var/archivesNagios 日志自动归档目录
var/rw用来存放外部命令文件的目录

1.    安装Nagios 插件

先安装plugins插件在安装nrpe

1)   安装nagios-plugins
# wget http://www.nagios-plugins.org/download/nagios-plugins-2.1.1.tar.gz
# tar zxvf nagios-plugins-2.1.1.tar.gz
# cd nagios-plugins-2.1.1
# ./configure--prefix=/usr/local/nagios
# make&& make install

spacer.gif


wKiom1deU37g21vzAABsbwNxAZQ256.png-wh_50

2)   安装nrpe

NRPE是监控软件nagios的一个扩展,它被用于被监控的服务器上,向nagios监控平台提供该服务器的一些本地的情况。例如,cpu负载、内存使用、硬盘使用等等。NRPE可以称为nagios的for linux 客户端。

# wget --no-check-certificate http://downloads.sourceforge.net/project/nagios/nrpe-2.x/nrpe-2.15/nrpe-2.15.tar.gz
#tar xf nrpe-2.15.tar.gz
# cd nrpe-2.15
# ./configure && make && make install
3)  安装nagiosQL

NagiosQL是专为nagios设计的web图形化管理应用,主要作用就是操作数据库和配置文件,其中包括将配置文件的信息写到数据库中,在数据库中修改Nagios的监控配置信息,并将数据库中存放的配置更新到文件中。用户可以通过NagiosQL提供的Web页面直观的修改配置。实现架构很简单,功能很实用。

Nagiosql功能介绍:
1. 具有基本的nagios的配置管理能力,导入,导出配置文件的功能
2. 具有nagios配置文件检查、排错的能力
3. Nagiosql可对文件结构进行定制,可延续之前的配置结构,按IP生成配置
4. Nagiosql将每一次配置的变更做一次配置备份,以时间戳为后缀保存,理论上可以回滚到任意一个历史配置

# wget --no-check-certificatehttp://downloads.sourceforge.net/project/nagiosql/nagiosql/NagiosQL%203.1.1/nagiosql_311.tar.gz
# tar xf nagiosql_311.tar.gz
# cp -R nagiosql /usr/local/nagios/nagiosql
# mkdir -p/etc/nagiosql/{hosts,services,backup/{,hosts,services},import}
# chown -R apache:nagios /etc/nagiosql/
# chmod -R 755 /etc/nagiosql
# chmod 777 /usr/local/nagios/nagiosql/config
# chown nagios:apache /usr/local/nagios/etc
# chown nagios:apache /usr/local/nagios/etc/{nagios.cfg,cgi.cfg}
# chown nagios:apache /usr/local/nagios/etc/*
# chmod 664 /usr/local/nagios/etc/{nagios.cfg,cgi.cfg}
# chmod 775 /usr/local/nagios/etc
# chown nagios:apache /usr/local/nagios/bin/nagios
# chmod 750 /usr/local/nagios/bin/nagios
# chown -R apache.nagios /usr/local/nagios/var/spool/
# chown nagios:apache /usr/local/nagios/var/rw/nagiosNaNd
# chmod 660 /usr/local/nagios/var/rw/nagiosNaNd

2.    安装与配置httpmysqlPhpls

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

 

安装httpmysqlphp
1)   yum安装
# yum install -y httpd phpphp-mysql php-pear perl-DBD-MySQL  perl perl-DBImysql mysql-server mysql-devel

wKioL1deVI6gshvVAABo9uEL1XI179.png-wh_50

2)   配置http

编辑nagios的文件,路径:/etc/httpd/conf.d/nagios.conf

#vim /etc/httpd/conf.d/nagios.conf
Alias/nagiosQL "/usr/local/nagios/nagiosql" 
<Directory"/usr/local/nagios/nagiosql"> 
#SSLRequireSSL 
OptionsNone 
AllowOverrideNone 
Orderallow,deny 
Allowfrom all 
</Directory>

找的httpd.conf文件,路径:/etc/httpd/conf/httpd.con

#vim /etc/httpd/conf/httpd.con
添加如下内容:
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.users
     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.users
     Require valid-user
</Directory>
3)   启动httpmysqlnagios服务
# service nagios restart
# service httpd restart 
# service mysqld restart

4)   注册服务
# chkconfig nagios on
# chkconfig httpd on
# chkconfig mysqld on

5)   建立nagios的安装文件

# touch/usr/local/nagios/nagiosql/install/ENABLE_INSTALLER
6)   手动安装nagiosql

打开浏览器:http://本机的IP/nagiosQL

wKioL1deVI-CikvZAAEvPFYcv-M961.png-wh_50

测试所需环境通过,直接按下一步即可

wKiom1deU3_Rx6sIAAE_ershSAo337.png-wh_50

配置数据库,选择默认即可。

wKioL1deVJDA8aOCAAEA-nocN2Q200.png-wh_50

删除安装目录,这里使用改权限:

# chmod 000/usr/local/nagios/nagiosql/install

wKiom1deU4Ch9iqrAAEIQhbWfQ0590.png-wh_50

1.    nagioSQL配置

浏览器输入http://本机的IP/nagiosQL输入用户名和密码


wKiom1deU4DgzcffAACLtcLSUu8171.png-wh_50

点击 管理-域-localhost---点“修改”

wKioL1deVJHhHj6yAACdGeI6kfY558.png-wh_50

nagios基目录/usr/local/nagios/etc/

导入路径/etc/nagiosql/import/

nagios命令文件/usr/local/nagios/var/rw/nagiosNaNd

nagios进程文件/usr/local/nagios/var/nagios.lock

nagios配置文件/usr/local/nagios/etc/nagios.cfg

wKiom1deU4HRcGt1AAF7e8_1K-s435.png-wh_50

工具-导入数据 右边会列出一些配置文件,选择导入即可。
导入只是把配置文件内容导入到Mysql数据库,而使用其配置文件时,是一个个cfg文件,所以下面要进行写入过程

wKioL1deVJLCWLoTAADgt6xcsuA698.png-wh_50

wKioL1deVJKgl9UOAAB8pUnexdQ373.png-wh_50

工具-nagios控制-写入检测数据-写入其他数据wKiom1deU4KSFYaSAAC_6cbjOSQ491.png-wh_50


检查配置文件成功

wKioL1deVJPyCBcVAACk25mG1Tc569.png-wh_50

写入之后就可以看到相应的cfg文件了,查看写入是否成功
ls /etc/nagisql/

wKiom1deU4PjzLQGAAA-CgwIhm8895.png-wh_50

vim/usr/local/nagios/etc/nagios.cfg 
将cfg_file开头全部注释
然后添加如下语句
cfg_dir=/etc/nagiosql/hosts/ 
cfg_dir=/etc/nagiosql/services/
cfg_file=/etc/nagiosql/commands.cfg
cfg_file=/etc/nagiosql/contactgroups.cfg
cfg_file=/etc/nagiosql/contacts.cfg
cfg_file=/etc/nagiosql/contacttemplates.cfg
cfg_file=/etc/nagiosql/hostdependencies.cfg
cfg_file=/etc/nagiosql/hostescalations.cfg
cfg_file=/etc/nagiosql/hostextinfo.cfg
cfg_file=/etc/nagiosql/hostgroups.cfg
cfg_file=/etc/nagiosql/hosttemplates.cfg
cfg_file=/etc/nagiosql/servicedependencies.cfg
cfg_file=/etc/nagiosql/serviceescalations.cfg
cfg_file=/etc/nagiosql/serviceextinfo.cfg
cfg_file=/etc/nagiosql/servicegroups.cfg
cfg_file=/etc/nagiosql/servicetemplates.cfg
cfg_file=/etc/nagiosql/timeperiods.cfg

检查nagios配置文件

/usr/local/nagios/bin/nagios -v/usr/local/nagios/etc/nagios.cfg
重启nagios
/etc/init.d/nagios restart

2.    nagioSQL添加监控主机

1. 登录nagiosqlweb管理界面
浏览器访问192.168.200.166/nagiosQL

2. 添加命令
点击命令—定义—添加,然后输入要添加的命令。

wKioL1deVJTwFRjEAAF-S15CbXE819.png-wh_50

1)   添加nrpe命令

wKiom1deU4SixdMlAABc0u_4Wm8327.png-wh_50

2)   添加监控主机

进入nagiosQL管理控制台点 监督-host-添加

wKioL1deVJWiKh5hAAFeff3aGdM554.png-wh_50

列如:添加一个test的主机,添加内容如下wKiom1deU4WCGgkKAAEQcFOiToU600.png-wh_50

注意:保存完主机配置后,还需要单击写入按钮,否则无效。

wKioL1deVJXyVXzOAADOTLXqfUg142.png-wh_50

3)   添加监控服务

监督-服务-添加

wKiom1deU4aCYZD7AAGoilxpXB8684.png-wh_50

添加服务内容如下:

wKioL1deVJah6mywAAENz-a7a7s566.png-wh_50

配置名称:imp_check_swap //注:这里的配置名称一定和已监控主机的相关项目的配置文件名一致,

服务描述:linux_swap //自定义

检查命令:check_nrpe //前面定义好的命令

$ARG1$: check_swap//在被监控主机定义好的命令

单击保存按钮,添加完成记得要点写入配置。

wKiom1deU4fSx95GAACASS6xXNI881.png-wh_50

然后在主机端关联刚才自定义好的服务,操作过程如下图所示:

在监督—host选项中找到已添加好的被监控的主机,我这里被监控的主机是test,单击后面的修改。

wKiom1deU4eTqvy-AAHPmZhW6-I185.png-wh_50wKioL1deVJjh_kmxAACEUS1ARiU149.png-wh_50wKiom1deU4ixkqvpAABeqfuB2KU574.png-wh_50

注意:别忘记了写入操作,否则无效。

4)   最后重启服务,是配置文件生效

wKioL1deVJjyqULYAABYBFGgQt0009.png-wh_50

3.    查看nagios监控界面,验证监控效果。

wKiom1deU4jxaqRSAADucrgkvfQ675.png-wh_50