1.nagios图形监控显示和管理服务器

虽然能显示,能报警。但是我们企业工作中需要一个历史趋势图。

nagios只开放核心,插件是单独的形式,图像也一样,是插件或者整合的方式。所以可能看起来很多,这种方式叫做弱耦合。

2.Pnp安装图形监控曲线(服务器端)

php出图软件官方站点为:http://www.php4nagios.org

先执行yum安装下面基础pnp软件需要的包,如果有重复的再执行下也不会有问题。

1)图形显示的依赖库:yum install cairo pango zlib zlib-devel freetype freetype-devel gd gd-devel -y

     2)pnp依赖rrdtool软件,此软件为轮询数据库工具(24小时),安装rrdtool需要libart_lgpl,这里通过编译安装的方式。rrdtools的依赖

   tar xf libart_lgpl-2.3.17.tar.gz
       cd libart_lgpl-2.3.17
       ./configure
        make
        make install
        /bin/cp -r /usr/local/include/libart-2.0 /usr/include
        cd ../

      3)安装rrdtools轮询的数据库,专门画图

   tar xf rrdtool-1.2.14.tar.gz
       cd rrdtool-1.2.14
       ./configure --prefix=/usr/local/rrdtool  --disable-python  --disable-tcl
       #WARNING: The RRDs Perl Modules are not found on your System
       #Using RRDs will speedup things in larger Installtions.
       #configure后出现上面的提示可以不用理会。
       make
       make install
       cd ../
       ls -l /usr/local/rrdtool/bin

成功结果:

4)PNP收集数据告诉rrdtools画图,PnP负责展示

   tar zxf pnp-0.4.14.tar.gz
        cd pnp-0.4.14
       ./configure \
       --with-rrdtool=/usr/local/rrdtool/bin/rrdtool --with-perfdata-dir=/usr/local/nagios/share/perfdata/
       #################
        #  WARNING: The RRDs Perl Modules are not found on your System
        #           Using RRDs will speedup things in larger Installtions.
      #####################
     make all
     make install
     make install-config
     make install-init
     ll /usr/local/nagios/libexec/ |grep process---->生成:-rwxr-xr-x 1 nagios nagios  31827 Dec 14 13:07 process_perfdata.pl  (生成画图收集的数据)

4.配置出图: 

     nagios.cfg +833  将这三行注释去掉
    833 process_performance_data=1<==========
    834
    835
    836
    837 # HOST AND SERVICE PERFORMANCE DATA PROCESSING COMMANDS
    838 # These commands are run after every host and service check is
    839 # performed.  These commands are executed only if the
    840 # enable_performance_data option (above) is set to 1.  The command
    841 # argument is the short name of a command definition that you
    842 # define in your host configuration file.  Read the HTML docs for
    843 # more information on performance data.
    844
    845 host_perfdata_command=process-host-perfdata<==========
    846 service_perfdata_command=process-service-perfdata<==========
  执行编辑命令 vi /usr/local/nagios/etc/objects/commands.cfg +227,修改commands.cfg配置文件。(直接删除下面的再进行复制,也是可以的)
#修改commands.cfg 配置文件,约227-238行
#默认配置为(如果没有直接添加即可)
#-----------------------------------------------------------------  
# '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" >> /usr/local/nagios/var/host-perfdata.out
        }
# '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" >> /usr/local/nagios/var/service-perfdata.out
        }
修改成如下配置
# 'process-host-perfdata' command definition
define command{
        command_name    process-host-perfdata
        command_line    /usr/local/nagios/libexec/process_perfdata.pl
        }
# 'process-service-perfdata' command definition
define command{
        command_name    process-service-perfdata
        command_line    /usr/local/nagios/libexec/process_perfdata.pl
        }
也可以用nagios变量$USER1$替代/usr/local/nagios/libexec/路径
执行检查语法命令/etc/init.d/nagios checkconfig
Total Warnings: 0
Total Errors:   0
根据提示,配置通过。重启。
 主机出图的配置,模板或主机配置里hosts.cfg
action_url            /nagios/pnp/index.php?host=$HOSTNAME$
 服务出图,模板或服务配置里server.cfg
action_url            /nagios/pnp/index.php?host=$HOSTNAME$&srv=$SERVICEDESC$
 
5.报警策略

  报警方式:
1)邮件
2)邮件转短信报警
3)短信网关:将信息放到网关,网关发到手机上
4)微信及时通讯,通过给邮箱发邮件,手机微信和邮箱绑定,则微信就响
花费一定的费用,把业务做到最好,是正常的工作思路,花钱是正常的。
 
6.报警分类
A类:cpu、磁盘空间、内存
B类:网站域名打不开,宕机。开发、领导都需知悉
如果宕机不处理不行,那就说明健壮性不好。
 
7.报警实战配置
vi contact.cfg在servers或者模板中进行配置
报警配置过程
0)开发短信报警脚本(短信网关是收费的)
[root@oldboy-A libexec]# pwd
/usr/local/nagios/libexec
[root@oldboy-A libexec]# cat sms_send
#!/bin/sh
alert_date=$(date +%y-%m-%d" "%H:%M)
TITLE=$1     #FORMAT "Host $HOSTSTATE$ alert for $HOSTNAME$"
CONTACT=$2
#curl方式
curl  -d cdkey=3RTY-EMY-0980-MTUQ2 -d password=189162 -d phone=$CONTACT -d message="$TITLE[${alert_date} oldboysa]" http://sdkhttp.eucp.b2m.cn/sdkproxy/sendsms.action
#wget --quiet "http://s.ccme.cc/qxt/send.jsp?circle=159net_131&pwd=oldboy123&mobile=18911718229&service=f1fb0546-ebb6-0987-8f20-560524c1f88d&msgid=3956724&message=$TITLE[${alert_date} oldboysa n]"
1)添加联系人和联系组contacts.cfg
define contact{
        contact_name                    oldboy-pager
        use                             generic-contact
        alias                            Nagios users
        pager                            18901398221
}
2)添加报警的命令commands.cfg
#command.cfg
# 'notify-host-by-pager' command definition
define command{
        command_name    notify-host-by-pager
        command_line    $USER1$/sms_send "Host $HOSTSTATE$ alert for $HOSTNAME$"  $CONTACTPAGER$
        }
# 'notify-service-by-pager' command definition
define command{
        command_name    notify-service-by-pager
        command_line    $USER1$/sms_send "$HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$"  $CONTACTPAGER$
        }
3)调整联系人模板,添加报警的命令(来自于commands.cfg)
编辑templates.cfg里的定义内容为:
define contact{
        name                            generic-contact
        service_notification_period     24x7
        host_notification_period        24x7                   
        service_notification_options    w,u,c,r,f,s           
        host_notification_options       d,u,r,f,s                      
        service_notification_commands   notify-service-by-email,notify-service-by-fetion,notify-service-by-msn, notify-service-by-pager
        host_notification_commands      notify-host-by-email,notify-service-by-fetion,notify-host-by-msn, notify-service-by-pager
        register                        0                              
}
4)hosts.cfg,services.cfg添加报警联系人及组,或者对应模板加
contact_groups                  admins,groups1,groups2,user01
 
 
8.开源软件
常用软件按:nagios、cacti、zabbix等
nagios 优点是报警   cacti 做流量趋势
cacti和nagios最大的区别在于前者有很强大的数据采集、存储和展示功能,但在报警管理这一块不如nagios。cacti开发语言是php,配置存储在mysql数据库中,数据采集同样利用了snmp协议,数据存储则利用了RRDTOOL。
nagios+pnp+cactil
  在生产环境中,nagios+pnp进行数据采集及各类监控报警,使用cacti来负责监控网络设备流量。
zabbix+cacti
   有些公司使用zabbix,cacti实现告警监控及数据采集出图

4. 监控利器nagios手把手企业级实战第三部的更多相关文章

  1. 3. 监控利器nagios手把手企业级实战第二部

    1. 编辑hosts.cfg增加被监控的主机[root@nagios etc]# cat objects/hosts.cfg define host{        use               ...

  2. 2.监控利器nagios手把手企业级实战第一部

    1.   什么是Nagios?    Nagios是一款开源的网络及服务的监控工具,功能强大,灵活性强,需要注意的是,其服务端只能在linux上面安装.            Nagios可以进行分布 ...

  3. 运维监控利器Nagios之:nagios配置详解

    http://ixdba.blog.51cto.com/2895551/752870 一.nagios配置过程详解 1.nagios默认配置文件介绍  nagios安装完毕后,默认的配置文件在/usr ...

  4. 《大数据Spark企业级实战 》

    基本信息 作者: Spark亚太研究院   王家林 丛书名:决胜大数据时代Spark全系列书籍 出版社:电子工业出版社 ISBN:9787121247446 上架时间:2015-1-6 出版日期:20 ...

  5. 【Todo】【读书笔记】大数据Spark企业级实战版 & Scala学习

    下了这本<大数据Spark企业级实战版>, 另外还有一本<Spark大数据处理:技术.应用与性能优化(全)> 先看前一篇. 根据书里的前言里面,对于阅读顺序的建议.先看最后的S ...

  6. 关于《ASP.NET MVC企业级实战》

    大家好,我的书<ASP.NET MVC企业级实战>已经出版啦,感谢大家过去的关注与支持!前言部分,出版的时候漏了部分内容,我这里将其贴出来. 本书提供源码和教学PPT课件!(源码在书中第3 ...

  7. 测者的性能测试手册:JVM的监控利器

    测者的性能测试手册:JVM的监控利器 每次聊起性能测试,最后的终结话题就是怎么做优化.其实在Java的复杂项目中都会有内存不足问题.内存泄露问题.线程死锁问题.CPU问题.这些问题工程测试或者是小压力 ...

  8. Linux 服务器运行健康状况监控利器 Spotlight on Unix 的安装与使用

    1.本文背景 1.1.Linux 服务器情况 # cat /etc/issueRed Hat Enterprise Linux Server release 6.1 (Santiago)Kernel ...

  9. 监控系统-nagios

    Nagios简介 Nagios是一款开源的电脑系统和网络监视工具,能有效监控Windows.Linux和Unix的主机状态,交换机路由器等网络设备,打印机等.在系统或服务状态异常发出邮件或短信报警第一 ...

随机推荐

  1. HDU - 5591 ZYB's Game(博弈)

    题意:A和B两人在1~N中选数字.已知1<=X<=N,谁先选中X谁就输.每当一个人选出一个不是X的数,裁判都会说明这个数比X大还是小,与此同时,可选范围随之缩小.已知A先选,求满足能让B赢 ...

  2. Java工程师面试题

    1. J2EE 是什么?它包括哪些技术?解答:从整体上讲,J2EE 是使用 Java 技术开发企业级应用的工业标准,它是 Java 技术不断适应和促进企业级应用过程中的产物.适用于企业级应用的 J2E ...

  3. 【PentestBox】rubygems.rb erorr

    PentestBox可以在windows下运行一些Linux系统命令,但仍然基于windows. 若使用msfconsole或者gem命令是出现: internal:gem_prelude:1:in  ...

  4. oracle数据库语言(1)--数据定义语言

      1.数据定义语言 (DDL)DATE DEFINITION LANGUAGE 作用是用于增删改 数据库对象 (1) 创建表格 CREATE TABLE EMP ( -------创建 名为 EMP ...

  5. 字符串专题之KMP算法

    写点自己对KMP的理解,我们有两个字符串A和B,求A中B出现了多少次. 这种问题就可以用KMP来求解. 朴素的匹配最坏情况是O(n^2)的.KMP是个高效的算法,效率是O(n)的. KMP算法的思想是 ...

  6. input自动填入密码以后变成白色和黄色的解决办法

    问题描述: 1.谷歌自动输入账号密码以后颜色变成黄色: 解决办法: 加样式: input:-webkit-autofill { background: red !important; color: # ...

  7. Codeforces 1290B/1291D - Irreducible Anagrams

    题目大意: 两串字符串 s 和 t 是否 anagrams(下文简称ANA) 的定义是: 是否能将 s 内的字母打乱顺序后再拼接得到 t 我们考虑互相ANA的两串字符串 s 和 t 我们称 t 是 s ...

  8. Python中Opencv和PIL.Image读取图片的差异对比

    近日,在进行深度学习进行推理的时候,发现不管怎么样都得不出正确的结果,再仔细和正确的代码进行对比了后发现原来是Python中不同的库读取的图片数组是有差异的. image = np.array(Ima ...

  9. ubuntu 18.04 安装 Redis-server

    Redis 安装 Redis是一款内存键值存储,以其灵活性,性能和广泛的语言支持而闻名.本教程将演示如何在Ubuntu 18.04服务器上安装和配置Redis.主要内容包括: 安装 Redis Red ...

  10. NFS工作原理简述

    1.首先用户访问网站程序,由程序在NFS客户端发出存取NFS文件的请求,NFS客户端上的RPC服务通过网络向NFS服务器的RPC服务的111端口发出NFS文件存取的询问请求. 2.NFS服务器的RPC ...