一.实验描述
系统: 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> |
重启 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