Chinaunix首页 | 论坛 | 博客
  • 博客访问: 292166
  • 博文数量: 109
  • 博客积分: 5814
  • 博客等级: 大校
  • 技术积分: 1440
  • 用 户 组: 普通用户
  • 注册时间: 2007-12-26 10:17
文章分类

全部博文(109)

文章存档

2010年(9)

2009年(36)

2008年(64)

我的朋友

分类: LINUX

2008-03-18 19:13:45

本文主要部分转载了这位的空间

bonycamel的无聊空间

人生忧患识字始

同时得到了itnms群的兄弟的支持群里的某位好心兄弟给我传了份资料


以上是官方的文档,非常简明,清晰。
一)
第一部分关于创建用户,是容易被人忽略的,但是很重要,如果这里没有配置好,在最后看web端的时候就会出问题。
Create a new nagcmd group for allowing external commands to be submitted through the web interface. Add both the nagios user and the apache user to the group.

/usr/sbin/useradd nagios

/usr/sbin/groupadd nagcmd
/usr/sbin/usermod -G nagcmd nagios
/usr/sbin/usermod -G nagcmd apapche(这里是apache user,未必是这个,可以去apache目录察看)
二)
接着是下载必要的安装包。
wget
wget
获得图库文件:
http://dl.sf.net/nagios/imagepak-base.tar.gz

Compile and Install Nagios到处有文章,不用赘述。
三)

提示不要用yum 安装httpd 因为会启用suexec 这样nagios的配置必须在主页目录里所以可以手动安装,如果是bsd的话ports里可以不启用suexec
和apache的结合,让我费了一番功夫。

我这台服务器上只有lighttpd,没有apache。nagios看起来是支持lighttpd的,但是有些配置非常复杂,或者说,还没有可用的文档,所以虽然看起来能访问,我也不建议使用lighttpd。
我还是安装了apache,更改了端口。
官方说明的make install-webconf,因为目录不同,没法使用。其实他做的事情就是将以下的配置文件写入httpd.conf。所以如果您也不能运行,可以手动配置。

在apache的配置文件httpd.conf中追加 (注意,要有image这段,不然nagios不能显示图片,这三段顺序好象不能变,不然启动nagios的时候会提示错误)
Alias /nagios/cgi-bin/images/ "/usr/local/nagios/share/images/"

    AllowOverride None
    Options None
    Order allow,deny
    Allow from all
    AuthName "Nagios Access"
    AuthType Basic
    AuthUserFile /usr/local/nagios/etc/.htpasswd #-----此处的文件一定要存在,以用户名/密码方式存在
    Require valid-user

ScriptAlias /nagios/cgi-bin/ "/usr/local/nagios/sbin/"

    AllowOverride None
    Options None
    Order allow,deny
    Allow from all
    AuthName "Nagios Access"
    AuthType Basic
    AuthUserFile /usr/local/nagios/etc/.htpasswd  #-----此处的文件一定要存在,以用户名/密码方式存在
    Require valid-user

Alias /nagios/ "/usr/local/nagios/share/"

    AllowOverride None
    Options None
    Order allow,deny
    Allow from all
    AuthName "Nagios Access"
    AuthType Basic
    AuthUserFile /usr/local/nagios/etc/.htpasswd  #-----此处的文件一定要存在,以用户名/密码方式存在
    Require valid-user

设置访问权限
在/usr/local/nagios/share目录下
[]#/usr/local/www/bin/htpasswd –c /usr/local/nagios/etc/.htpasswd nagios
这个apache目录根据安装目录的不同而不同,主要所以用.htpasswd这个命令生成用户名和密码

设置访问权限 1、在/usr/local/nagios/share目录下
     vi .htaccess
     AuthName "Nagios Access"
     AuthType Basic
     AuthUserFile /usr/local/nagios/etc/.htpasswd
     require valid-user
     2、在/usr/local/nagios/sbin目录下
     vi .htpasswd
     AuthName "Nagios Access"
     AuthType Basic
     AuthUserFile /usr/local/nagios/etc/.htpasswd
     require valid-user
四)配置nagios
这个最新的版本和原来不太一样,已经不需要做什么了,唯一要做的是修改cgi.cfg  改use_authentication=1为use_authentication=0,即不用验证.不然有一些页面不会显示。

然后检查配置文件是否出错
/usr/local/nagios/bin/nagios –v /usr/local/nagios/etc/nagios.cfg
出现Total Warnings: 0
  Total Errors:  0
为正常
出错的话,就是.cfg文件有问题 根据错误提示 一个个修正
五)启动后台进程
/usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg
/usr/local/etc/rc.d/nagios start
默认的配置应该是没有问题的,建议好好学习一下nagios的具体概念和语法。
要注意的是,每次更改httpd.conf都需要重启apache,然后/usr/local/etc/rc.d/nagios restart,再去访问

配置在cgi.cfg文件中添加 hosts.cfg services.cfg 和 hostgroups.cfg文件的路径

可以看里面如何添加的添加管理主机

hosts.cfg

define host{
#       use                     mail.jluzh.com
        host_name               extmail
        alias                   email server
        address                 172.16.16.44
        contact_groups          sagroup
        check_command           check-host-alive
        max_check_attempts      5
        notification_interval     10
        notification_period             24x7
        notification_options            d,u,r
        }

services.cfg

define service {
        host_name               extmail
        service_description     check-host-alive
        check_period            24x7
        max_check_attempts      4
        normal_check_interval   3
        retry_check_interval    2
        contact_groups          sagroup
        hostgroup               sa-servers
        notification_interval   10
        notification_period     24x7
        notification_options    w,u,c,r
        check_command           check-host-alive
        }
define service {
        host_name               extmail
        service_description     check_smtp
        check_period            24x7
        max_check_attempts      4
        normal_check_interval   3
        retry_check_interval    2
        contact_groups          sagroup
        hostgroup               sa-servers
        notification_interval   10
        notification_period     24x7
        notification_options    w,u,c,r
        check_command           check_smtp
        }
hostgroup。cfg

define hostgroup {
        hostgroup_name  sa-servers
        alias           linux server
        members         extmail
        }

contacts.cfg
define contact{
        contact_name            crastyl
        alias                   system administrator
        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-service-by-email
        host_notification_commands      notify-host-by-email
        email                          

        }

define contactgroup{
        contactgroup_name       sagroup
        alias                   Nagios Administrators
        members                 crastyl
        }

可以用/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios 来检测错误根据错误提示来修改!!

看了一下nagios的手册,可以监控很多东西,如果要精通,呵呵得好好研究3-5个月
阅读(759) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~