centos 5.6 安装nagios(一)
2011-09-23
Nagios是一个监视系统运行状态和网络信息的监视系统。Nagios能监视所指定的本地或远程主机以及服务,同时提供异常通知功能等
Nagios可运行在Linux/Unix平台之上,同时提供一个可选的基于浏览器的WEB界面以方便系统管理人员查看网络状态,各种系统问题,以及日志等等。
监控原理:
监控方式有两种,一种是利用ssh方式,执行nagios的check_by_ssh来执行被监控服务器上的插件程序,从而获得相关信息,但这种方式,当运行于监控上百台服务器上时,由于ssh连接的建立和中断,会对nagios服务器产生高负载现象,所以不建议使用,他的优点在安全性高与采用NRPE插件方式;另一种方式就是在被监控linux/unix服务器安装NRPE监控引擎,nagios服务器会通过check_nrpe程序,利用ssh通讯模式调用nrpe获取相关数据,可以使用nagios很多监控插件,方便查看被监控者状态变化,还可拓展应用监控其他开放服务。
监控内容:
Linux/unix服务器内部:
·内存使用状况
·cpu负载
·磁盘使用状况
·运行进程
·登录用户
服务器内部监控
外部监控内容:
·开放应用服务
服务器外部监控
网卡设置:
修改对应网卡的IP地址的配置文件
# vi /etc/sysconfig/network-scripts/ifcfg-eth0
修改以下内容
DEVICE=eth0 #描述网卡对应的设备别名,例如ifcfg-eth0的文件中它为eth0
BOOTPROTO=static #设置网卡获得ip地址的方式,可能的选项为static,dhcp或bootp,分别对应静态指定的 ip地址,通过dhcp协议获得的ip地址,通过bootp协议获得的ip地址
BROADCAST=192.168.0.255 #对应的子网广播地址
HWADDR=00:07:E9:05:E8:B4 #对应的网卡物理地址
IPADDR=12.168.1.2 #如果设置网卡获得 ip地址的方式为静态指定,此字段就指定了网卡对应的ip地址
IPV6INIT=no
IPV6_AUTOCONF=no
NETMASK=255.255.255.0 #网卡对应的网络掩码
NETWORK=192.168.1.0 #网卡对应的网络地址
ONBOOT=yes #系统启动时是否设置此网络接口,设置为yes时,系统启动时激活此设备
二、CentOS 修改网关
修改对应网卡的网关的配置文件
# vi /etc/sysconfig/network
修改以下内容
NETWORKING=yes(表示系统是否使用网络,一般设置为yes。如果设为no,则不能使用网络,而且很多系统服务程序将无法启动)
HOSTNAME=centos(设置本机的主机名,这里设置的主机名要和/etc/hosts中设置的主机名对应)
GATEWAY=192.168.1.1(设置本机连接的网关的IP地址。例如,网关为10.0.0.2)
三、CentOS 修改DNS
修改对应网卡的DNS的配置文件
# vi /etc/resolv.conf
修改以下内容
nameserver 8.8.8.8 #google域名服务器
nameserver 8.8.4.4 #google域名服务器
或者ehco -e "nameserver 202.101.172.35/nnameserver 202.101.172.47" > /etc/resolv.conf
四、重新启动网络配置
# service network restart
或
# /etc/init.d/network restart
修改 IP 地址
即时生效:
# ifconfig eth0 192.168.0.2 netmask 255.255.255.0
启动生效:
修改 /etc/sysconfig/network-scripts/ifcfg-eth0
修改网关 Default Gateway
即时生效:
# route add default gw 192.168.0.1 dev eth0
启动生效:
修改 /etc/sysconfig/network
修改 DNS
修改/etc/resolv.conf
修改后可即时生效,启动同样有效
修改 host name
即时生效:
# hostname centos1
启动生效:
修改/etc/sysconfig/network
启动apache,service httpd start
设置随系统启动 chkconfig httpd on
一、基本平台的安装
1、nagios用户
adduser nagios
mkdir /usr/local/nagios
chown nagios.nagios /usr/local/nagios
2、 nagios 组
创建一个用户组名为nagcmd用于从Web接口执行外部命令。将nagios用户和apache用户都加到这个组中。
/usr/sbin/groupadd nagcmd
/usr/sbin/usermod -G nagcmd nagios
/usr/sbin/usermod -G nagcmd apache
3、下载nagios需要的gcc组件
yum gcc install
4、nagios编译
wget http://jaist.dl.sourceforge.net/sourceforge/nagios/nagios-2.9.tar.gz (这个地址有可能问题?我是直接通过火狐浏览器在nagios 下载的)
tar xzf nagios-2.9.tar.gz
cd nagios-2.9
./configure --prefix=/usr/local/nagios --with-nagios-user=nagios --with-nagios-group=nagios --with-command-group=nagcmd
#变量prefix 为安装目录,例如/usr/local/nagios
#变量someuser 为nagios的用户,例如nagios
#变量somegruop 为nagios属于的组,例如nagios
#变量cmdgroup 为nagios命令行属组,例如nagcmd
5、 nagios安装
make all
make install
make install-config
make install-init
6、nagios检查
ls /usr/local/nagios/
===================
bin etc sbin share var #看到这5个目录就ok了
7、 nagios生成http用户验证文件,用户名为nagios
/usr/bin/htpasswd -c /usr/local/nagios/etc/htpasswd.users nagios //设置密码,安装lamp使用/opt/lamp/bin/htpasswd -c /usr/local/nagios/etc/htpasswd.users nagios
8、将nagios的信息加到apache中,打开vi /etc/httpd/conf/httpd.conf(这个是我的apache安装配置文件的路径,cent OS 5.6系统已经默认安装 )文件,在文件最后添加如下代码:
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.users
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.users
Require valid-user
</Directory>
9、 登录nagios,启动apache
用户名和密码就是原先设置过的
落英缤纷 2011.09.23
centos 5.6 安装nagios(二)
二、 nagios插件安装(客户端使用)
Nagios的插件是真正工作在检测服务和主机工作的第一线的真正英雄,没有他,nagios系统只是一个空壳而已.因此,在安装了nagios平台之后的第一件事情就是将插件安装上去。
(1)、 编译并安装Nagios插件, 展开Nagios插件的源程序包
wget http://jaist.dl.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.9.tar.gz
tar xzf nagios-plugins-1.4.9.tar.gz
cd nagios-plugins-1.4.9
编译并安装插件: ./configure --with-nagios-user=nagios --with-nagios-group=nagios
make
make install
ls /usr/local/nagios/libexec #检查
如果安装成功的话,你可以看到在这个目录下有很多可执行程序或者脚本,名称类似:check_icmp
cd /usr/local/nagios/libexec/
经过上述4个步骤,nagios的脚本就宣告安装成功,但是如何让这些脚本工作起来呢?nagios并没有提供每个监控程序的脚本的说明文档,想了解这些脚本如何工作的话,需要通过--h参数,显示其使用方法和参数。例如:./check_icmp --h
根据提示的方法,可以在命令行中尝试使用一下:
./check_icmp -H http://www.google.com/
OK - http://www.google.com/ rta 37.024ms, lost 0%|rta=37.024ms;200.000;500.000;0; pl=0%;40;80;;
可以看到状态值“OK”,以及一些详细的数据信息。 (不知道为什么,我的结果是不通)
三、 启动nagios服务
Nagios的基础平台和插件都安装完成之后,下一步就是启动nagios的服务了。不要着急,在启动之前,我们还要做点准备工作。
1、准备各种配置文件。还记得在基础系统安装的时候,敲过这样一个命令吧:make install-config 。这个命令的作用是生成配置文件的样式文件。你可以在 nagios/etc/ 目录下找到这些文件,其名字类似commands.cfg-sample 。我们首先要做的就是将这些文件变成我们初始的配置文件。
cp nagios.cfg-sample nagios.cfg
cp commands.cfg-sample commands.cfg
cp cgi.cfg-sample cgi.cfg
cp localhost.cfg-sample localhost.cfg
总之,就是把那些sample去掉,让它们真正的上岗。最后,我们修改cgi.cfg文件:
use_authentication=1 (默认)
default_user_name=nagios
authorized_for_system_information=nagiosadmin,nagios
authorized_for_configuration_information=nagiosadmin,nagios
authorized_for_system_commands=nagiosadmin,nagios
authorized_for_all_services=nagiosadmin,nagios
authorized_for_all_hosts=nagiosadmin,nagios
authorized_for_all_service_commands=nagiosadmin,nagios
authorized_for_all_host_commands=nagiosadmin,nagios
我是用nagios这个名字做为默认用户的,所以在上述几个配置项中,我都在最后添加了这个用户。
ok,做了上述几个简单的操作之后,我们就可以检测一下配置文件的正确性了,这个操作是很重要且必要的,在以后对nagios做配置修改或者添加监控对象的时候,也都要记得重启nagios之前要做这个操作:
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
如果没有问题的话,会有如下显示:
Total Warnings: 0
Total Errors: 0
如果存在问题,会提示你问题,出在什么地方,修复错误就可以了。如果不清楚如何修改,请参详我之后关于各个配置文件的说明文档。
终于可以启动了吧,命令如下:
/etc/rc.d/init.d/nagios start
注意:要把apache随系统启动,例如在/etc/rc.d/rc.local中加入/opt/lampp/lampp start
如果正常启动,那么就可以去验收我们的成果了,打开浏览器,在地址栏中输入
落英缤纷 2011.09.24