- 空间积分
- 0
- 信誉积分
- 116
- UID
- 772201
- 阅读权限
- 20
- 积分
- 887
- 帖子
- 339
- 精华
- 1
- 可用积分
- 887
- 专家积分
- 0
- 在线时间
- 20 小时
- 注册时间
- 2005-09-26
- 最后登录
- 2012-05-22

- 帖子
- 339
- 主题
- 76
- 精华
- 1
- 可用积分
- 887
- 专家积分
- 0
- 在线时间
- 20 小时
- 注册时间
- 2005-09-26
- 最后登录
- 2012-05-22
- 论坛徽章:
- 0
|
发表于 2006-11-19 12:24:23
|显示全部楼层
Nagios的布署方案
Posted bylg | inLinux/unix | 发布日期:2006-07-07 15:07:28 | 总浏览:2399 | [评论本文]
1、Nagios是一个具有很大可伸缩性的集中式系统管理工具.
3、Naigos的安装
1、 所需软件
nagios-2.0rc2.tar
nagios-plugins-1.4.tar
imagepak-base.tar.gz
2、 安装
2.1、nagios安装
tar –xvzf nagios-2.0rc2.tar
mkdir /usr/local/nagios
pw useradd nagios –d /usr/local/nagios
pw addgroup root
chmod 755 /usr/local/nagios
cd nagios-2.0rc2
./configure --prefix=/usr/local/nagios --with-gd-lib=/usr/local/lib --with-gd-inc=/usr/local/include
make all
make install
make install-init ##This installs the init script in /usr/local/etc/rc.d
make install-commandmode
make install-config ##将初始的配置文件安装到/usr/local/nagios/etc
注:在makeinstall-init这一步的时候可能会进行不下去,这时只要加个root组即可。
pw addgroup root
2.2、nagios-plugins的安装
tar –xvzf nagios-plugins-1.4.tar
mkdir /usr/local/nagios-plugins
cd nagios-plugins-1.4
./configure --prefix=/usr/local/nagios-plugins
make all
make install
安装完成以后在/usr/local/nagios-plugins会产生一个libexec的目录,将该目录全部移动到/usr/local/nagios目录下
mv /usr/local/nagios-plugins/libexec /usr/local/nagios
2.3、imagepak-base的安装
tar –xvzf imagepak-base.tar.gz
解压以后是base目录
cp –R base /usr/local/nagios/share/images/logos
2.4、安装过程全部结束
4、Nagios的设定:
1、配置apache
在apache的配置文件httpd.conf中追加
ScriptAlias /nagios/cgi-bin/ /usr/local/nagios/sbin/
<Directory "/usr/local/nagios/sbin/">
AllowOverride AuthConfig
Options ExecCGI
Order allow,deny
Allow from all
</Directory>
Alias /nagios/ /usr/local/nagios/share/
<Directory "/usr/local/nagios/share">
Options None
AllowOverride AuthConfig
Order allow,deny
Allow from all
</Directory>
2、设置访问权限
2.1、在/usr/local/nagios/share目录下
vi .htaccess
AuthName "Nagios Access"
AuthType Basic
AuthUserFile /usr/local/nagios/etc/.htpasswd
require valid-user
2.2、在/usr/local/nagios/sbin目录下
vi .htpasswd
AuthName "Nagios Access"
AuthType Basic
AuthUserFile /usr/local/nagios/etc/.htpasswd
require valid-user
2.3、/usr/local/apache/bin/htpasswd –c /usr/local/nagios/etc/.htpasswd nagios
这个apache目录根据安装目录的不同而不同,主要所以用.htpasswd这个命令生成用户名和密码
3、配置nagios
3.1、在/usr/local/nagios/etc下是nagios的配置模板文件.cfg-sample,把.cfg-sample文件全部拷贝成.cfg
例如:cp nagios.cfg-sample nagios.cfg
全部拷贝完成即可.
3.2、vi dependencies.cfg (在2.0没有生成这个文件,自己创建)
然后保存即可.(在1.2用一个空的文件代替原来的dependencies.cfg文件,否则会出错)
3.3、修改minimal.cfg,把里面所有定义command的全部注释掉
vi /etc/minimal.cfg
修改cgi.cfg
修改use_authentication=1为use_authentication=0,即不用验证.不然有一些页面不会显示。
3.4、然后检查配置文件是否出错
/usr/local/nagios/bin/nagios –v /usr/local/nagios/etc/nagios.cfg
出现Total Warnings: 0
Total Errors: 0
为正常
出错的话,就是.cfg文件有问题
3.5、启动后台进程
/usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg
/usr/local/etc/rc.d/nagios start
3.6、http://10.4.8.81/nagios/index.html
(如果有些页面看不到的话.可以在cgi.cfg文件中
把带有authorized的选项前的#号去掉即可)
这些配置完以后,基本的nagios配置完成。
5、NRPE的安装.及监按指令的布署
nrpe 安装与使用
1、远程主机的配置(FreeBSD)
1.1、安装openssl
#./config --prefix=/usr/local/nagios/openssl
#make
#make install
1.2、安装nrpe与配置
#./configure --enable-ssl --with-ssl-lib=/usr/local/nagios/openssl/lib--with-kerberos-inc=/usr/local/nagios/openssl/include --enable-command-args
#make all
#mkdir /usr/local/nagios/etc
#mkdir /usr/local/nagios/bin
#mkdir /usr/local/nagios/libexec
#chown -R nagios:nagios /usr/local/nagios
#cp nrpe.cfg /usr/local/nagios/etc
#cp src/nrpe /usr/local/nagios/bin
#vi /usr/local/nagios/etc/nrpe.cfg
改成你允许的IP
allowed_hosts=127.0.0.1,10.0.153.57(57是nagios服务器)
改成你准备监视的服务
command[check_disk]=/usr/local/nagios/libexec/check_disk -w $ARG1$ -c $ARG2$ -p $ARG3$
检查磁盘,当 / 剩余$ARG1$%报警(浅黄色),剩余$ARG2$%“出错”(红色)-p 后为指定分区
1.3、启动nrpe,端口为5666
/usr/local/nagios/bin/nrpe -c /etc/nrpe.cfg -d
1.4、安装监测的模块
nagios-plugins的安装
tar –xvzf nagios-plugins-1.4.tar
mkdir /usr/local/nagios-plugins
cd nagios-plugins-1.4
./configure --prefix=/usr/local/nagios-plugins
make all
make install
安装完成以后在/usr/local/nagios-plugins会产生一个libexec的目录,将该目录全部移动到/usr/local/nagios目录下
mv /usr/local/nagios-plugins/libexec /usr/local/nagios
2、服务器上的配置
2.1、安装openssl
#./config --prefix=/usr/local/nagios/openssl
#make
#make install
2.2、安装nrpe(主要是使用check_nrpe模块)
#./configure --enable-ssl --with-ssl-lib=/usr/local/nagios/openssl/lib --with-kerberos-inc=/usr/local/nagios/openssl/include --enable-command-args
#make all
#cp src/check_nrpe /usr/local/nagios/libexec
2.3、nagios文件的配置
vi checkcommands.cfg
定义check_nrpe命令
# 'check_nrep' command definition
define command{
command_name check_nrpe
command_line /usr/local/nagios/libexec/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}
定义检查远程主机服务
vi lgweb.cfg
define service{
use lgweb-service ; Name of service template to use
host_name 120
service_description disk
is_volatile 0
check_period 24x7
max_check_attempts 3 #最大重试次数
normal_check_interval 2 #正常检测时间为2分钟
retry_check_interval 1 #重试时间1分重
notification_options w,u,c,r
notification_interval 10
notification_period 24x7
check_command check_nrpe!check_disk!20%!10%
}
2.4、重启nagios服务
/etc/rc.d/init.d/nagios restart (linux)
/usr/local/etc/rc.d/nagios restart (freebad)
以监控一台主机(120)为例:〔注:红色为需要注意的地方〕
1.在 Nagios主机上:
root@db4 etc]#vi /usr/local/nagios//etc/lgweb.cfg
加入以代码:
#定义监测时间
define timeperiod{
timeperiod_name lgweb24x7 #名称
alias lgweb,7 Days A Week
sunday 00:00-24:00
monday 00:00-24:00
tuesday 00:00-24:00
wednesday 00:00-24:00
thursday 00:00-24:00
friday 00:00-24:00
saturday 00:00-24:00
}
#定义联系小组及小组内成员
define contactgroup{
contactgroup_name LDF-SYS
alias LDF-SYS Administrators
members lgweb ;
}
#定义联系成员
define contact{
contact_name lgweb
alias lg
service_notification_period 24x7
host_notification_period 24x7
service_notification_options w,u,c,r
host_notification_options d,u,r
service_notification_commands notify-by-email
host_notification_commands host-notify-by-email
email lg@china-lg.com
}
#定义主机组及组内的主机
define hostgroup{
hostgroup_name lgwebgrou
alias lgweb Servers
members 120 ;
}
#定义主机类型
define host{
name lgweb-host
notifications_enabled 1
#可以发通告(邮件),0为关闭
active_checks_enabled 1 #主动模式打开,0为关闭
event_handler_enabled 1
flap_detection_enabled 1
failure_prediction_enabled 1
process_perf_data 1
retain_status_information 1
retain_nonstatus_information 1
register 0
}
#定义服务组及组内服务名.
define servicegroup{
servicegroup_name services
alias Mysql Http services
members 120,LD_PING #主机名,服务
}
#定义服务类型
define service{
name lgweb-service
passive_checks_enabled 0 #打开被动检查模式,0为关闭
active_checks_enabled 1 #打开主动检查模式,0为关闭
parallelize_check 1
obsess_over_service 1
check_freshness 1
notifications_enabled 1 #允许通告(邮件),0为关闭
event_handler_enabled 1
flap_detection_enabled 1
failure_prediction_enabled 1
process_perf_data 1
retain_status_information 1
retain_nonstatus_information 1
register 0
}
以120为例
#############################################
#10.1.1.120
define host{
use lgweb-host #前面所定义的主机名
host_name 120 #前面主机组内所定义的主机名
alias DB
address 10.1.1.120
check_command check-host-alive #
max_check_attempts 10
notification_interval 1 ;120
notification_period 24x7
notification_options d,u,r
contact_groups LDF-SYS #前面定义过的联系小组
}
define service{
use lgweb-service #前面所定义的服务名
host_name 120
service_description LD_PING #前面服务组内所定义的服务名
is_volatile 0
check_period 24x7
max_check_attempts 1
normal_check_interval 2
retry_check_interval 1
notification_options w,u,c,r #通知类型
notification_interval 10;960 #通知(发送邮件)间隔的时间10分钟
notification_period 24x7 #
check_command LD_check_ping#LD_checkcommad.cfg中定以的指令名
}
root@d etc]#vi /usr/local/nagios//etc/LD_checkcommad.cfg
加入以代码:
define command{
command_name LD_check_ping
command_line /usr/local/nagios/libexec/LD/LD_check.sh -H $HOSTADDRESS$ -p $ARG1$ $ARG2$
}
root@db4 etc]#cfg=” cfg_file=/usr/local/nagios//etc/lgweb.cfg”
root@db4 etc]#cfg_amd=” cfg_file=/usr/local/nagios//etc/LD_checkcommad.cfg”
root@db4 etc]# echo “$cfg” >> /usr/local/nagios/etc/nagios.cfg
root@db4 etc]# echo “$cfg_amd” >> /usr/local/nagios/etc/nagios.cfg
root@db4 etc]#/etc/init.d/nagios start |
|