您的位置:首页 > 移动开发 > IOS开发

Nagios监控系统配置

2011-09-27 12:34 323 查看
Nagios简介

Nagios是一款开源的免费网络监视工具,能有效监控Windows、Linux和Unix的主机状态,交换机路由器等网络设置,打印机等。在系统或服务状态异常时发出邮件或短信报警第一时间通知网站运维人员,在状态恢复后发出正常的邮件或短信通知。

准备工作:
一台LINUX计算机,这里用RHEL5.4
Nagios 主程序 下载地址:http://down.51cto.com/download.php?do=data&tid=257687
Nagios-plugins-1.4.15.tar.gz
安装nagios主程序
#Tar -zxvf nagios-cn-3.2.3.tar.bz2
#Cd nagios-cn-3.2.3
#./configure --prefix=/usr/local/nagios :指定安装目录为/usr/local/nagios
输出下列信息:





编译安装

#Make





#Make install

输出如下信息:





执行make install后报错,原因是要用nagios用户来执行,系统没有这个用户,所以增加用户
#Useradd nagios
#Chown nagios.nagios /usr/local/nagios
查看目录权限,如果操作无误的话,权限已经该过来了
#ll /usr/local/nagisos
然后再执行make install ,结束后在依次执行make install-init , make install-commandmode , make install-config 。
完成上述安装后,查看/usr/local/nagios是否有bin、sbin、share、etc、var这个几个目录,有的话表明安装成功,只要按照上面的步骤操作,安装过程基本上不会出现意外。
文件夹说明




安装插件

#Tar -zxvf nagios-plugins-1.4.9.tar.gz :解压插件
#Cd nagios-plugins-1.4.g
#./configure --prefix=/usr/local/nagios :安装插件到/usr/local/nagios目录
#Make
#Make install :编译并安装
安装后,usr/local/nagios/libexec/目录里就是Nagios的监控插件
将apache的运行用户加到nagios组里面
Usremod -G nagios apache (这个apache也可能你自己自定义运行apache的用户,那么就改为你自定义的用户)
修改APACHE的配置文件,在httpd.conf配置文件末尾加上下面的内容。美的是增加nagios的目录,并且访问此目录需要进行身份验证。

#Setting for nagios
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/bin/htpasswd -c /usr/local/nagios/etc/htpasswd test : /usr/bin/是安装apache生成的目录,如果是编译安装的apache,请rpm -ql httpd 查看htpsswd文件在哪里。用户是test,执行完成后会要求输入用户的密码。
现在就可以通过WEB页面登录查看nagios了,





浏览下nagios的主页面





配置Nagios
Nagios的配置文件有一套规则,逻辑关系还有点复杂,现在说明一些对象的意思
Contact: 联系人,
Timeperiod:监控的时间段
Host:被监控的主机
Command:监控的命令
Service:监控的服务
将示例配置文件复制为真实的配置文件名
Cd /usr/local/nagios/etc
Cp cgi.cfg-sample cgi.cfg
Cp commands.cfg-sample commands.cfg
Cp localhost-sample localhost.cfg
Cp nagios.cfg-sample nagios.cfg
Cp resourcc.cfg-sample resource.cfg

配置nagios.cfg

Vi /usr/local/nagios/etc/nagios.cfg 注释前#号
Cfg_file=/usr/local/nagios/etc/contactgroups.cfg
Cfg_file=/usr/local/nagios/etc/contact.cfg
Cfg_file=/usr/local/nagios/etc/hostgroups.cfg
Cfg_file=/usr/local/nagios/etc/hosts.cfg
Cfg_file=/usr/local/nagios/etc/services.cfg
Cfg_file=/usr/local/nagios/etc/timeperiods.cfg
改check-external-commands=1 ,意思是允许在WEB里重启nagios

修改CGI文件

#vi cgi.cfg
把default_user_name=test,然后增加test在后面;




定义联系人

Vi contact.cfg
修改contact_name 值,改为联系的名字
下面填写email地址,把监控的系统发送的指定的邮箱

定义联系人组

如果不需要联系人组的话,那么nagios.cfg把Cfg_file=/usr/local/nagios/etc/contactgroups.cfg注释掉。免得产生逻辑关系错误。

定义被监控的主机

Vi hosts.cfg
Host_name :被监控主机的名称
Address :被监控主机的IP地址
Check_command :监控的命令,命令在commands.cfg里面

创建主机组

Vi hostgroups.cfg
按照文件说明设置

定义监控的项目

Vi services.cfg
定义要监控主机的服务,最重要的配置文件了,要监控的主机服务都在这里定义。
vi services.cfg //定义监控的服务

#service definition

###############################################

# Wangjing IDC servers service for host-live #

###############################################

define service{

host_name nagios-server //要监控的主机, 必须是hosts.cfg 中定义的

service_description check-host-alive //定义的是监控这个主机是不是存活

//给监控项目起个名字,任意起都可以,如check ftp

check_command check-host-alive //所用的命令,是commands.cfg中定义的

//所用的命令,必须是commands.cfg中定义的

check_period 24x7 //监控的时间段,是timeperiods.cfg中定义的

max_check_attempts 5

normal_check_interval 3

retry_check_interval 2

contact_groups sagroup //联系人组, contactgroups.cfg中定义的

notification_interval 10

notification_period 24x7 //通知的时间段, ,是timeperiods.cfg中定义的

notification_options w,u,c,r //在监控的结果是wucr时通知联系人,具体含义看前文.

}

define service {

host_name mail12.supertalent.com

service_description check_tcp 80

check_period 24x7

max_check_attempts 4

normal_check_interval 3

retry_check_interval 2

contact_groups sagroup

notification_interval 10

notification_period 24x7

notification_options w,u,c,r

check_command check_tcp!80 //检查tcp 80端口服务是否正常

}

检查Nagios的配置

#/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
如果total warnings: 0 total errors:0 就可以启动nagios,如果有报错的按照输出的信息修改后在运行
运行
#/usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg

要充分了解可监控的项目,可查看/usr/local/nagios/libexec里面的文件。

本文出自 “Mr.Jared Luo” 博客,请务必保留此出处http://jianwen.blog.51cto.com/2519004/675093
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: