Linux|系统管理|WEB开发

关注Linux,系统管理,WEB开发以及开源世界

Nagios配置简介

| Comments

Nagios是一个开源的,企业级系统监控系统,可以监控主机状态,大量知名服务状态,以及网络状态。对于不在默认模板范围之内的服务,还可以自己写插件来完成,稍微做一些修改,就可以充当HA的功能了。

我的这次测试是在ubuntu 8.10下完成的,步骤如下:

  1. 下载nagios程序,nagios已经在ubuntu仓库里了,只需要apt-get nagios3*就好了。
  2. /etc/nagios3/apache2.conf文件拷贝一份到/etc/apache2/sites-available下,假设取名为nagios3,然后链接到/etc/apache2/sites-enabled/下(记得完成这个步骤是site-enable的工具来做的,但是找不到了a2ensite
  3. /etc/nagios3/下创建一个htpasswd类型文件 htpasswd -c htpasswd.users mlsx
  4. 重启apache,访问http://localhost/nagios3/,看看是不是弹出一个认证对话框,填写步骤3)输入的账号以及密码,顺利的话,你应该可以看到nagios的画面,默认的情况下,可以看到本机监控信息,包括网络,磁盘空间状态等,同时还可以看到网关的一个网络状态。
  5. 添加我们需要监控的主机,这里我们采用nagios3自带的默认,现在我们添加两台机器,都监控sshd服务和httpd服务。 创建/etc/nagios3/conf.d/custom.cfg文件,内容如下:

    #定义要监控的主机
    define host{
            use                     generic-host   ;使用的模板,见generic-host_nagios2.cfg
            host_name               dc5sp2 ;主机的名字
            alias                   dc5sp2  ;主机别名
            address                 192.168.122.2 ;主机IP地址
            }
    
    define host{
            use                     generic-host
            host_name               axs3
            alias                   Asianux 3.0
            address                 192.168.122.3
            }
    
    #定义我们要监控的服务
    define service{
        use    generic-service ;监控使用的模板,见generic-service_nagios2.cfg
        hostgroup_name    all   ;这个服务针对哪些机器有效,这里是利用了 hostgroups_nagios2.cfg \
                                ;里定义的主机组,你也可以直接列举主机名,用逗号隔开,比如dc5sp2,axs3
        check_command check_host_alive  ;定义监控的服务,这里是监控主机的活动状态(down or up)
    
    }
    define service{
        use              generic-service
        hostgroup_name    all
        service_description   ssh service
        heck_command         check_ssh  ;监控ssh服务的状态,如果端口默认的22,那就加上!port
    
       }
    
    define service{
       use              generic-service
       hostgroup_name    all
       service_description     http server
       check_command           check_http ;监控http服务的状态,
       }
    
  6. 刷新浏览器,现在你应该可以看到主机名为dc5sp2和axs3的状态了,下面是我的一个截图 从这个图片可以看出axs3这台机器没有开机或者网络出现了故障,反正是找不到了,而dc5sp2内,sshd服务是好的,但是httpd服务不正常。

  7. 以上其实只是一个非常简单的配置,nagios的手册上详细描述了各种监控的配置情况,我们可以看看/usr/lib/nagios/plugins目录下看看,就知道它可以监控多少种类型的服务了,我这里列举一下:

    check_apt       check_http          check_nntp      check_smtp
    check_bgpstate  check_icmp          check_nntps     check_snmp
    check_breeze    check_ide_smart     check_nt        check_spop
    check_by_ssh    check_ifoperstatus  check_ntp       check_ssh
    check_clamd     check_ifstatus      check_ntp_peer  check_ssmtp
    check_cluster   check_imap          check_ntp_time  check_swap
    check_dhcp      check_ircd          check_nwstat    check_tcp
    check_dig       check_jabber        check_oracle    check_time
    check_disk      check_ldap          check_overcr    check_udp
    check_disk_smb  check_ldaps         check_pgsql     check_ups
    check_dns       check_load          check_ping      check_users
    check_dummy     check_log           check_pop       check_wave
    check_file_age  check_mailq         check_procs     negate
    check_flexlm    check_mrtg          check_radius    urlize
    check_fping     check_mrtgtraf      check_real      utils.pm
    check_ftp       check_mysql         check_rpc       utils.sh
    check_game      check_mysql_query   check_sensors
    check_hpjd      check_nagios        check_simap
    

Comments