zongg 发表于 2013-08-19 10:07

本帖最后由 zongg 于 2013-08-19 14:37 编辑

1,上述的各种监控工具的优缺点比较

答:从工作以来,我用过的监控系统有cacti,nagios,zabbix.下面我就说说他们。
cacti是用snmp协议来取数据,通过rrdtool来储存和更新数据(侟在rra下的文件里),并生成图。由此可见snmp和rrdtool是cacti的关键。
但是我们并不需要深入的了解rrdtool,和snmp ,我们是需要通过简单的配置就可以生成图像,我对于我们来说很方便(优点)。
rrdtool来处理数据效率高,多样性绘图,但是cacti监控的内容不多(缺点)。有一些插件还是不错的。我现在用的是monitor,mactrack,weathermap.
我们现在主要是用cacti来监控交换机上的流量。

nagios是一款很专业的监控软件,监控服务器状态很强大。但是配置起来复杂一些。能监控的应用层面(网络服务监控)的内容比cacti较多(优点),插件也非常多。这个赞一个。
nagios会调用插件去检测服务器状态,并把插件返回来的状态信息并进行处理后,把状态结果通过web显示出来。并根据状态实现告警。感觉报警机制要比cacti强。
图像看着没cacti好。(缺点) nagios客户端得安装NRPE. 说是支持400-500台机器的监控。我没试过,没有那么多的机器。- -

zabbix 分为zabbix server 和zabbix agent.也就是说客户端得安装agent.
缺点是支持多平台的监控软件,功能强大,监控灵活,报警灵活。
支持分布式。支持snmp,jmx,ipmi类型。自带画图功能,得到的数据可以绘成图形。全web管理。自带key,同时支持调用脚本。很方便。
缺点是批量修改不方便,中文资料少。画图没cacti好。官网说zabbix 支持5000台机器的监控。

2,您在使用何种监控工具和平台,监控到故障时的一些故障处理机制

答:我们现在用的是cacti+zabbix,感觉够用了,zabbix用起来比较灵活。
zabbix 可以根据自己的需求设置一些触发器,达到触发器的数值就会报警。
比如说,系统的平均负载,进程数,流量,tomcat jmx,dns 之类的都可以实现。

3,谈谈您在处理故障过程中的一些心得及将来的规划

答:故障一般的都是软件层面的,及时登陆到机器上看看是什么情况,大多数都可以解决。
将来的规划是现深入的学习zabbix,说实话,zabbix 真不错,真心推荐给大家。很灵活。
如果有机会再试试分布式。如果有运维研发,zabbix是一个好的选择进行二次开发。

Purple_Grape 发表于 2013-08-19 14:51

本帖最后由 Purple_Grape 于 2013-08-19 14:54 编辑

nagios大规模监控的性能问题解决方案

简单的说,通过分析,将nagios使用硬盘读写比较严重的部分放到/dev/shm里,同时优化内核tcp参数,可以极大提高性能。

参考文章:
http://assets.nagios.com/downloads/nagiosxi/docs/Utilizing_A_RAM_Disk_In_NagiosXI.pdf

nagios的缺点是没有画图,但是有cacti 也就足够了

我很担心一个软件功能太过全面,还是unix/linux的哲学好,一个软件干好一件事就行了。

action08 发表于 2013-08-19 15:09

nagios用起来需要配置的不少,,估计新手会碰不少问题

chenyx 发表于 2013-08-19 15:35

Purple_Grape 发表于 2013-08-19 14:51 static/image/common/back.gif
nagios大规模监控的性能问题解决方案

简单的说,通过分析,将nagios使用硬盘读写比较严重的部分放到/dev ...
nagios可以结合pnp来画图.
前一段时间我用过icinga,nagios的衍生版本,有中文版本的,还集成pnp,还不错

chenyx 发表于 2013-08-19 15:36

action08 发表于 2013-08-19 15:09 static/image/common/back.gif
nagios用起来需要配置的不少,,估计新手会碰不少问题
嗯,nagios配置确实很繁琐.

verve516 发表于 2013-08-19 17:59

一、Nagios简介

Nagios logo

  Nagios是一款开源的电脑系统和网络监视工具,能有效监控Windows、Linux和Unix的主机状态,交换机路由器等网络设置,打印机等。在系统或服务状态异常时发出邮件或短信报警第一时间通知网站运维人员,在状态恢复后发出正常的邮件或短信通知。

  Nagios原名为NetSaint,由Ethan Galstad开发并维护至今。NAGIOS是一个缩写形式: "Nagios Ain't Gonna Insist On Sainthood" Sainthood 翻译为圣徒,而"Agios"是"saint"的希腊表示方法。Nagios被开发在Linux下使用,但在Unix下也工作得非常好。

主要功能

    网络服务监控(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工作原理

1.Nagios的功能是监控服务和主机,但是他自身并不包括这部分功能,所有的监控、检测功能都是通过各种插件来完成的。

  启动Nagios后,它会周期性的自动调用插件去检测服务器状态,同时Nagios会维持一个队列,所有插件返回来的状态信息都进入队列,Nagios每次都从队首开始读取信息,并进行处理后,把状态结果通过web显示出来。

  Nagios提供了许多插件,利用这些插件可以方便的监控很多服务状态。安装完成后,在nagios主目录下的/libexec里放有nagios自带的可以使用的所有插件,如,check_disk是检查磁盘空间的插件,check_load是检查CPU负载的,等等。每一个插件可以通过运行./check_xxx –h 来查看其使用方法和功能。

  Nagios可以识别4种状态返回信息,即 0(OK)表示状态正常/绿色、1(WARNING)表示出现警告/黄色、2(CRITICAL)表示出现非常严重的错误/红色、3(UNKNOWN)表示未知错误/深黄色。Nagios根据插件返回来的值,来判断监控对象的状态,并通过web显示出来,以供管理员及时发现故障。

四种监控状态


2.    再说报警功能,如果监控系统发现问题不能报警那就没有意义了,所以报警也是nagios很重要的功能之一。但是,同样的,Nagios 自身也没有报警部分的代码,甚至没有插件,而是交给用户或者其他相关开源项目组去完成的。

  Nagios 安装,是指基本平台,也就是Nagios软件包的安装。它是监控体系的框架,也是所有监控的基础。

  打开Nagios官方的文档,会发现Nagios基本上没有什么依赖包,只要求系统是Linux或者其他Nagios支持的系统。不过如果你没有安装apache(http服务),那么你就没有那么直观的界面来查看监控信息了,所以apache姑且算是一个前提条件。关于apache的安装,网上有很多,照着安装就是了。安装之后要检查一下是否可以正常工作。

  知道Nagios 是如何通过插件来管理服务器对象后,现在开始研究它是如何管理远端服务器对象的。Nagios 系统提供了一个插件NRPE。Nagios 通过周期性的运行它来获得远端服务器的各种状态信息。它们之间的关系如下图所示:


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 依次读取队列中的信息,再把结果显示出来。

forgaoqiang 发表于 2013-08-19 18:04

报警的话 只要配合Cacti就好了 Cacti 的报警能力不是一般的强悍~~

回复 26# verve516


   

defcon 发表于 2013-08-21 10:43

Cacti 监控windows的时候用到snmp需要重启系统,这点很不好,而nagios就不需要,而且nagios的一个插件check_mk绘制的图片比Cacti差不到哪去

skyadmin 发表于 2013-08-21 10:54

nagios 监控工具算是比较成熟的工具了,在插件开发可以支持应用监控。
目前有一些中文项目的版本出来,但是对查看开发,原理介绍很少。
未来的趋势还是APM ,对应用性能的监控管理,希望有机会读《掌控—构建Linux系统Nagios监控服务器》

osapub 发表于 2013-08-21 10:59

回复 3# chenyx
看了您的回复,见解独到,在短信这一块,除了短信猫,有没有考虑过139邮箱,或者是易信等免费的手机告警方式呢?



   
页: 1 2 [3] 4 5 6
查看完整版本: 自动化运维之---构建高性能Nagios监控服务器(获奖名单已公布-9-11)