nagios监控

                2015-11-20             nagios监控服务搭建


         服务器端要实现监控功能必须安装nagios主程序和nagiosplugins插件程序,如果还想通过nrpe插件实现监控也要安装nrpe插件,windows端安装的是 NSClient++插件

         nagios安装完成以后在/usr/local/nagios/下生成的目录有

         bin :主程序目录 

         libexec:插件程序目录 

         etc  :主配置文件目录

         sbin :cgi程序目录

         share :网页文档目录

         var  :日志与进程号文件目录

         /etc下的配置文件有

         nagios.cfg :主配置文件

         nrpe.cfg :远程监控配置文件

         cgi.cfg  :cgi程序配置文件

         htpasswd.users :nagios用户名登录密码文件

         objects  :子目录里面是模板文件

         resource.cfg:变量定义配置文件也成为宏

        

         模板文件位于/object下

         commands.cfg :定义命令文件

         contacts.cfg :定义联系人,联系组报警信息接受者邮箱或者手机

         localhost.cfg :监控本机的配置文件模板

         printer.cfg :监控打印机配置文件模板

         switch.cfg :监控交换机配置文件模板

         templates.cfg :对象定义参考模板

         timeperiods.cfg :时间定义周期,定义报警时间周期

         windows.cfg :监控windows配置文件模板

         

         nagios安装服务器端:

         环境准备:


         #yum -y install  httpd php php-devel gd gd-devel openssl openssl-devel gcc gcc-c++ glibc mysql-devel php-mysql glibc-commom xinetd

         #groupadd nagios                                                

         #useradd -g nagios nagios                                                  //创建nagios用户和组

         #usermod -G nagios apache                                                  //apache加入nagios组

         #tar zxf nagios-3.2.0.tar.gz -C /usr/local/

         #ls /usr/local/

         #cd /usr/local/nagios-3.2.0/

         #./configure --prefix=/usr/local/nagios --with-nagios-user=nsgios --with-nagios-group=nagios

         #make all

         #make install                                                              //安装主程序

         #make install-init                                                         //安装启动脚本/etc/init.d/nagios

         #make install-config                                                       //安装配置文件模板

         #make install-webconf                                                      //安装web配置文件并添加到/etc/httpd/conf.d/bagios.conf

         #htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin              //验证登陆时读取的文件htpasswd.users文件和密码 存放于/usr/local/nagios/etc/

         #vim /etc/httpd/conf.d/nagios.conf 

                       

            # SAMPLE CONFIG SNIPPETS FOR APACHE WEB SERVER

            # Last Modified: 11-26-2005

            #

            # This file contains examples of entries that need

            # to be incorporated into your Apache web server

            # configuration file.  Customize the paths, etc. as

            # needed to fit your system.


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


            <Directory "/usr/local/nagios/sbin">

            #  SSLRequireSSL

               Options ExecCGI

               AllowOverride None

               Order allow,deny

               Allow from all

            #  Order deny,allow

            #  Deny from all

            #  Allow from 127.0.0.1

               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">

           #  SSLRequireSSL

              Options None

              AllowOverride None

              Order allow,deny

              Allow from all

           #  Order deny,allow

           #  Deny from all

           #  Allow from 127.0.0.1

              AuthName "Nagios Access"

              AuthType Basic

              AuthUserFile /usr/local/nagios/etc/htpasswd.users

              Require valid-user

           </Directory>


         #service  httpd start

         #netstat -anput 

         #tar zxf nagios-plugins-2.1.0.tar.gz

         #cd nagios-plugins-2.1.0

         #./configure --prefix=/usr/local/nagios --with-nagios-user=nagios --with-nagios-group=nagios

         #make

         #make install

         #vim /etc/httpd/conf.d/auth_mysql.conf                           //这里有报错,第6行注释掉才行

         #service nagios start                                            //启动nagios服务

         #chkconfig --add nagios

         #chkconfig nagios on

         #/usr/local/nagios/bin/nagios -v 10.10.0.251                     

         打开浏览器输入http://10.10.0.251/nagios                          //验证安装结果,是否能使用nagiosadmin用户登录http,                 

         到此监控服务器的基本监控程序安装完成

 

         实现监控windows服务器的配置

         监控windows端要在win端安装nsclient++插件

         双击.exe文件安装,安装中需要指定监控服务端ip地址,ip地址对话框新面的选项全部启用,并且启动nsclient++服务,使用命令提示符查看监控端口命令是

         c:>netstat - an

             tcp      0.0.0.0:5666

             tcp      0.0.0.0:12489

         能看到端口即可,被监控端安装完成,check_nt 与NSClient++通信的端口是12489,通过nrpe通信的端口是5666


         监控服务器端配置:

         windows.cfg是模板文件如果定义其他的win主机,可以复制此模板但是不能重名,我直接用的模板文件,但是如果重新定义cfg文件的话还需要修改主配置文件启用此cfg文件

         #vim windows.cfg                                 

         define host{

                use             windows-server  ; Inherit default values from a template

                host_name       winserver       ; The name we're giving to this host

                alias           My Windows Server       ; A longer name associated with the host

                address         10.10.0.16      ; IP address of the host

            }                                                                        //启用windows配置文件并修改host-name  alias   和address:被监控主机ip

    

         #/usr/local/nagios/libexec/check_nt -H 10.10.0.16 -p 12489 -v UPTIME        //测试与win主机的通信

          System Uptime - 43 day(s) 0 hour(s) 24 minute(s) |uptime=61944

         #vim nagios.cfg

         # Definitions for monitoring a Windows machine            

           cfg_file=/usr/local/nagios/etc/objects/windows.cfg                        //启用windows.cfg文件

         # /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg          //检测主配置文件语法

         #service nagios restart


         输入http://10.10.0.251/nagios         打开server项,就能看到winserver的监控信息


   监控linux服务器:


         被监控linux端安装配置

         #useradd nagios

         #tar zxf nagios-plugins-2.1.0.tar.gz -C /usr/local/

         #cd /usr/local/nagios-plugins-2.1.0/

         #./configure --with-nagios-user=nagios --with-nagios-group=nagios

         #make all

         #make install

         #tar zxf nrpe-2.12.tar.gz -C /usr/local

         #cd /usr/local/nrpe-2.12/

         #./configure --with-nagios-user=nagios --with-nagios-group=nagios --with-nrpe-user=nagios --with-nrpe-group=nagios --enable-ssl --enable-command-args

         #make all

         #make install-plugin

         #make install-daemon

         #make install-daemon-config

         #cp nrpe.cfg nrpe.cfg.bak

         #vim nrpe.cfg

               allowed_hosts=监控服务器ip

               server_address=被监控机ip如果不改默认监听的是0.0.0.0

         #/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d                      //被监控端启动nrpe进程

         #netstat -anput |grep nrpe

         #echo "/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe,cfg -d" >> /etc/rc.local 

         #netstat -anput |grep nrpe

          tcp        0      0 0.0.0.0:5666                0.0.0.0:*                   LISTEN      11272/nrpe


         监控服务器端配置:

         因为已经安装好nagios和nagiosplugins,所以只要在安装nrpe就行

         #tar zxf nrpe-2.12.tar.gz -C /usr/local/

         #cd /usr/local/nrpe-2.12/

         #./configure --with-nrpe-user=nagios --with-nrpe-group=nagios --with-nagios-user=nagios --with-nagios-group=nagios --enable-ssl --enable-command-args

         #make all

         #make install-piugin

         #make install-plugin

         #make install-daemon

         #make install-daemon-config

         #cd /usr/local/nagios/libexec/

         #./check_nrpe -H 10.10.0.17                        //测试与linux主机的通信

           NRPE v2.12


         监控服务器端定义监控命令

         #vim commands.cfg

            define command{

                   command_name    check_nrpe

                   command_line    $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$

           

            define command{

                   command_name    check_mysql

                   command_line    $USER1$/check_mysql -H $HOSTADDRESS$ -u $ARG1$ -p $ARG2$


         定义主机

         #cp localhost.cfg linux01.cfg

         #vim linux01.cfg 

               define host{

                      use                     linux-service            ; Name of host template to use

                                                                       ; This host definition will inherit all variables that are defined

                                                                       ; in (or inherited by) the linux-server host template definition.

                      host_name               linux-0.17

                      alias                   linux01

                      address                 10.10.0.17

               }

         定义服务

               define service{

                      use                             generic-service         ; Name of service template to use

                      host_name                       linux-0.17

                      service_description             CHECK_LOAD

                      check_command                   check_nrpe!check_load

               }




            # Define a service to check the number of currently logged in

            # users on the local machine.  Warning if > 20 users, critical

            #  if > 50 users.


               define service{

                      use                             generic-service         ; Name of service template to use

                      host_name                       linux-0.17

                      service_description             CHECK_SDA1

                      check_command                   check_nrpe!check_sda1

               }



            # Define a service to check the number of currently running procs

            # on the local machine.  Warning if > 250 processes, critical if

            # > 400 users.


               define service{

                      use                             generic-service         ; Name of service template to use

                      host_name                       linux-0.17

                      service_description             CHECK_ZOMBIE_PROCS

                      check_command                   check_nrpe!check_zombie_procs

                }




               define service{

                      use                             generic-service         ; Name of service template to use

                      host_name                       linux-0.17

                      service_description             CHECK_TOTAL_PROCS

                      check_command                   check_nrpe!check_total_peocs

                }


               define service{

                      use                             generic-service         ; Name of service template to use

                      host_name                       linux-0.17

                      service_description             Web Server

                      check_command                   check_http

                }


               define service{

                      use                             generic-service         ; Name of service template to use

                      host_name                       linux-0.17

                      service_description             Mysql

                      check_command                   check_mysql!root!redhat         //root为用户名redhat为密码

                }   

            启用linux01.cfg文件

            #vim /usr/local/nagios/etc/nagios.cfg 


            # You can specify individual object config files as shown below:

            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/linux01.cfg

            cfg_file=/usr/local/nagios/etc/objects/windows.cfg

            # /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

            #service nagios restart

            输入http://10.10.0.251/nagios,验证配置结果         

   


你可能感兴趣的:(配置文件,nagios,远程监控)