Nagios安装部署和介绍(一)
一、软件版本下载
Nagios版本下载地址:
http://prdownloads.sourceforge.net/sourceforge/nagios/
http://sourceforge.net/projects/nagios/files/
Nagios 安装,是指基本平台,也就是Nagios软件包的安装。它是监控体系的框架,也是所有监控的基础。
Nagios plug版本下载地址:
http://prdownloads.sourceforge.net/sourceforge/nagiosplug/
http://sourceforge.net/projects/nagiosplug/files/
http://www.nagios.org/download/plugins
Nagios nrpe版本下载地址:
http://sourceforge.net/projects/nagios/files/
Apache 版本下载地址:
http://archive.apache.org/dist/httpd/
Php 版本下载地址:
http://cn2.php.net/downloads.php
Apr 版本下载地址:
http://apr.apache.org/download.cgi
Apr-Util 版本下载地址:
http://apr.apache.org/download.cgi#aprutil1
Pcre版本下载地址:
ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/
http://sourceforge.net/projects/pcre/files/pcre
Nagios 汉化插件下载地址:
http://sourceforge.net/projects/nagios-cn/files
sendEmail下载地址:
http://caspian.dotconf.net/menu/Software/SendEmail/
net-snmp下载地址:
http://sourceforge.net/projects/net-snmp/files/
openssl下载地址:
http://www.openssl.org/source/
二、介绍和编译安装
Nagios简介
Nagios是一款开源的电脑系统和网络监视工具,能有效监控Windows、Linux和Unix的主机状态,交换机路由器等网络设置,打印机等。在系统或服务状态异常时发出邮件或短信报警第一时间通知网站运维人员,在状态恢复后发出正常的邮件或短信通知。
Nagios的功能是监控服务和主机,但是他自身并不包括这部分功能,所有的监控、检测功能都是通过各种插件来完成的。
启动Nagios后,它会周期性的自动调用插件去检测服务器状态,同时Nagios会维持一个队列,所有插件返回来的状态信息都进入队列,Nagios每次都从队首开始读取信息,并进行处理后,把状态结果通过web显示出来。
Nagios提供了许多插件,利用这些插件可以方便的监控很多服务状态。安装完成后,在nagios主目录下的/libexec里放有nagios自带的可以使用的所有插件,如,check_disk是检查磁盘空间的插件,check_load是检查CPU负载的,等等。每一个插件可以通过运行./check_xxx –h 来查看其使用方法和功能。
Nagios可以识别4种状态返回信息,即 0(OK)表示状态正常/绿色、1(WARNING)表示出现警告/黄色、2(CRITICAL)表示出现非常严重的错误/红色、3(UNKNOWN)表示未知错误/深黄色。Nagios根据插件返回来的值,来判断监控对象的状态,并通过web显示出来,以供管理员及时发现故障。
Nagios 通过NRPE 来远端管理服务
1. Nagios 执行安装在它里面的check_nrpe 插件,并告诉check_nrpe 去检测哪些服务。
2. 通过SSL,check_nrpe 连接远端机子上的NRPE daemon
3. NRPE 运行本地的各种插件去检测本地的服务和状态(check_disk,..etc)
4. 最后,NRPE 把检测的结果传给主机端的check_nrpe,check_nrpe 再把结果送到Nagios状态队列中。
5. Nagios 依次读取队列中的信息,再把结果显示出来。
编译环境: linux6.2(主机内需包含操作系统iso镜像文件)
挂载镜像文件
mount -o loop /home/rhel-server-6.2-x86_64-dvd.iso /mnt/cdrom
去掉挂载文件:umount /mnt/cdrom
基础支持套件:gcc glibc glibc-common gd gd-devel xinetd openssl-devel
rpm -q gcc glibc glibc-common gd gd-devel xinetd openssl-devel
如果系统中没有这些套件,使用yum 安装
yum install -y gcc glibc glibc-common gd gd-devel xinetd openssl-devel
本次升级系统只有gd安装包,没有gd-devel安装包,通过ftp://ftp.muug.mb.ca/mirror/centos/ 下载gd-devel的rpm安装包
rpm -ivh gd包
rpm -Uvh 升级gd包
rpm -ivh gd-devl包
1、必须创建nagios用户和用户组
创建用户:useradd nagios
设置用户密码:passwd nagios
创建用户组:groupadd nagios
给已有的用户增加用户组:usermod -G nagios nagios
chown nagios:nagios /home/nagios/
chmod 755 /home/nagios
安装nagios
解压软件包
切换成root帐号,执行后面命令
cd /home/nagios/wangjian
tar -zxvf nagios-4.0.8.tar.gz
cd nagios-4.0.8
3、编译
./configure --prefix=/home/nagios
make all
make install
make install-init
make install-config
make install-commandmode
把Nagios加入到服务列表中以使之在系统启动时自动启动
chkconfig --add nagios
chkconfig --level 35 nagios on
chkconfig --list nagios
切换目录到安装路径(这里是/home/nagios),看是否存在etc、bin、sbin、share、var 这五个目录,如果存在则可以表明程序被正确的安装到系统了。Nagios 各个目录用途说明如下:
bin |
Nagios 可执行程序所在目录 |
etc |
Nagios 配置文件所在目录 |
sbin |
Nagios CGI 文件所在目录,也就是执行外部命令所需文件所在的目录 |
share |
Nagios网页文件所在的目录 |
libexec |
Nagios 外部插件所在目录 |
var |
Nagios 日志文件、lock 等文件所在的目录 |
var/archives |
Nagios 日志自动归档目录 |
var/rw |
用来存放外部命令文件的目录 |
安装Nagios-plugins 插件
解压软件
tar zxvf nagios-plugins-2.0.3.tar.gz
cd nagios-plugins-2.0.3
./configure --prefix=/home/nagios
make
make install
Apache 和Php 不是安装nagios 所必须的,但是nagios提供了web监控界面,通过web监控界面可以清晰的看到被监控主机、资源的运行状态
安装Apache
切换至nagios帐号
Apr安装
cd /home/nagios;mkdir apr
cd /home/nagios/wangjian
tar zxvf apr-1.5.1.tar.gz
cd apr-1.5.1
./configure --prefix=/home/nagios/apr
make
make install
Apr-Util安装
cd /home/nagios;mkdir apr-util
cd /home/nagios/wangjian
tar zxvf apr-util-1.5.4.tar.gz
cd apr-util-1.5.4
./configure --prefix=/home/nagios/apr-util --with-apr=/home/nagios/apr
make
make install
Pcre安装
cd /home/nagios;mkdir pcre
cd /home/nagios/wangjian
tar zxvf pcre-8.36.tar.gz
cd pcre-8.36
./configure --prefix=/home/nagios/pcre
make
make install
Apache安装
cd /home/nagios;mkdir apache-2.4.9
cd /home/nagios/wangjian
tar zxvf httpd-2.4.9.tar.gz
cd httpd-2.4.9
./configure \
--prefix=/home/nagios/apache-2.4.9 \
--with-pcre=/home/nagios/pcre \
--with-apr=/home/nagios/apr \
--with-apr-util=/home/nagios/apr-util
make
make install
安装Php
cd /home/nagios;mkdir php
cd /home/nagios/wangjian
tar zxvf php-5.6.5.tar.gz
cd php-5.6.5
./configure \
--prefix=/home/nagios/php \
--with-apxs2=/home/nagios/apache-2.4.9/bin/apxs
备注:apxs在安装完apache的bin目录下
make
make install
三、软件配置
Apache配置
cd /home/nagios/apache-2.4.9/conf
cp httpd.conf httpd.conf.20150206
打开httpd.conf 文件找到:
User daemon
Group daemon
修改为
User nagios
Group nagios
找到
Listen 80
修改为
Listen 8090
放开LoadModule cgid_module modules/mod_cgid.so
放开LoadModule actions_module modules/mod_actions.so
找到
LogFormat "%h %l %u %t \"%r\" %>s %b" common
修改为
LogFormat "%h %l %u %t \"%r\" %>s %b %D" common
找到
CustomLog "logs/access_log" common
修改为
CustomLog "| /home/nagios/apache-2.4.9/bin/rotatelogs /home/nagios/apache-2.4.9/logs/access_log.%Y%m%d 86400 480" common
找到
<IfModule dir_module>
DirectoryIndex index.html
</IfModule>
修改为
<IfModule dir_module>
DirectoryIndex index.html index.php
</IfModule>
找到
#ServerName www.example.com:80
添加
ServerName SHPD-PA-RADIUS-SV56-HSS22/test
接着增加如下内容:
AddType application/x-httpd-php .php .php5
AddType application/x-httpd-php-source .phps
为了安全起见,一般情况下要让nagios 的web 监控页面必须经过授权才能访问,这需要增加验证配置,即在httpd.conf 文件最后添加如下信息:
#setting for nagios
ScriptAlias /nagios/cgi-bin "/home/nagios/sbin"
<Directory "/home/nagios/sbin">
AuthType Basic
Options ExecCGI
AllowOverride None
Order allow,deny
Allow from all
AuthName "Nagios Access"
AuthUserFile /home/nagios/etc/htpasswd
Require valid-user
</Directory>
Alias /nagios "/home/nagios/share"
<Directory "/home/nagios/share">
AuthType Basic
Options None
AllowOverride None
Order allow,deny
Allow from all
AuthName "nagios Access"
AuthUserFile /home/nagios/etc/htpasswd
Require valid-user
</Directory>
创建apache目录验证文件
在上面的配置中,指定了目录验证文件htpasswd,下面要创建这个文件: /home/nagios/apache-2.4.9/bin/htpasswd -c /home/nagios/etc/htpasswd wangjian
在htpasswd文件中新增登录帐号
/home/nagios/apache-2.4.9/bin/htpasswd -b /home/nagios/etc/htpasswd 帐号 密码
查看认证文件的内容
cat /home/nagios/etc/htpasswd
启动apache
/home/nagios/apache-2.4.9/bin/httpd -k start
停止apache
/home/nagios/apache-2.4.9/bin/httpd -k stop
通过浏览器访问nagios页面