Debian 系统安装 Nagios 服务器监控端

本文详细介绍了如何配置Nagios与PnP4Nagios进行服务器监控,包括安装过程、配置步骤及邮件通知设置等关键环节。
  1. 安装
    apt-get update
    apt-get install nagios* perl
    apt-get install --no-install-recommends pnp4nagios
    apt-get install apache2 apache2-utils php5 php-pear

  2. 修改npcd设置
    # vim /etc/default/npcd
    Run="yes"
    # service npcd start

  3. 添加process_perfdata.pl执行权限
    chmod +x /usr/lib/pnp4nagios/libexec/process_perfdata.pl
  4. 修改commands.cfg设置(注释旧命令)
    vi /etc/nagios3/commands.cfg
    # 'process-host-perfdata' command definition
    define command{
       command_name   process-host-perfdata
       #command_line   /usr/bin/printf "%b" "$LASTHOSTCHECK$\t$HOSTNAME$\t$HOSTSTATE$\t$HOSTATTEMPT$\t$HOSTSTATETYPE$\t$HOSTEXECUTIONTIME$\t$HOSTOUTPUT$\t$HOSTPERFDATA$\n" >> /var/lib/nagios3/host-perfdata.out
       command_line   /usr/bin/perl /usr/lib/pnp4nagios/libexec/process_perfdata.pl
       }
    
    
    # 'process-service-perfdata' command definition
    define command{
       command_name   process-service-perfdata
       #command_line   /usr/bin/printf "%b" "$LASTSERVICECHECK$\t$HOSTNAME$\t$SERVICEDESC$\t$SERVICESTATE$\t$SERVICEATTEMPT$\t$SERVICESTATETYPE$\t$SERVICEEXECUTIONTIME$\t$SERVICELATENCY$\t$SERVICEOUTPUT$\t$SERVICEPERFDATA$\n" >> /var/lib/nagios3/service-perfdata.out
       command_line   /usr/bin/perl /usr/lib/pnp4nagios/libexec/process_perfdata.pl
       }
    commands.cfg Code
  5. 修改nagios.cfg配置
    vi /etc/nagios3/nagios.cfg 修改以下3行配置
    process_performance_data=1
    host_perfdata_command=process-host-perfdata
    service_perfdata_command=process-service-perfdata
    修改check_external_commands=1 (未修改可能导致web网站无法Re-schedule监控项)
    修改enable_flap_detection=0 (虽然文档里说默认是0,但实际为1.改为0之后就解决了flapping state)
  6. 修改services_nagios2.cfg配置
    vi /etc/nagios3/conf.d/services_nagios2.cfg
    notification_interval 1
    vi /etc/nagios3/conf.d/generic-service_nagios2.cfg
    notification_interval 1
  7. 删除install.php
    # cd /usr/share/pnp4nagios/html
    # mv install.php install.php.bak

  8. Nagios插件目录: /usr/lib/nagios/plugins/
  9. 添加pnp4nagios插件
    vi /etc/nagios3/conf.d/pnp4nagos.cfg 追加如下配置
    define host {
            name       host-pnp
            action_url /pnp4nagios/index.php/graph?host=$HOSTNAME$'class='tips'rel='/pnp4nagios/index.php/popup?host=$HOSTNAME$&srv=_HOST_
            register   0
            process_perf_data       1
    }
    
    define service {
            name       srv-pnp
            action_url /pnp4nagios/index.php/graph?host=$HOSTNAME$&srv=$SERVICEDESC$'class='tips'rel='/pnp4nagios/index.php/popup?host=$HOSTNAME$&srv=$SERVICEDESC$
            register   0
            process_perf_data       1
    }
    Code
  10. 默认是没有监控内存的,若需要监控复制check_mem.sh文件到插件目录,再添加相关配置文件
    添加自定义执行命令
    vi /etc/nagios3/conf.d/custom_commond.cfg
    define command{
            command_name        check_mem
            command_line        $USER1$/check_mem.sh -w $ARG1$ -c $ARG2$
            }
    Code
    添加本机的check_mem服务
    vi /etc/nagios3/conf.d/localhost_nagios2.cfg  添加如下配置
    define service{
            use                             local-service,srv-pnp
            host_name                       localhost
            service_description             check_mem
            check_command                   check_mem!80!90
            }
    Code
  11. 监控服务器网卡流量
    apt-get install snmpd snmp-mibs-downloader
    vi /etc/snmp/snmpd.conf(可备份snmpd.conf,修改下面的localhost-IP为服务器IP,保存此文件即可)
    com2sec notConfigUser 127.0.0.1 public 
    com2sec notConfigUser localhost-IP public 
    
    group notConfigGroup v1 notConfigUser 
    group notConfigGroup v2c notConfigUser 
    
    view systemview included .1.3.6.1.2.1.1 
    view systemview included .1.3.6.1.2.1.2 
    view systemview included .1.3.6.1.2.1.25.1.1 
    view all included .1 
    
    access notConfigGroup "" any noauth exact all none none 
    Code

    重启snmpd服务
    下载check_traffic.sh到插件目录
    cd /usr/lib/nagios/plugins/
    测试执行
    ./check_traffic.sh -V 2c -C public -H your_ip -I 2 -w 1200,1500 -c 1700,1800 -K -B
    # vi /etc/nagios3/conf.d/custom_commond.cfg  追加

    define command{
            command_name    check_traffic
            command_line    $USER1$/check_traffic.sh -V 2c -C public -H $HOSTADDRESS$ -I $ARG1$ -w $ARG2$ -c $ARG3$ -M -b
    }
    Code
  12. 当服务停止时重新监控失败,运行以下2行命令
    # dpkg-statoverride --update --add nagios www-data 2710 /var/lib/nagios3/rw
    # dpkg-statoverride --update --add nagios www-data 751 /var/lib/nagios3

  13. 配置发送邮件功能
    apt-get install ssmtp   (备用:apt-get install sendmail-bin  sendmail)
    修改ssmpt.conf文件配置
    # vi /etc/ssmtp/ssmtp.conf  追加Google邮箱配置方式(勿开启2步验证)
    AuthUser=NagiosAdmin
    AuthPass=PassWord
    FromLineOverride=YES
    mailhub=smtp.gmail.com:587
    UseSTARTTLS=YES
    Code

    service sendmail stop
    chkconfig sendmail off
    cd /usr/sbin
    mv sendmail sendmail.bak
    ln -s /usr/sbin/ssmtp /usr/sbin/sendmail
    测试发邮件即可

  14. 添加被监控机需要注意
    监控其他主机,需要添加check_nrpe命令,但在Debian系统中,添加check_nrpe命令会提示重复,但是却找不到其他地方有配置。
    所以需要将check_nrpe改成其他名
    define command{
            command_name custom_check_nrpe
            command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
            }
    Code

    举例监控客户机的CPU情况
    先添加主机
    # vi /etc/nagios3/conf.d/hosts.cfg 

    define host{
        use                             generic-host               ; Inherit default values from a template
        host_name                       Dow1_Server                  ; The name we're giving to this server
        alias                           DriverServer               ; A longer name for the server
        address                         10.10.0.32            ; IP address of Remote Linux host
    }
    Code

    添加监控服务项,注意使用的命令是自定义的nrpe
    # vi /etc/nagios3/conf.d/custom_services.cfg

    define service{
            use                     generic-service
            host_name               Dow1_Server_198.27.75.32
            service_description     CPU Load
            check_command           custom_check_nrpe!check_load
            }
    Code

    iptables -A INPUT -p tcp -m tcp --dport 5666 -j ACCEPT  
    service iptables save
    service iptables restart

转载于:https://www.cnblogs.com/Mrhuangrui/p/4638083.html

内容概要:本文系统介绍了算术优化算法(AOA)的基本原理、核心思想及Python实现方法,并通过图像分割的实际案例展示了其应用价值。AOA是一种基于种群的元启发式算法,其核心思想来源于四则运算,利用乘除运算进行全局勘探,加减运算进行局部开发,通过数学优化器加速函数(MOA)和数学优化概率(MOP)动态控制搜索过程,在全局探索与局部开发之间实现平衡。文章详细解析了算法的初始化、勘探与开发阶段的更新策略,并提供了完整的Python代码实现,结合Rastrigin函数进行测试验证。进一步地,以Flask框架搭建前后端分离系统,将AOA应用于图像分割任务,展示了其在实际工程中的可行性与高效性。最后,通过收敛速度、寻优精度等指标评估算法性能,并提出自适应参数调整、模型优化和并行计算等改进策略。; 适合人群:具备一定Python编程基础和优化算法基础知识的高校学生、科研人员及工程技术人员,尤其适合从事人工智能、图像处理、智能优化等领域的从业者;; 使用场景及目标:①理解元启发式算法的设计思想与实现机制;②掌握AOA在函数优化、图像分割等实际问题中的建模与求解方法;③学习如何将优化算法集成到Web系统中实现工程化应用;④为算法性能评估与改进提供实践参考; 阅读建议:建议读者结合代码逐行调试,深入理解算法流程中MOA与MOP的作用机制,尝试在不同测试函数上运行算法以观察性能差异,并可进一步扩展图像分割模块,引入更复杂的预处理或后处理技术以提升分割效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值