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

Nagios系统监控软件的安装设置(1) 推荐

2012-09-03 11:15 495 查看
Nagios是一款开源的免费监控软件,能很好的监控Windows、Linux和Unix的主机状态,交换机、路由器等网络设备等。相信很多朋友都有用过这个软件,下面把我的安装使用过程中拿出来和大家分享一下,有不足之处希望大家指正。
安装环境: Redhat 5.5 x86_64bit
一、主监控机系统的安装

[/b]
1[/b]、建目录用户与授权:[/b]
[root@localhost ]# groupadd nagios
[root@localhost ]# useradd -g nagios[/b] nagios
[root@localhost ]# mkdir /usr/local/nagios
[root@localhost ]# chown nagios:nagios /usr/local/nagios

2[/b]、解压与安装[/b]:[/b](下载地址:http://sourceforge.net/projects/nagios/files/)[/b]
[root@localhost ]# tar -zxvf nagios-3.2.3.tar.gz
[root@localhost ]# cd nagios-3.2.3
[root@localhost ]# ./configure
[root@localhost ]# make all[/b]
[root@localhost ]# make install
[root@localhost ]# make install-init
[root@localhost ]# make install-commandmode
[root@localhost ]# make install-config

3[/b]、安装相关插件[/b]:[/b](下载地址:http://www.nagios.org/download/plugins/)[/b]
[root@localhost ]# tar -zxvf nagios-plugins[/b]-1.4.15.tar.gz
[root@localhost ]# cd nagios-plugins-1.4.15
[root@localhost ]# ./configure
[root@localhost ]# make && make install
[root@localhost ]# ls /usr/local/nagios/libexec/ (查看有无安装成功[/b],成功会显示组件包)
[/b]
4[/b]、安装apache发布器[/b](如果之前系统未安装httpd组件的话,要新装一下相关的rpm包):
[root@localhost ]# rpm -ivh apr-1.2.7-11.x86_64.rpm
[root@localhost ]# rpm -ivh postgresql-libs-8.1.11-1.el5_1.1.x86_64.rpm
[root@localhost ]# rpm -ivh apr-util-1.2.7-7.el5.x86_64.rpm
[root@localhost ]# rpm -ivh httpd-2.2.3-22.el5.x86_64.rpm
[root@localhost ]# rpm -ivh httpd-manual-2.2.3-22.el5.x86_64.rpm
([/b]注意这上面的rpm包要按照顺序来安装)[/b]

5[/b]、配置发布器httpd.conf的参数:[/b]
[root@localhost ]# vim /etc/httpd/conf/httpd.conf[/b]
(在文件内容的最底下添加[/b])
ServerName localhost:80
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>


6[/b]、添加nagios的登录用户[/b](如nagiosadmin)
[root@localhost ]# htpasswd[/b] -c /usr/local/nagios/etc/htpasswd.users[/b] nagiosadmin[/b]
[root@localhost ]# cat[/b] /usr/local/nagios/etc/htpasswd.users[/b] (说明:查看有无添加成功[/b])

7[/b]、添加启动nagios服务:[/b]
[root@localhost ]# chkconfig --add nagios
[root@localhost ]# chkconfig nagios on
[root@localhost ]# service nagios start[/b]

8[/b]、启动http发布服务:[/b]
[root@localhost ]# service httpd start[/b]
[root@localhost ]# chkconfig httpd on

9[/b]、登录页面:[/b]
(1) http://IP地址/nagios[/b] (2) 输入登录用户名和密码
(3) 进入管理平台

注意:[/b] 如果输入用户名和密码成功登录以后,页面显示“无权访问网页[/b]”,这是因为没有安装PHP的套件,nagios的网页需要php来支持。解决办法如下:
(1) 确保linux主机或服务器能够上互联网[/b]。
(2) 执行下面的安装命令:
[root@localhost ]# yum install php[/b] (说明:yum命令会先对比本机缺少的php包,然后自动从互联网上寻找,找到以后会列出来,提示你是否下载安装,这时候再点击“yes[/b]”下载过来自动安装。)

二、主监控机系统的参数配置[/b]
1[/b]、主配置文件:nagios.cfg[/b]
[root@localhost ]# cd /usr/local/nagios/etc
[root@localhost ]# vim nagios.cfg[/b]
(主要配置参数说明)
cfg_file=/usr/local/nagios/etc/objects/commands.cfg    #监控命令配置文件
cfg_file=/usr/local/nagios/etc/objects/contacts.cfg    #联系人配置文件路径
cfg_file=/usr/local/nagios/etc/objects/timeperiods.cfg #监视时段配置文件路径
cfg_file=/usr/local/nagios/etc/objects/templates.cfg   #监控服务报警配置文件
cfg_file=/usr/local/nagios/etc/objects/localhost.cfg   #监控本机服务配置文件
cfg_file=/usr/local/nagios/etc/objects/windows.cfg     # 监控windows机器列表的配置文件
cfg_file=/usr/local/nagios/etc/objects/linux.cfg    #新增监控linux机器列表的配置文件
check_external_commands=1    #允许在web界面下执行重启nagios、停止主机/服务检查等操作,0表不启用
command_check_interval=5     #监控正常检测周期间隔时间,可以以设成10秒(10s),默认值是-1(为尽可能的快速轮询);注意这是检测周期,不是报警周期,检测周期设置一定要比服务的告警周期要小
interval_length=60           #间隔长度,默认值为60,代表基数是60秒,表示周期是1分钟
service_check_timeout=60     #服务检查时间间隔
host_check_timeout=30        #主机检查时间间隔
event_handler_timeout=30
notification_timeout=10
ocsp_timeout=5
perfdata_timeout=5

2[/b]、监控(哪些)机器的配置文件:linux.cfg[/b]
[root@localhost ]# cd /usr/local/nagios/etc/objects
[root@localhost ]# vim linux.cfg[/b] [/b]
define host{      ;要监控的主机定义
use                linux-server      ;被监控主机用途
host_name          web_host          ;被监控主机名称
alias              It’s http server  ;被监控主机别名
address            10.0.0.2          ;被监控主机IP地址
}

define hostgroup{      ;要监控的组定义
hostgroup_name   remote-linuxt-server   ;被监控组名称
alias            linuxserver       ;被监控组别名
members          web_host  ;被监控组成员主机名有哪些,这里不能用别名,多个成员之间用,逗号隔开
}

define service{  ;要监控的服务定义
use                     local-service         ;服务模型,可自定义
hostname                web_host              ;要加入此服务的主机名称,要与上面一致。
hostgroup_name          remote-linux-server   ;要加入此服务的组名称,要与上面一致
service_description     HTTP_port             ;要监控的项目名称,可自己起
check_command           check_tcp!80!0.1!0.3  ;检测命令,配置文件在commands.cfg
notifications_enabled   0                     ;是否通知报告
notification_interval   10   ;发告警的时间间隔10分钟,默认单位是分钟,这行不设的话默认是1小时
}

(注意:这边的“notification_interval”报警时间间隔要与[/b]templates.cfg[/b]文件中“normal_check_interval”的时间相对应,[/b]不能小于那边设置的时间,不然会报错[/b]。normal_check_interval默认是10分钟发送报警邮件一次)[/b][/b]
(说明:定义service服务的时候,要加入此服务的主机名称和组名称,可只设置一个,不必同时设置[/b]。[/b]
如果服务是多台主机共用的(如检测内存),可设置一个组名称[/b]。[/b]
如果服务只是某一台或几台主机用的,设置一个主机名称就可以了[/b]。)[/b][/b]
[/b]
3[/b]、命令参数配置文件:command.cfg[/b]
[root@localhost ]# cd /usr/local/nagios/etc/objects
[root@localhost ]# vim command.cfg[/b]

define command{
command_name    check_local_disk
command_line    $USER1$/check_disk -w $ARG1$ -c $ARG2$ -p $ARG3$
}

说明[/b]:这里的$USER1$,$ARG1$, $ARG2$, $ARG3$是什么意思呢?
(1)$USER1$ 是指插件路径/usr/local/nagios/libexec
(2)-w $ARG1$的参数指定磁盘剩了多少是警告状态,
(3)-c $ARG2$的参数指定剩多少是严重状态,
(4)-p $ARG3$用来指定路径目录.

在loccalhost.cfg调用命令的时候可写成 “ check_command [/b]check_local_disk[/b]!10%[/b]!5%[/b]!/[/b]”[/b]
在命令名后面用![/b]分隔出了3个参数,10%是$ARG1$的值,5%是$ARG2$的值,/ 是$ARG3$的值,

4[/b]、报警联系人参数配置文件:contacts.cfg[/b]
[root@localhost ]# cd /usr/local/nagios/etc/object
[root@localhost ]# vim contacts.cfg[/b]
define contact{        ;联系人
contact_name       nagiosadmin
use                generic-contact
alias              Nagios Admin
email              nagios@localhost.com      ;接收报警的邮件地址
}

define contactgroup{     ;联系人组
contactgroup_name     admins                  ;联系人组名
alias                 Nagios Administrators   ;组别名
members               nagiosadmin             ;组成员名单
}


5[/b]、配置完参数以后一定要重新检测是否正确[/b]
[/b]
[root@localhost ]# /usr/local/nagios/bin/nagios[/b] -v[/b] /usr/local/nagios/etc/nagios.cfg[/b]
( -v [/b]检查配置参数 )[/b]
[root@localhost ]# /usr/local/nagios/bin/nagios[/b] -d[/b] /usr/local/nagios/etc/nagios.cfg[/b]
( -d [/b]后台重启服务进程 )[/b]
6[/b]、命令和插件监控[/b]
[root@localhost ]# cd /usr/local/nagios/libexec[/b]
[root@localhost ]# ./check_disk -h [/b](查看磁盘情况的命令使用方法,[/b]提示:这边所有命令的使用方法都可以通过”命令名[/b] –h[/b]”来查看)

命令使用:check_disk [/b]-w[/b] 10% [/b]-c[/b] 5% / [/b]此命令的含义是检查/[/b]分区[/b]的使用情况,若剩余10%以下,为警告状态(w[/b]arning);5%以下,为严重状态(c[/b]ritical)。命令调用时简写成[/b]check_disk!10%!5%!/[/b])[/b]
[/b]
([/b]小结:[/b]localhost.cfg[/b]定义监控项目用某个命令,这个命令必须在[/b]commands.cfg[/b]中定义,定义这个命令时使用了[/b]libexec[/b]下的插件[/b])[/b][/b]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  nagios 系统监控