一.实验描述 系统:SUSE Linux Enterprise 10 64-bit nagios服务器IP:192.168.1.122 所需软件:nagios-3.2.0.tar.gz nagios-cn-3.2.0.tar.bz2 nagios-plugins-1.4.15.tar.gz apache2-2.2.3-16.21 apache2-mod_php5-5.2.5-9.20 二.安装nagios主程序 1.创建用户及目录并设定权限 #groupadd nagios #useradd -g nagios nagios #mkdir /usr/local/nagios #chown -R nagios.nagios /usr/local/nagios 2.编译安装 # tar zxvf nagios-3.2.0.tar.gz # cd nagios-3.2.0/ # ./configure --prefix=/usr/local/nagios/ --with-gd-lib=/usr/local/lib --with-gd-inc=/usr/local/include/ 报错
解决方法:安装GCC,如下显示表示正常
# make all 出现以下提示,然后按照提示逐步安装就OK
# make install //来安装主程序,CGI和HTML文件
# make install-init //在/etc/rc.d/init.d安装启动脚本
# make install-commandmode //配置目录权限
# make install-config //安装示例配置文件,安装的路径是/usr/local/nagios/etc
# make install-webconf
3.验证时否安装成功
切换目录到/usr/local/nagios/查看是否有以下几个文件存在,如果存在则表示程序被正确的安装到系统上啦
bin nagios执行程序所在目录,nagios文件既为主程序
etc nagios配置文件位置,初始安装完后,只有几个*.cfg文件
sbin nagios cgi文件所在目录。也就是执行外部命令所需文件所在的目录
share nagios网页文件所在的目录
var nagios日志文件,spid等文件所在目录
三.安装插件
1.编译安装
# tar zxvf nagios-plugins-1.4.15.tar.gz
# cd nagios-plugins-1.4.15/
# ./configure --prefix /usr/local/nagios/
# make && make install
# ls /usr/local/nagios/libexec/ \\显示一下内容表示插件安装成功
四.安装apache2
# vim /etc/apache2/uid.conf \\修改成一下内容
# vim /etc/apache2/httpd.conf \\在最后面添加一下内容
ScriptAlias /nagios/cgi-bin /usr/local/nagios/sbin
<Directory "/usr/local/nagios/sbin">
Options ExecCGI
AllowOverride None
Order allow,deny
Allow from all
AuthName "nagios access"
AuthType Basic
AuthUserFile /usr/local/nagios/etc/htpasswd
Require valid-user
</Directory>
Alias /nagios /usr/local/nagios/share
<Directory "/usr/local/nagios/share">
Options None
AllowOverride None
Order allow,deny
Allow from all
AuthName "nagios access"
AuthType Basic
AuthUserFile /usr/local/nagios/etc/htpasswd
Require valid-user
</Directory>
| # /usr/sbin/htpasswd2 -c /usr/local/nagios/etc/htpasswd shilong
重启apache和nagios,输入访问地址http://192.168.1.100/nagios
五.监控局域网主机(windows和linux都行)
1.修改nagios主配置文件
# cd /usr/local/nagios/etc
# vim nagios.cfg
2.添加配置文件
# vim /usr/local/nagios/etc/objects/hosts.cfg
define host {
host_name 192.168.1.1
alias Hillstone Firewall \\别名
address 192.168.1.1 \\填写被监控主机IP
contact_groups admins \\这个值是来自contacts.cfg文件里面,contactgroup_name后面的值
check_command check-host-alive
max_check_attempts 5
notification_interval 10
notification_period 24x7
notification_options d,u,r
}
|
# vim /usr/local/nagios/etc/objects/servers.cfg
define service {
host_name 192.168.1.1
service_description check-host-alive
check_period 24x7
max_check_attempts 4
normal_check_interval 3
retry_check_interval 2
contact_groups admins \\此处的值同上
notification_interval 10
notification_period 24x7
notification_options w,u,c,r
check_command check-host-alive \\检查主机是否存活
}
|
如果监控多个主机只需要在hosts.cfg添加多个host,并在servers.cfg里面也添加相关配置
3.配置报警发送邮件
# vim /usr/local/nagios/etc/objects/contacts.cfg
六.配置所遇到的报错
1.如果这里打开页面出现403错误,证明你的php没有安装(我这里就安装啦一个apache2-mod_php5-5.2.5-9.20然后把相关的依赖包都安装上去啦)。重启apache,nagios页面就出来啦。
2.nagios web页面提示
It appears as though you do not have permission to view information for any of the services you requested... 打开cgi.cfg配置文件,里面有个参数:
use_authentication=1
为了保障系统的安全性,nagios设置了这个参数,默认为1,改为0即可 3页面显示
查看nagios进程是否启动。如果没有则进行以下操作
/usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg
4.nagios页面有部分是乱码,如图:
发现是apache配置文件的编码问题
修改/etc/apache2/httpd.conf
最后添加AddDefaultCharset utf-8
|