centos 安装nagios客户端nagios-plugins、nrpe

我写的比较详细,也是用于做自己的笔记吧,网上总有一些写得过于简单了不全面,索性自己整理自己需要的东西了。

概述:nagios监控客户机需要需要用到一个插件,叫做“NRPE”,这样nagios服务就可以监控到客户机本地的信息,比如cpu,内存,磁盘
使用率等信息


1、首先添加nagios用户,用于管理nagios插件
#useradd nagios   (要不要添加密码随你喜欢,但是千万别用简单密码。否则就会被攻击)


2、安装nagios-plugin插件
   https://nagios-plugins.org/downloads/    (到这个网址下载想要的版本)
  
#tar zxf nagios-plugins-2.1.4.tar.gz 
#cd nagios-plugins-2.1.4/
#./configure --prefix=/usr/local/nagios --with-nagios-user=nagios --with-nagios-group=nagios 
#make 
#make install   (安装成功后可以在/usr/local/nagios看到生成三个目录include、libexec和share。)


3、修改目录权限
# chown nagios.nagios /usr/local/nagios
# chown -R nagios.nagios /usr/local/nagios/libexec


4、nrpe安装
# wget http://prdownloads.sourceforge.net/sourceforge/nagios/nrpe-2.13.tar.gz 
# tar zxvf nrpe-2.13.tar.gz
# cd nrpe-2.13
# ./configure   (如果你没有安装ssl,这里会报错提示,然后安装:yum  install  openssl-devel)

# make all  

#make install-plugin

# make install-daemon  (安装daemon)
#make install-daemon-config   (安装配置文件nrpe.cfg)
注意:这里如果使用了3.X.X的版本的话,用这命令会报错:make: *** No rule to make target `install-daemon-config'.  Stop.
改用命令:# make install-config


5、测试使用:
5.1、设置nagios服务器地址
#vim /usr/local/nagios/etc/nrpe.cfg
在allowed_hosts这行后面加nagios服务器的IP, 用“,”隔开,加了之后如下:
allowed_hosts=127.0.0.1,192.168.8.208


5.2、然后启动nrpe
#cd /usr/local/nagios/bin/    
#./nrpe -c /usr/local/nagios/etc/nrpe.cfg -d

5.3、重启nrpe步骤:
#ps aux | grep nrpe 
#kill -9 进程号  
#./nrpe -c /usr/local/nagios/etc/nrpe.cfg -d

本地验证安装结果:
#netstat -antpul | grep nrpe
tcp        0      0 0.0.0.0:5666            0.0.0.0:*               LISTEN      15822/./nrpe  (端口开启说明启动成功)
#/usr/local/nagios/libexec/check_nrpe -H localhost
NRPE v2.13    (显示版本号则安装成功)


nagios服务端测试安装结果:
#/usr/local/nagios/libexec/check_nrpe -H 10.148.16.91 (也是显示版本号)
如果报错:Connection refused or timed out  (这是客户机主机不可链接,开放端口即可)


备注:
 

1、被监控端的vim /usr/local/nagios/etc/nrpe.cfg文件部分解释:

command_timeout=60

command[check_users]=/usr/local/nagios/libexec/check_users -w 5 -c 10    超过5个用户报warning,10个critical
command[check_load]=/usr/local/nagios/libexec/check_load -w 8,6,6 -c 12,10,10   
(这是linux系统中的该值load average: 1.05, 1.09, 1.06,根据cpu设置合适的值,我的cpu16核,我设置成上述值)
command[check_hda1]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/mapper/centos-home
(这里我只监控我系统中使用量的盘,分区剩余空间为总大小的20%警告,10%危急,-p后是分区)
command[check_zombie_procs]=/usr/local/nagios/libexec/check_procs -w 5 -c 10 -s Z  (有5个僵尸进程报警告,10个报危急)

command[check_total_procs]=/usr/local/nagios/libexec/check_procs -w 400 -c 500 (总进程到400个警告,500个报危急)

自定义脚本的监控对象:

command[enheng]=/usr/local/nagios/libexec/suibian.sh
command[aha]=python /opt/suibian.py

常用的监控对象与阀值:

 

监控对象

监控阀值

 

 

 

 

 

 

主机存活:

check_ping

 

-w 3000.0,80% -c 5000.0,100% -p 5(3000毫秒响应时间内,

丢包率超过80%报警告,5000毫秒响应时间内,丢包率超过

100%报危急,一共发送5个包)

登录用户:

check_user

-w 5 -c 10(w为警告,c为危急)

系统负载:

check_load

-w 15,10,5 -c 30,25,20(1分钟,5分钟,15分钟大于对应

的等待进程数则警告或危急)

磁盘占用率:

check_disk

-w 20% -c 10% -p /(根分区剩余空间为总大小的20%警告,

10%危急,-p后是根分区)

脚本检测磁盘I/O:

check_iostat

-w 5 –c 10 (磁盘I/O的iowait超过5%报警告,超过10%报危急)

检测僵尸进程:

check_zombie _procs

-w 5 -c 10 -s Z(有5个僵尸进程报警告,10个报危急)

检测总进程数:

check_total_procs

-w 150 -c 200(总进程到150个警告,200个报危急)

脚本检测内存剩余:

check_mem

-w 90% -c 95%(内存空闲率90%以上报警告,95%以上报危急)

检测交换分区使用率:

check_swap

-w 20% -c 10%(交换分区剩余空间为总大小的20%警告,

10%危急)

监控服务端口:

check_tcp

-H localhost2 -p 80(主机与对应的端口号)

 

监控页面响应时间:

check_http

-H localhost2 -u http:\/\/localhost2/test.jsp –w 5 –c 10(检查页面,超过5s报警告,超过10s报危急)

脚本检测IP连接数:

check_ips

-w 200 –c 250(IP连接数超过200报警告,超过250报危急)

流量

监控

监控server流量:

Check_traffic

-V 2c -C public -H localhost2 -I 2 -w 12,30 -c 15,35 -M –b(snmp版本,用户,主机,对应网卡,警告阀值,危急阀值)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

nagios监控端文件编写:

在/usr/local/nagios/etc/objects自定义一个监控项目,比如公司有个包含了很多主机的哈哈项目

可以定义个haha.cfg文件:

define host{
    use     windows-server    //定义使用哪个模块进行监控,监控linux主机可用linux-server
    host_name   haha       //定义主机名
    alias       haha1     //定义主机别名,可要可不要
    address     10.148.16.21      //被监控主机ip地址
    }

define service{
    use         generic-service
    host_name           haha 
    service_description    CPU Load    //定义被监控项的名字
    check_command       check_nrpe!check_load    //定义被监控项的使用的命令
    }

define service{
    use         generic-service
    host_name         haha 
    service_description Memory Usage
    check_command       check_nrpe!check_mem
    }

define service{
    use         generic-service
    host_name          haha 
    service_description   Disk_Usage
    check_command       check_nrpe!check_disk
    }

define service{
        use                     generic-service
    host_name           haha 
        service_description     分镇预警制作系统
        check_command           http_ip!10.148.16.97!8081!/gzdss/index.jsp     //这是监控一个网址的访问情况  
        }
define service{
        use                     generic-service
        host_name           haha 
        service_description    gift数据源api
        check_command          run_scr! gift_api.py //使用这个脚本监控(gift_api.py放在/usr/local/nagios/libexec并赋予执行权限)
        }

以上文件编写完毕,这里放出来被监控端的/usr/local/nagios/etc/nrpe.cfg的文件,以上前三个service中的check_command引用自该文件的命令:

command[check_load]=/usr/local/nagios/libexec/check_load -w 15,10,5 -c 30,25,20
command[check_mem]=/usr/local/nagios/libexec/check_mem -w 30 -c 20
command[check_disk]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/sdb1 /

这里编写完文件后,还要把这个写到/usr/local/nagios/etc/nagios.cfg文件里去,让nagios服务器加载被配置端文件信息

vim    /usr/local/nagios/etc/nagios.cfg
cfg_file=/usr/local/nagios/etc/objects/haha.cfg

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值