Nagios

开始安装

安装nagios-3.2.1.tar.gz到/usr/local/src

到/usr/local/src/nagios-3.2.1/html/docs用过以下命令找到帮助文档firefox index.html

http://192.168.22.14/nagios/




During portions of the installation you'll need to have root access to your machine.

Make sure you've installed the following packages on your Fedora installation before continuing.

    * Apache
    * PHP
    * GCC compiler
    * GD development libraries
yum install httpd php

yum install gcc glibc glibc-common

yum install gd gd-devel

Create a new nagios user account and give it a password.

/usr/sbin/useradd -m nagios

passwd nagios

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/groupadd nagcmd

/usr/sbin/usermod -a -G nagcmd nagios

/usr/sbin/usermod -a -G nagcmd apache

tar xzf nagios-3.2.1.tar.gz

cd nagios-3.2.1

Run the Nagios configure script, passing the name of the group you created earlier like so:

./configure --with-command-group=nagcmd


Compile the Nagios source code.

make all

Install binaries, init script, sample config files and set permissions on the external command directory.

make install

make install-init

make install-config

make install-commandmode


Don't start Nagios yet - there's still more that needs to be done...

Install the Nagios web config file in the Apache conf.d directory.

make install-webconf

Create a nagiosadmin account for logging into the Nagios web interface. Remember the password you assign to this account - you'll need it later.

htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin


Restart Apache to make the new settings take effect.

service httpd restart

6) Compile and Install the Nagios Plugins

Extract the Nagios plugins source code tarball.

cd ~/downloads

tar xzf nagios-plugins-1.4.11.tar.gz

cd nagios-plugins-1.4.11

Compile and install the plugins.

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

make

make install

Add Nagios to the list of system services and have it automatically start when the system boots.

chkconfig --add nagios

chkconfig nagios on

Verify the sample Nagios configuration files.

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


If there are no errors, start Nagios.

service nagios start

监听本地服务

创建测试文件
cp  /usr/local/nagios/etc/objects/{localhost.cfg,192.168.22.6.cfg}

修改测试文件
vim /usr/local/nagios/etc/objects/192.168.22.6.cfg

注释这个hostgroup
#define hostgroup{
#        hostgroup_name  linux-servers ; The name of the hostgroup
#        alias           Linux Servers ; Long name of the group
#        members         localhost     ; Comma separated list of hosts that belong to this group
#        }


配置修改如下
define host{
        use                     linux-server    
        host_name               testserver
        alias                   host196
        address                 192.168.1.196
        }

#define hostgroup{
#        hostgroup_name  testserver ; The name of the hostgroup
#        alias           host; Long name of the group
#        members         localhost   ; Comma separated list of hosts that belong to this group
}
define service{
        use                             local-service
        host_name                       testserver
        service_description             PING
        check_command                   check_ping!100.0,20%!500.0,60%
        }

define service{
        use                             local-service  
    host_name                       testserver
        service_description             HTTP
        check_command                   check_http
#       notifications_enabled           0
        }

define service{
        use                             local-service
        host_name                       testserver
        service_description             NFS
        check_command                   check_tcp!2049
#       notifications_enabled           0
        }



保存后退出


vim /etc/init.d/nagios 编辑 功能为显示错误信息
189(行)                 $NagiosBin -v $NagiosCfgFile #> /dev/null 2>&1; (加个#号)
修改 vim /usr/local/nagios/etc/nagios.cfg
添加如下 :一般为36行 这行(cfg_file=/usr/local/nagios/etc/objects/localhost.cfg
)下面添加你刚才创建的.cfg文件
cfg_file=/usr/local/nagios/etc/objects/192.168.22.7.cfg

保存退出
service nagios restart
chkconfig nagios on
servic     httpd restart
chkconfig httpd on

firefox -b &  打开浏览器命令
然后输入 http://localhost/nagios
输入用户名 : nagiosadmin  依据自己配置输入用户名和密码 然后查看
密码            :  123

监听主机其他服务需要调用的脚本和配置的文件

ls /usr/local/nagios/libexec 查看是否用相关插件   #这里可以通过./chek_apt --help 查询到每个插件脚本使用的方法,然后设置监听的服务,需要知道各种服务使用的基本命令或者是传输协议。
[root@7 libexec]# ls
check_apt       check_ftp           check_mailq     check_ping     check_time
check_breeze    check_http          check_mrtg      check_pop      check_udp
check_by_ssh    check_icmp          check_mrtgtraf  check_procs    check_ups
check_clamd     check_ide_smart     check_nagios    check_real     check_users
check_cluster   check_ifoperstatus  check_nntp      check_rpc      check .....等等


如果有相关插件(如果没有就得自己去写或者下载) 在/usr/local/nagios/etc/objects/commands.cfg 最后一行定义命令
vim /usr/local/nagios/etc/objects/commands.cfg
最后一行定义命令
define command{
        command_name  check_nfs   定义命令调用的脚本检查nfs的端口是否打开来判断nfs服务是否开启
        command_line  $USER1$/check_tcp -H $HOSTADDRESS$ -p $ARG1$ -w $ARG2$ -c $ARG3$
}


编辑你要监控的主机配置文件 /usr/local/nagios/etc/objects/192.168.22.6.cfg
cp /usr/local/nagios/etc/objects/{localhost.cfg,192.168.22.6.cfg}
vim /usr/local/nagios/etc/objects/192.168.22.6.cfg 修改
# Define a host for the local machine
define host{
        use                     linux-server            ; Name of host template to use
                                                        ; in (or inherited by) the linux-server host template definition.
        host_name               lihaiyang.com
        alias                   lihaiyang
        address                 192.168.22.6
    .
    .
    .在最后添加一下刚刚定义的命令
define service{
        use                             local-service
        host_name                       lihaiyang.com
        check_command                   check_nfs!2049
        notifications_enabled           0
}

保存退出
service nagios restart 重启服务后查看
firefox -b & 开启浏览器

远程监控私有服务

原理

服务端
                                                  |check_disk     
nagios->check_nrpe插件----ssl---->nrpe|check_load
                                                         |check_user        

server端

安装nrpe
tar -zxvf nrpe-2.12.tar.gz -C /usr/local/src/
cd /usr/local/src/nrpe-2.12/
./configure && make all && make install
make install-plugin                      设置插件权限



ls /usr/local/nagios/libexec 查看是否用相关插件
[root@7 libexec]# ls
check_apt       check_ftp           check_mailq     check_overcr   check_tcp
check_breeze    check_http          check_mrtg      check_ping     check_time
check_by_ssh    check_icmp          check_mrtgtraf  check_pop      check_udp
check_clamd     check_ide_smart     check_nagios    check_procs    check_ups
check_cluster   check_ifoperstatus  check_nntp      check_real     check_users .....等等

[root@6 libexec]# ./check_nrpe  查看定义的参数和方法


[root@6 libexec]# head -30 /etc/services  查看相关服务端口
tcpmux          1/tcp                           # TCP port service multiplexer
tcpmux          1/udp                           # TCP port service multiplexer
rje             5/tcp                           # Remote Job Entry
rje             5/udp                           # Remote Job Entry
echo            7/tcp
echo            7/udp
discard         9/tcp           sink null
discard         9/udp           sink null
systat          11/tcp          users

定义nrpe
cd /usr/local/nagios/etc/objects
vim commands.cfg 在该文件最末行后定义check_nrpe插件的调用参数
define command{
command_name check_nrpe
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$ 此处 -c 为警告 请注意添加,如果没有就没有警告
}


cd /usr/local/nagios/etc/objects/
vim 192.168.1.100.cfg          配置文件
在最后添加如下两个service
define service{
    use             local-service ;
    host_name           ZHB-linux
    service_description Root Partition
    check_command       check_nrpe!check_root
}
定义调用命令及参数check_root 该参数会在客户端定义相对应的命令以达到通过该参数检测客户端硬盘使用率的信息

define service{
    use                 local-service ;模板templates.cfg
    host_name           ZHB-linux
    service_description Current Users
    check_command         check_nrpe!check_u
}
命令作用同上,server端同上


vim /usr/local/nagios/etc/nagios.cfg
在大约36行之后添加 你刚刚修改的要监控的配置文件
cfg_file=/usr/local/nagios/etc/objects/192.168.1.7.cfg




client端

安装nagios-plugins包
yum -y install openssl openssl-devel
tar -zxvf nagios-plugins-1.4.14.tar.gz -C /usr/local/src
useradd nagios     添加用户以及组
groupadd nagcmd
usermod -G nagcmd nagios
cd /usr/local/src/nagios-plugins-1.4.14
./configure && make && make install

安装nrpe
  tar -zxvf nrpe-2.12.tar.gz  -C /usr/local/src/
 cd /usr/local/src/nrpe-2.12/
./configure && make all && make install
make install-plugin
make install-daemon
make install-daemon-config
make install-xinetd    产生xinetd的配置文件nrpe

安装xinetd
yum -y install xinetd
设置nrpe及启动
在源文件/etc/xinet.d/nrpe文件里
vim /etc/xinetd.d/nrpe
service nrpe
{
        flags           = REUSE
        socket_type     = stream
        port            = 5666
        wait            = no
        user            = nagios
        group           = nagios
        server          = /usr/local/nagios/bin/nrpe
        server_args     = -c /usr/local/nagios/etc/nrpe.cfg --inetd
        log_on_failure  += USERID
        disable         = no
        only_from       = 127.0.0.1 192.168.22.7    
}
#注意 only_from     =127.0.0.1 后添加 192.168.1.1(服务端ip)

定义nrpe命令(check_root)
cd /usr/local/nagios/etc
vi nrpe.cfg
command[check_users]=/usr/local/nagios/libexec/check_users -w 5 -c 10 (默认已写好不用添加)
command[check_load]=/usr/local/nagios/libexec/check_load -w 15,10,5 -c 30,25,20 (默认已写好不用添加)
command[check_zombie_procs]=/usr/local/nagios/libexec/check_procs -w 5 -c 10 -s Z (默认已写好不用添加)
command[check_total_procs]=/usr/local/nagios/libexec/check_procs -w 150 -c 200 (默认已写好不用添加)
新添加如下一句
command[check_root]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/sda2(新加对应文件)
                                                                        剩余20%警告   10%为严重警告发邮件                

添加nrpe对应的端口(必须做)
vim /etc/services (该文件记录系统中所有服务的端口)
在最后一行添加
nrpe 5666/tcp # NRPE

启动nrpe
service xinetd restart
netstat -anptl | grep 5666  查看端口是否打开
tcp 0 0 0.0.0.0:5666 0.0.0.0:* LISTEN 21403/xinetd



服务端
service nagios restart
1测试nrpe
cd /usr/local/nagios/libexec/
./check_nrpe -H 192.168.1.170   注意 此IP是被监控端的IP
得到结果NRPE v2.12  如果出现则正确
2测试 是否有错误
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg 检测文件时候正确
service nagios restart
访问http://192.168.1.160/nagios/
 
或者在本地监控端浏览器 里Sort by service name (descending)    Status Sort by service status (ascending)Sort by service status (descending)    Last Check Sort by last check time (ascending)Sort by last check time (descending)    Duration Sort by state duration (ascending)Sort by state duration time (descending)    Attempt Sort by current attempt (ascending)Sort by current attempt (descending)    Status Information
7.com
    
    
Current Users
    
    PENDING     N/A     0d 0h 0m 55s+     1/4     Service check scheduled for Sun Mar 31 03:26:27 CST 2013
    
Root Partition
    
    PENDING http://localhost/nagios


#####################################
小知识库
vim /etc/init.d/nagios 编辑 功能为显示nagios重启时的错误信息
189(行)                 $NagiosBin -v $NagiosCfgFile #> /dev/null 2>&1; (加个#号)

显示所有服务的端口 用于查看服务端口号
vim /etc/services

你可能感兴趣的:(监控,nagios)