首先运行环境:CentOS 5.6 + apache2.2 + php5.5。
接下来是安装nagios服务,首先要有安装包nagios-3.0.6.tar(主程序包)、nagios-plugins-1.4.13.tar(插件包)、nrpe-2.12.tar(代理检测程序)。
1、创建Nagios用户和组
useradd -s /sbin/nologin nagios
2、编译安装
安装 nagios-3.0.6.tar:
先将nagios-3.0.6.tar解压,创建所用的目录:mkdir /usr/local/nagios ,进入:cd nagios-3.0.6文件中
#./configure --prefix=/usr/local/nagios(一般GD类库都已装好的话,可以顺利执行)
#make all (编译全部)
#make install
#make install-init(生成init启动文件)
#make install-config(生成配置模板)
#make install-commandmode(设置相应的权限)
#make install-webconf(生成Apache的nagios.conf配置文件)
为nagios的web管理设置密码,根据nagios.conf中的认证文件指定来设置
htpasswd -c /user/local/nagios/etc/htpasswd.user nagiosadmin (这里设成nagiosadmin是因为nagios的系统默联系的用户是nagiosadmin,方便使用)
安装: nagios-plugins-1.4.13.tar(具体的解压等操作自行解决)
#./configure --prefix=/usr/local/nagios --with-nagios-user=nagios --with-nagios-group=nagios
#make && make install
(至此,服务器端的安装基本完成)。
安装: nrpe-2.12.tar
在服务端安装它是因为它可以提供大量的命令脚本。
#./configure &&make all
#make install-plugin
#make install-xinetd (配件nrpe为xinetd管理)
配置nrpe : vi /etc/xinetd.d/nrpe
service nrpe{
其中 only_from = 127.0.0.1 上添加要监控的主机的IP地方,中间以空格分开
}
添加nrpe端口:vi /etc/services 里面添加 : nrpe 5666/tcp #nrpe
重启xinetd服务
service xinetd restart
用netstat -tulnp | grep 5666
当可以看到0.0.0.0:5666 0.0.0.0:* LISTEN 关键字就说明nrpe已启动成功
2、配置
一般都是在/usr/local/nagios/etc/文件中
其中:nagios.cfg(主配置文件)objects(对象定义目录)、resooure(资源配置文件)
nagios.cfg的配置:
主要修改的地方cfg_file=<文件名>:
创建hosts.cfg文件来定义主机和主机组
创建services.cfg文件来定义服务
用默认的contacts.cfg文件来定义联系人和联系人组
用默认的commands.cfg文件来定义命令
用默认的timeperiods.cfg来定义监控时间段
用默认的templates.cfg文件作为资源引用文件
将默认的cfg_file=/usr/local/nagios/etc/objects/locahost.cfg注释掉
主机定义文件配置:vi /usr/local/nagis/etc/objects/hosts.cfg(建议在修改前先备份)
define host{
host_name 主机名
alias 主机别名
address IP地址
check_command check-host-alive(命令,要在commands.cfg里面有定义才能使用)
还有其它设置通知级数和连接次数等等
}
//当要定多个主机是,直接用上面的例子在本文件中编定就可
主机组定义文件配置: vi /usr/local/nagis/etc/objects/hostgroups.cfg
define hostgroup{
hostgroup_name System-Admin
alias system Admin
members 主机名(在hosts.cfg定义的)
}
服务定义文件配置: vi /usr/local/nagis/etc/objects/services.cfg
define service{
host_name 主机名(在hosts.cfg中定义的)
service_description 描述名
check_command 命令(如:check-host-alive)
notification_options w,u,c,r //警告级别,当达到这里指定的级别时就会通知联系人,通过在contacts.cfg里的联系人配置来通知)
}
//w :报警(waring)
u :未知(unkown)
c :严重(critical)
r : 从异常情况恢复正常
联系人的配置: vi /usr/local/nagis/etc/objects/contacts.cfg
define contact{
contact_name nagiosadmin (联系人的名字)
alias 联系人的别名
service_notification_period 24x7 #服务器报警时间段
host_notification_period 24x7 #主机的报警时间段
service_notifiaction_options w,xxxx #相对应的报警级别
host_notification_options u,xxxx
service_notification_commands notifiy-service-by-emailservice-notify-by-sms, #服务器报警发送消息的命令,必须要在commands.cfg中已定义,短信报警
host_notification_commands notifiy-host-by-email #主机报警发送消息的命令,必须要在commands.cfg中已定义
email 收件人的email地址(前提是该服务器上已装有邮件服务器或者能发邮件)。
pager 收信人的手机号码。
}
至此,已基本可以使用
配置文件检测
#/user/local/nagios/bin/nagios -v /var/local/nagios/etc/nagios.cfg
当出现为:
Total Warings:0
Total Errors:0
则说明配置成功了,如果有错误,就要好好检查一下。
4、使用:
启动nagios : service nagios start 或者 /etc/init.d/nagios start
5、web上测试,首先要开启apache
http://域名/nagios就可以