luoson1 发表于 2019-1-12 14:08:27

Nagios安装说明

*****Nagios安装思路*****详情参照55DAY*****
一、Nagios服务端安装
1、安装所需依赖关系包
2、添加Nagios所需用户及组
3、编译安装Nagios及创建登陆Nagios WEB程序用户
4、Nagios-plugin(插件)
5、配置服务自启动
二、基于NRPE配置Nagios监控Win主机
    1、被监控端
      安装:NSClient++-0.3.9-x64
    2、监控端
      1.测试与被监控端连通性
      2.监控端定义命令、定义主机、定义服务
      3.将定义好的模板加入到nagios.cfg文件中
      4.重启服务
三、基于NRPE监控Linux主机
    1、被监控端:

      1.添加用户

      2.安装插件nagios-plugins-1.4.15

      3.安装NRPE
      4.配置NRPE配置文件
                #vi /usr/local/nagios/etc/nrpe.cfg
      5.定义nrpe启动脚本且增加权限
      6.添加自启动
      7.启动服务

    2、配置监控端:

      1.安装NRPE

            安装完成后,生成check_nrpe,使用此插件进行测试被监控主机

      2.定义命令

      3.定义主机和服务

      4.将定义好的linhost.cfg配置文件的路径添加至/usr/localhost/etc/nagios.cfg中

      5.测试配置文件/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

        6.重启服务

      7.网页检查hosts监控状况

******另关于基于NRPE监控windows主机,另行查询网上资料******




一、安装配置Nagios
1、解决安装Nagios的依赖关系:
# yum -y install httpd gcc glibc glibc-common gd gd-devel php php-mysql mysql mysql-devel mysql-server

2、添加nagios运行所需要的用户和组:

# groupaddnagcmd
# useradd -G nagcmd nagios
# passwd nagios
# usermod -a -G nagcmd apache

3、编译安装nagios:
# tar zxf nagios-3.3.1.tar.gz
# cd nagios-3.3.1
# ./configure --with-command-group=nagcmd --enable-event-broker
# make all
# make install
# make install-init
# make install-commandmode
# make install-config
# vi /usr/local/nagios/etc/objects/contacts.cfg

emailnagios@localhost       #这个是默认设置
# make install-webconf

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

# service httpd restart

4、编译、安装nagios-plugins
# tar zxf nagios-plugins-1.4.15.tar.gz

# cd nagios-plugins-1.4.15
# ./configure --with-nagios-user=nagios --with-nagios-group=nagios
# make
# make install
5、配置并启动Nagios    
#vi /usr/local/nagios/etc/nagios.cfg
# chkconfig --add nagios

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

# service nagios start

6、配置selinux
#getenforce

#setenforce 0

7、通过web界面查看nagios:

http://your_nagios_IP/nagios
登录时需要指定前面设定的web认证帐号和密码。


二、配置文件

Nagios的主配置文件
/usr/local/nagios/etc/nagios.cfg
Nagios模板配置目录
/usr/local/nagios/etc/objects
  调用check命令目录/usr/local/nagios/libexec

三、基于NSClinet++监控远程Win主机
1、安装配置被监控端
    安装NSClient++-0.3.9-x64

2、进行测试是否连通
#cd /usr/local/nagios/libexec
#./check_nt -H 192.168.1.119 -v UPTIME -p 12489

如有密码则:#./check_nt -H 192.168.1.119 -v UPTIME -p 12489 -s luoxj,123
3、监控端进行配置
&&&定义commands.cfg-------------------定义命令
#cd /usr/local/nagios/etc/objects/
#vi commands.cfg   


define command{
      command_name    check_nt
      command_line    $USER1$/check_nt -H $HOSTADDRESS$ -p 12489 -v $ARG1$ $ARG2$
      }
&&&定义主机及服务
#vi windows.cfg
define host{
      use             windows-server
      host_name       winhost
      alias         My Windows Host
      address         192.168.1.119


      }
  define service{      use                     generic-service      host_name               winhost      service_description   NSClient++ Version      check_command         check_nt!CLIENTVERSION      }定义服务可根据实际情况进行变更名称可使用vim中替换进行:.,$s@winserver@winhost@g
&&&启用定义的文件,增加定义文件路径
#vi /usr/local/nagios/etc/nagios.cfg
cfg_file=/usr/local/nagios/etc/objects/windows.cfg

&&&进行测试,以确定配置文件没有问题
# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg -d

#service nagios restart


四、基于NRPE监控远程Linux主机
1、安装配置被监控端

    1)先添加nagios用户
    # useradd -s /sbin/nologin nagios
    2)NRPE依赖于nagios-plugins,因此,需要先安装之
    # tar zxf nagios-plugins-1.4.15.tar.gz
    # cd nagios-plugins-1.4.15
    # ./configure --with-nagios-user=nagios --with-nagios-group=nagios
    # make all
    # make instal
    3)安装NRPE
    # tar -zxvf nrpe-2.12.tar.gz
    # cd nrpe-2.12.tar.gz
    # ./configure --with-nrpe-user=nagios \
    --with-nrpe-group=nagios \
    --with-nagios-user=nagios \
    --with-nagios-group=nagios \
    --enable-command-args \
    --enable-ssl
    # make all
    # make install-plugin
    # make install-daemon
    # make install-daemon-config
    4)配置NRPE
    # vim /usr/local/nagios/etc/nrpe.conf
    log_facility=daemon
    pid_file=/var/run/nrpe.pid
    server_address=172.16.100.11
    server_port=5666
    nrpe_user=nagios
    nrpe_group=nagios
    allowed_hosts=172.16.100.1
    command_timeout=60
    connection_timeout=300


    debug=0
    &&&&&&&&定义监控对象命令&&&&&&&&&

    command=/usr/local/nagios/libexec/check_users -w 5 -c 10

    command=/usr/local/nagios/libexec/check_load -w 15,10,5 -c 30,25,20
    command=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/sda1
    command=/usr/local/nagios/libexec/check_procs -w 5 -c 10 -s Z
    command=/usr/local/nagios/libexec/check_procs -w 150 -c 200
      5)启动NRPE

    # /usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg –d
    为了便于NRPE服务的启动,可以将如下内容定义为/etc/init.d/nrped脚本:
    #vi /etc/init.d/nrped

    #!/bin/bash
    # chkconfig: 2345 88 12
    # description: NRPE DAEMON
NRPE=/usr/local/nagios/bin/nrpe
NRPECONF=/usr/local/nagios/etc/nrpe.cfg
case "$1" in
       start)
            echo -n "Starting NRPE daemon..."
            $NRPE -c $NRPECONF -d
            echo " done."
            ;;
       stop)
            echo -n "Stopping NRPE daemon..."
            pkill -u nagios nrpe
            echo " done."
       ;;
       restart)
            $0 stop
            sleep 2
            $0 start
            ;;
       *)
            echo "Usage: $0 start|stop|restart"
            ;;
       esac


exit 0
    #chmod +x /etc/init.d/nrped

    #service nrped start

    #netstat -tnlp    ##检查nrpe端口5666是否启用
      tcp      0      0 0.0.0.0:5666                0.0.0.0:*                   LISTEN      17282/nrpe

    #service iptables stop

    #setenforce 0

    6)配置允许远程主机监控的对象
    在被监控端,可以通过NRPE监控的服务或资源需要通过nrpe.conf文件使用命令进行定义,定义命令的语法格式为:command[]=。比如:
    command=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /
    command=/usr/local/nagios/libexec/check_disk -w 40% -c 20%
    command=/usr/local/nagios/libexec/check_sensors
    command=/usr/local/nagios/libexec/check_users -w 10 -c 20
    command=/usr/local/nagios/libexec/check_load -w 10,8,5 -c 20,18,15
    command=/usr/local/nagios/libexec/check_procs -w 5 -c 10 -s Z
    command=/usr/local/nagios/libexec/check_procs -w 150 -c 200
2、配置监控端

1)安装NRPE
# tar -zxvf nrpe-2.12.tar.gz
# cd nrpe-2.12.tar.gz
# ./configure --with-nrpe-user=nagios \
--with-nrpe-group=nagios \
--with-nagios-user=nagios \
--with-nagios-group=nagios \
--enable-command-args \
   --enable-ssl
# make all
# make install-plugin
安装完成后,/usr/local/nagios/libexec/check_nrpe就会生成此插件,可测试客户端工作正常于否
#cd /usr/local/nagios/libexec/
#./check_nrpe -H 192.168.1.124
NRPE v2.12

2)定义如何监控远程主机及服务:
通过NRPE监控远程Linux主机要使用chech_nrpe插件进行,其语法格式如下:
check_nrpe -H[-n] [-u] [-p ] [-t ] [-c ] [-a ]
定义监控远程Linux主机的命令:

#vi /usr/local/nagios/etc/objects/commands.cfg   添加nrpe命令


define command{
      command_name    check_nrpe
      command_line    $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}
************建立模板文件******************
#cd /usr/local/nagios/etc/objects/
#vim linhost.cfg   或是#cp localhost.cfg linhost.cfg      
***定义远程Linux主机:
define host{
      use                     linux-server
      host_name         linhost
      alias                   my Linux Host
      address            192.168.1.124
      }
  如主机组不需要则注释,添加服务可参照被监控端/usr/local/nagios/etc/nrpe.cfg中的command=/usr/local/nagios/libexec/check_users -w 5 -c 10command=/usr/local/nagios/libexec/check_load -w 15,10,5 -c 30,25,20command=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/sda1command=/usr/local/nagios/libexec/check_procs -w 5 -c 10 -s Zcommand=/usr/local/nagios/libexec/check_procs -w 150 -c 200 进行详细配置服务 ***定义远程Linux服务:也可以在后加参数进行设定监控
define service{
      use                     generic-service      host_name               linhost      service_description   check_users      check_command         check_nrpe!check_users      }# Create a service for monitoring the uptime of the server
# Change the host_name to match the name of the host you defined abovedefine service{      use                     generic-service      host_name               linhost      service_description   load      check_command         check_nrpe!check_load      }# Create a service for monitoring CPU load
# Change the host_name to match the name of the host you defined abovedefine service{      use                     generic-service      host_name               linhost      service_description   sda1      check_command         check_nrpe!check_sda1      }# Create a service for monitoring memory usage
# Change the host_name to match the name of the host you defined abovedefine service{      use                     generic-service      host_name               linhost      service_description   Zombie      check_command         check_nrpe!check_zombie_procs      }define service{      use                     generic-service      host_name               linhost      service_description   Total procs      check_command         check_nrpe!check_total_procs      }3)将设定好的linhost.cfg文件添加至/usr/local/nagios/etc/nagios.cfg中#vi /usr/local/nagios/etc/nagios.cfg
cfg_file=/usr/local/nagios/etc/objects/linhost.cfg
  4)进行测试配置文件 # /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg5)重启服务#service nagios restart
  




页: [1]
查看完整版本: Nagios安装说明