三、实验环境
Host Name | OS | IP | Software |
Nagios-Server | CentOS release 5.8 (Final) | 192.168.128.132 | Apache、Php、Nagios、nagios-plugins、nagios-cn |
Nagios-Linux | CentOS release 5.8 (Final) | 192.168.128.133 | nagios-plugins、nrpe |
Nagios-Windows | Windows XP | 192.168.120.47 | NSClient++ |
Server 安装了nagios软件,对监控的数据做处理,并且提供web界面查看和管理。当然也可以对本机自身的信息进行监控。
Client 安装了NRPE等客户端,根据监控机的请求执行监控,然后将结果回传给监控机。
防火墙已关闭/iptables: Firewall is not running.
SELINUX=disabled
四、实验目标
五、Nagios服务端安装
5.1 基础支持套件:gcc glibc glibc-common gd gd-devel xinetd openssl-devel
配置好本地yum源,挂载ISO镜像文件
# yum install -y gcc glibc glibc-common gd gd-devel xinetd openssl-devel
5.2 创建nagiosadmin用户和用户组
# useradd -s /sbin/nologin nagiosadmin
# mkdir /usr/local/nagios
# chown -R nagiosadmin:nagiosadmin /usr/local/nagios
查看nagios 目录的权限
# ll -d /usr/local/nagios/
5.3 编译安装Nagios
# wget http://nchc.dl.sourceforge.net/project/nagios/nagios-3.x/nagios-3.4.3/nagios-3.4.3.tar.gz
# tar zxvf nagios-3.4.3.tar.gz
# cd nagios
# ./configure --prefix=/usr/local/nagios
# make all
# make install #命令对主程序,cgi及html进行安装
# make install-init #命令在/etc/rc.d/init.d/目录中安装启动脚本
# make install-commandmode #命令来安装和配置外部命令对Nagios主路径操作的权限。(这里所谓的外部命令主要是指Apache服务通过CGI来对Nagios的进行的操作。用户将通过Web以执行CGI程序脚本的方式来对Nagios的检测结果进行读取和调用。)
# make install-config #命令在/usr/local/nagios/etc/下安装nagios配置文件示例模版
# chkconfig --add nagios
# chkconfig --level 35 nagios on
# chkconfig --list nagios
5.4 验证程序是否被正确安装
切换目录到安装路径(这里是/usr/local/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 | 用来存放外部命令文件的目录 |
# cd /usr/local/nagios/
# tree -L 1
.
|-- bin
|-- etc
|-- include
|-- libexec
|-- sbin
|-- share
`-- var
5.5 安装Nagios 插件,下载地址(https://nagios-plugins.org/download/)
# wget https://nagios-plugins.org/download/nagios-plugins-1.4.16.tar.gz
# tar zxvf nagios-plugins-1.4.16.tar.gz
# cd nagios-plugins-1.4.16
# ./configure --prefix=/usr/local/nagios
# make && make install
5.6 安装nagios汉化包(nagios-cn-3.2.3.tar.bz2) (选装)
# tar -jxvf nagios-cn-3.2.3.tar.bz2
# cd nagios-cn-3.2.3
# ./configure
# make && make install
5.7 安装与配置Apache和Php
Apache 和Php 不是安装nagios 所必须的,但是nagios提供了web监控界面,通过web监控界面可以清晰的看到被监控主机、资源的运行状态,因此,安装一个web服务是很必要的。
需要注意的是,nagios在nagios3.1.x版本以后,配置web监控界面时需要php的支持。这里我们下载的nagios版本为nagios-3.4.3,因此在编译安装完成apache后,还需要编译php模块,这里选取的php版本为php5.4.10。
a. 安装Apache(编译时入加 --with-included-apr 即可解决。----此处如果安装系统时系统相关库程序都安装了,一般不需要;)
# wget http://archive.apache.org/dist/httpd/httpd-2.2.23.tar.gz
# tar zxvf httpd-2.2.23.tar.gz
# cd httpd-2.2.23
# ./configure --prefix=/usr/local/apache2
# make && make install
b. 安装Php
# wget http://cn2.php.net/distributions/php-5.4.10.tar.gz
# tar zxvf php-5.4.10.tar.gz
# cd php-5.4.10
# ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs
# make && make install
c. 配置apache
找到apache 的配置文件/usr/local/apache2/conf/httpd.conf
找到: User daemon 改为:User nagiosadmin
Group daemon Group nagiosadmin
<IfModule dir_module>
DirectoryIndex index.html index.php #添加index.php
</IfModule>
AddType application/x-httpd-php .php #增加此行
为了安全起见,一般情况下要让nagios 的web 监控页面必须经过授权才能访问,这需要增加验证配置,即在httpd.conf 文件最后添加如下信息:
#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>
d. 创建apache目录验证文件
在上面的配置中,指定了目录验证文件htpasswd,下面要创建这个文件:
# /usr/local/apache2/bin/htpasswd -c /usr/local/nagios/etc/htpasswd david
这样就在/usr/local/nagios/etc 目录下创建了一个htpasswd 验证文件,当通过http://ip/nagios/ 访问时就需要输入用户名和密码了。(此处需要对/usr/local/nagios/etc/cgi.cfg中后添加用户david类似:“
authorized_for_all_host_commands=nagiosadmin,david” ,解决权限问题)
e. 查看认证文件的内容
# cat /usr/local/nagios/etc/htpasswd
f. 启动apache 服务
# /usr/local/apache2/bin/apachectl start
到这里nagios 的安装也就基本完成了,你可以通过web来访问了http://192.168.128.132/nagios(输入刚创建的帐号david)