前言:
好吧,准备重新再写一次nagios的详细说明文档。因为这个东西安装起来简单,配置使用确实相对复杂很多。希望我能尽量写的够详细,并将可能遇到的问题都列举出来。
【nagios简介】
首先我们先知道这个是个什么东西。
Nagios是一款开源的免费网络监视工具,能有效监控Windows、Linux和Unix的主机状态,交换机路由器等网络设置,打印机等。在系统或服务状态异常时发出邮件或短信报警第一时间通知网站运维人员,在状态恢复后发出正常的邮件或短信通知。(我承认我是从百度百科上拷贝的,不过这个解释的已经很好了。)
nagios应用在linux操作系统中,那么基础的linux操作就不再多说。
Nagios的强大主要在于其插件所提供的各种监控功能以及web形式的友好交互,nagios对于linux和windows服务器都可以很好的进行监控,这里主要说明对linux服务器的监控。
【准备工作】
Naigos必须运行在有C语言编辑器的Linux平台上,并且需要一个web服务器(通常来说apache即可)来提供友好的交互界面,否则你监控到的内容只是一堆日志毫无乐趣可言。下面我将按照最小化安装的裸机来进行安装。
我使用的CentOS5.6版本,用Ubuntu的注意版本及配置文件习惯即可
监控主机A地址:192.168.0.10
被监控主机B地址:192.168.0.20
首先下载3个文件:
nagios-3.3.1.tar.gz nagios主程序
nagios-plugins-1.4.15.tar.gz nagios插件
nrpe-2.12.tar.gz 监控linux主机所需插件
#yum install –y httpd php gcc* gd* glibc* 安装nagios所需的库,这里为了方便后面操作apache 和php都是yum安装的,如果编译安装的朋友注意下路径即可。
#groupadd nagios 新建一个nagios组
#useradd nagios –g nagios 新建一个nagios用户并将其加入到nagios组中
【安装nagios】
# tar zxvf nagios-3.3.1.tar.gz
# cd nagios
# ./configure --prefix=/usr/local/nagios --with-nagios-user=nagios 最好还是制定目录
# make all
# make install
# make install-commandmode
# make install-config
# make install-init
# make install-webconf
这里nagios的编译不同于其他的软件,需要好几步才能完成,我们来解释一下make这几步的意思
make install 安装主要的程序、CGI、HTML文件等等。
make install-commandmode 赋予外部命令访问nagios配置文件的权限
make install-config 将nagios的配置文件的例子复制到nagios的安装目录下
make install-init 将nagios做成一个运行脚本,放入init.d中,使nagios可以随系统的开机而启动
make install-webconf配置apache的web接口,如果运行出错,是因为你的apache是自己编译安装的
不是yum安装的,webconf生成的文件会放在/etc/httpd/conf.d/下,因为找不到这个目录,所以出错
编译安装完成后:
# ls /usr/local/nagios
bin etc include libexec share
查看是否有上面的文件,如果有到此nagios就算是安装完了。
那么我们来看看这上面几个目录下的文件都有什么意义。
bin nagios执行程序所在目录,这个目录只有一个文件nagios
etc nagios配置文件位置,初始安装完成后,只有几个*.cfg-sample文件
sbin nagios Cgi文件所在目录,也就是执行外部命令所需文件所在的目录
share nagios网页文件所在的目录
var nagios日志文件、spid等文件所在的目录
nagios的主程序安装完毕后,为了以防万一我们来检查一下/usr/local/nagios的目录权限
如果不是nagios的属主那么要将属主进行修改,否则nagios没有权限来运行。
我们在进行下一步插件的安装
【安装nagios插件】
插件对于nagios来说是非常重要的,插件的版本对于nagios主程序之间的关联并不大
各个版本基本都可以使用。
# tar zxvf nagios-plugins-1.4.15.tar.gz
# cd nagios-plugins
# ./configure --prefix=/usr/local/nagios nagios-plugins是安装到nagios的主目录下的
# make
# make install
安装完成后/usr/local/nagios生成目录libexec,这就是nagios所需要的插件
检查工作:
再次检查nagios主目录的属主,一定要是nagios,不能是root
如果属主不正确
#chown -R nagios.nagios /usr/local/nagios
nagios的用户不需要登录shell 所以如果为了安全
vi /etc/passwd
nagios:x:500:500::/home/nagios:/bin/bash
修改为:
nagios:x:500:500::/home/nagios:/bin/nologin
那么nagios用户则不能够登录shell
【配置apache】
yum 装的apache本身不需要太多的配置,在nagios的编译过程中的make install-webconf就是在/etc/httpd/conf.d/下生成nagios.conf的配置文件。会自动帮你配置apache的nagios部分。
#vi /etc/httpd/conf/httpd.conf
修改apache的运行用户为nagios
user nagios
group nagios
在末尾加上apache的nagios部分
ScriptAlias /nagios/cgi-bin "/usr/local/nagios/sbin"
<Directory "/usr/local/nagios/sbin">
# SSLRequireSSL
Options ExecCGI
AllowOverride None
Order allow,deny
Allow from all
# Order deny,allow
# Deny from all
# Allow from 127.0.0.1
AuthName "Nagios Access"
AuthType Basic
AuthUserFile /usr/local/nagios/etc/htpasswd.users
Require valid-user
</Directory>
Alias /nagios "/usr/local/nagios/share"
<Directory "/usr/local/nagios/share">
# SSLRequireSSL
Options None
AllowOverride None
Order allow,deny
Allow from all
# Order deny,allow
# Deny from all
# Allow from 127.0.0.1
AuthName "Nagios Access"
上面文本的作用是对nagios的目录进行用户验证,只有合法的授权用户才可以访问nagios的页面文件
生成用户验证文件
# htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
命令交互执行需要输入2次密码,然后会再/usr/local/nagios/etc/htpasswd.users中写入一行字段是
刚才生成的用户名和密码
如需添加更多用户执行命令中去掉-c即可,否则会覆盖所有已经生成的行
配置完成后执行/usr/sbin/httpd -t 来验证apache 的配置文件压法
这里的httpd路径根据自己具体的路径来执行
#service httpd restart
在浏览器中输入nagios的访问地址: http://local/nagios
在登录框中输入你刚才设置的nagios用户和密码
到此我们的nagios服务器就已经搭建好了,但是现在还没有检测任何的主机也没有任何的信息,我们现在要做的就是来看一看nagios服务器到底需要怎么用。