您好,欢迎来到花图问答。
搜索
您的当前位置:首页Nagios安装配置详解之基于NRPE监控远程主机

Nagios安装配置详解之基于NRPE监控远程主机

来源:花图问答

Nagios监控服务

nagios监控的主要内容:

  1. 本地资源:负载uptime,CPU(top,sar),磁盘(df),内存(free),io,raid级别,温度,passwd文件的变化,本地所有文件指纹识别
  2. 网络服务:端口,URL,丢包,进程数,网络流量
  3. 其他设备:交换机端口流量,路由器,打印机,windows等
  4. 业务数据:用户登陆失败次数,用户登陆网站次数,输入验证码失败次数,某个API接口流量并发,网站订单,支付交易数量
  5. 监控软件本身仅仅是一个平台,我们想监控的内容,理论上只要在服务器命令行可以获取到就可以被监控软件监控

nagios主要功能

  • 网络服务监控(SMTP、POP3、HTTP、NNTP、ICMP、SNMP、FTP、SSH)
  • 主机资源监控(CPU load、disk usage、system logs),也包括Windows主机(使用NSClient++ plugin)
  • 可以指定自己编写的Plugin通过网络收集数据来监控任何情况(温度、警告……)
  • 可以通过配置Nagios远程执行插件远程执行脚本
  • 远程监控支持SSH或SSL加通道方式进行监控
  • 简单的plugin设计允许用户很容易的开发自己需要的检查服务,支持很多开发语言(shell scripts、C++、Perl、ruby、Python、PHP、C#等)
  • 包含很多图形化数据Plugins(Nagiosgraph、Nagiosgrapher、PNP4Nagios等)
  • 可并行服务检查
  • 能够定义网络主机的层次,允许逐级检查,就是从父主机开始向下检查
  • 当服务或主机出现问题时发出通告,可通过email, pager, sms 或任意用户自定义的plugin进行通知
  • 能够自定义事件处理机制重新激活出问题的服务或主机
  • 自动日志循环
  • 支持冗余监控
  • 包括Web界面可以查看当前网络状态,通知,问题历史,日志文件等

nagios主要组成部分

主程序Nagios+插件Nagios-plugins和一些可选的附加程序(NRPE、NSClient++、NSCA)等

  • 服务器端必须安装nagios主程序和nagios-plugins
  • 客户端必须安装nagios-plugins
  • NRPE半被动模式:工作于被监控端,用于在被监控的远程linux主机上执行脚本插件获取数据回传给监控端,以实现对这些主机资源的监控,守护进程开启端口5666

NRPE运行原理

NRPE.PNG nrpe.PNG

Nagios 通过NRPE 来远端管理服务

  1. Nagios 执行安装在它里面的check_nrpe 插件,并告诉check_nrpe 去检测哪些服务。

  2. 通过SSL,check_nrpe 连接远端机子上的NRPE daemon

  3. NRPE 运行本地的各种插件去检测本地的服务和状态(check_disk,..etc)

  4. 最后,NRPE 把检测的结果传给主机端的check_nrpe,check_nrpe 再把结果送到Nagios状态队列中。

  5. Nagios 依次读取队列中的信息,再把结果显示出来。

Nagios服务器端安装:

Nagios核心和插件一键自动化安装脚本:

#!/bin/bash
##########################################################################
#Description: install Nagios Core and Nagios Plugins from source on CentOS
#Author: ZhangZihao
#Date: 2017/02/24
#Email: 
##########################################################################

#判断执行此脚本的用户是否为root管理员用户
if [ $UID -ne 0 ];then
    echo "Please Run This As Root"
    exit 1
else
    echo "开始安装Nagios"
    sleep 5
fi


function install_deps(){
    echo "安装系统需要的依赖包"
    sleep 5
    yum install -y wget httpd php gcc glibc glibc-common gd gd-devel make net-snmp unzip
}

function download(){
    echo "下载Nagios和Nagios_plugins插件"
    sleep 5
    cd /tmp
    if [ ! -e "nagios-4.3.1.tar.gz" ];then
        wget 
    elif [ ! -e "nagios-plugins-2.1.4.tar.gz" ];then
        wget https://nagios-plugins.org/download/nagios-plugins-2.1.4.tar.gz#_ga=1.227722973.1943152835.1487897544
    fi
}

function add_user(){
    echo "添加Nagios的相关系统用户"
    sleep 5
    useradd nagios
    groupadd nagcmd
    usermod -a -G nagios,nagcmd apache
}

function install_nagios_core(){
    echo "安装Nagios核心"
    sleep 5
    cd /tmp
    tar zxvf nagios-4.3.1.tar.gz
    cd nagios-4.3.1
    ./configure --with-command-group=nagcmd
    make all
    make install
    make install-init
    make install-config
    make install-commandmode
    make install-webconf
    cp -R contrib/eventhandlers/ /usr/local/nagios/libexec/
    chown -R nagios:nagios /usr/local/nagios/libexec/eventhandlers
    /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
}

function install_nagios_plugins(){
    echo "安装Nagios插件"
    sleep 5
    cd /tmp
    tar zxvf nagios-plugins-2.1.4.tar.gz
    cd nagios-plugins-2.1.4
    ./configure --with-nagios-user=nagios --with-nagios-group=nagios
    make && make install
}

function webuser(){
    echo "添加web用户和密码"
    htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
}

function start_nagios_httpd(){
    echo "启动并设置Nagios服务"
    sleep 5
    /etc/init.d/nagios start
    /ect/init.d/httpd start
    chkconfig httpd on
    chkconfig nagios on
}

function main(){
    install_deps
    download
    add_user
    install_nagios_core
    install_nagios_plugins
    webuser
    start_nagios_httpd
}
main

服务器端NRPE一键安装脚本:

#!/bin/bash

cd /tmp
wget 
tar zxvf tar zxvf nrpe-2.13.tar.gz
cd nrpe-2.13
yum install openssl* -y
#安装NRPE源码包
./configure
make all && make install-plugin

if [ -e "/usr/local/nagios/libexec/check_nrpe" ];then
    echo "安装成功"
else
    echo "请重新检查安装步骤"
fi

Nagios客户端安装

Copyright © 2019- huatuowenda.com 版权所有 湘ICP备2023022495号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务