搭建完美的监控系统

标签: 工具使用 collectd graphite nagios statsd | 发表时间:2012-12-10 21:25 | 作者:dccmx
出处:http://blog.dccmx.com

对于任何一个互联网公司来说,监控系统都是不可或缺的。监控系统的完善程度,直接影响到系统的稳定程度,性能等各个方面。

关于监控系统的搭建,网上已经有了很多方案,在规划公司的监控体系的时候,我也参考了很多解决方案。比较常见的有:nagios,cacti,icinga,zabbix,ganglia,还有收费的监控服务有如newrelic等。

考察了一圈下来,发现各有所长,又各有重叠。nagios的优势是报警功能非常成熟和强大,插件体系也非常简单易扩展,但是,对性能、流量等指标的处理不给力。于是需要cacti来互补,cacti虽说不仅仅支持snmp,但是对于业务数据的监控(如页面pv量)支持仍然不是很好,icinga是nagios的兼容升级版,遗憾的是,缺点还在。zabbix貌似保护了nagios+cacti,但是对于我们来说,显得大而全,略重,于是没细看。ganglia貌似挺不错,flickr在用。

最后,我决定,使用collectd+statsd(statsite)+graphite+nagios来做我们的监控方案。

这套系统包含三个部分:

一个是指标的收集

这里使用collectd和statsite, collectd是一个非常小巧清新(我喜欢)的指标收集系统,部署在所有机器上,它会定时将机器的各种指标(通过各种插件来实现)写到rrd文件中或者发送到其他系统(如graphite或者另外一个collectd服务)。自带的几十个插件几乎覆盖了基础技术指标的所有方面,从磁盘读写到网络流量,从到load到内存再到mysql。我们在所有机器上都部了collectd,然后将指标汇总到一台collectd服务器上。这个collectd再将数据写到graphite中。于是,基础技术指标全来了。

statsitestatsd的c语言版)也是一个指标收集系统,它和collectd一样小巧清新,不同的地方在于,collectd是定时主动去获取指标,而statsite则是需要应用程序不断的将指标喂给它,这就非常适合业务数据的收集,如访问次数,响应时间等统计。来一条,往statsite记一条,statsite还会帮你算平均值,次数等基本的统计。而且,还支持写到graphite中。真是爽啊。我们的应用中包含了一些统计代码,还有一大部分指标通过订阅日志来实时统计。

然后是指标的展示(绘制曲线)

我们选用了 graphite这个工具,这个工具非常棒,它只做数据指标的绘图,而且做到极致,非常符合我的口味。它可以将各种指标,经过运算得到你想要的曲线,并且支持简单的dashboard,不过,这个dashboard略简陋,可以考虑自己弄,将它生成的图嵌进去即可。另外一个非常重要的功能是,对你配置好的曲线,可以通过HTTP接口获得数据。这就为后面的工作提供了极大的方便。

最后是报警

nagios再适合不过了,简单,稳定,通过nrpe监控了机器上的基本指标后,大部分的报警都是通过自己写的check_graphite插件来读我们配置好的图来完成。这样,我们任何一个系统出了问题,立刻短信就来了。

记住,Measure everything&monitor everything!

相关 [完美 监控 系统] 推荐:

搭建完美的监控系统

- - DCCMX
对于任何一个互联网公司来说,监控系统都是不可或缺的. 监控系统的完善程度,直接影响到系统的稳定程度,性能等各个方面. 关于监控系统的搭建,网上已经有了很多方案,在规划公司的监控体系的时候,我也参考了很多解决方案. 比较常见的有:nagios,cacti,icinga,zabbix,ganglia,还有收费的监控服务有如newrelic等.

Linux系统监控

- - CSDN博客系统运维推荐文章
查看所有的进程和端口使用情况:. 查看nginx并发(连接数)进程数:. 查看当网络连接状态中,已建立连接的数量:. 查看系统tcp连接中各个状态的连接数. 输出每个ip的连接数,以及总的各个状态的连接数. df -hl 查看磁盘使用情况 . df -hl 查看磁盘剩余空间. df -h 查看每个根路径的分区大小.

开源监控系统 Shinken

- Le - 开源中国社区最新软件
Shinken是一款类似于Nagios的开源监控工具,由scratch重新设计和重写. 它的主要目的是迎合当前系统监控的需要同时具备Nagios一样的能力.

常用的linux系统监控命令

- Mountain - agapple
记录一下自己常用的linux系统命令,方便以后查阅,发觉记忆越来越不行了. 找到最耗CPU的java线程. 命令:ps -mp pid -o THREAD,tid,time   或者  ps -Lfp pid. 这个命令的作用,主要是可以获取到对应一个进程下的线程的一些信息. 比如你想分析一下一个java进程的一些运行瓶颈点,可以通过该命令找到所有当前Thread的占用CPU的时间,也就是这里的最后一列.

ZoneMinder 1.25 发布,视频监控系统

- 迎客松 - LinuxEden开源社区-Linux伊甸园
ZoneMinder的作者是因為家中的車庫被竊,因而產生設計監控保全的念頭. ZoneMinder使用了Linux Server,PHP,MySQL加上幾支攝影機,就可以使用web介面監控重要場所. 當異常事件發生時,你就可以收到e-mail或簡訊通知. 阅读全文 | 邮件推荐 | 评论回复.

前端性能监控系统ShowSlow

- - CSDN博客Web前端推荐文章
作者:zhanhailiang 日期:2014-11-14. ShowSlow是开源的前端性能监控系统,提供了以下功能:. 前端性能指标数据收集功能:ShowSlow原生提供了数据收集工具. DOM Monster!,但也支持通过YSlow,PageSpeed等第三方工具将性能数据上报给服务端完成收集(其服务器端提供了针对多达8种不同工具上报的数据收集器dommonster,dynatrace,events,har,metric,pagespeed,webpagetest,yslow);.

Linux系统和性能监控

- - zzm
CPU性能表现如何一般从三个方面来衡量:运行队列、利用率和上下文切换. 正如前文所提及的,性能表现的好坏和基线数据(或预期)是密不可分的. 对大部分系统而言,一些基本的性能预期如下:. 运行队列——每个处理器运行队列中不应该超过1-3个线程. 例如,一个双核的系统中,运行队列长度不应该超过6. (译注:即一个系统的load average值不应该大于核数的4倍.

Nagios 监控系统架设全攻略

- - IBM developerWorks 中国 : 文档库
Nagios 全名为(Nagios Ain’t Goona Insist on Saintood),最初项目名字是 NetSaint. 它是一款免费的开源 IT 基础设施监控系统,其功能强大,灵活性强,能有效监控 Windows 、Linux、VMware 和 Unix 主机状态,交换机、路由器等网络设置等.

Ganglia:分布式监控系统

- - CSDN博客移动开发推荐文章
1         环境安装配置. 1.1      依赖软件下载. Ganglia是伯克利开发的一个集群监控软件. 可以监视和显示集群中的节点的各种状态信息,比如如:cpu 、mem、硬盘利用率, I/O负载、网络流量情况等,同时可以将历史数据以曲线方式通过php页面呈现. 而ganglia又依赖于一个web服务器用来显示集群状态,用rrdtool来存储数据和生成曲线图,需要xml解析因此需要expat,配置文件解析需要libconfuse.

系统性能监控之 Swap Space

- - Darktea
对线上服务器进行性能监控时, 需要关注各种性能指标, 从各个方面来对系统性能进行监控. 例如, 系统负载, cpu 占用, 内存占用, 网络带宽等. 其中 Swap Space 的使用状况也是值得关注的一项, 本文对在 Linux 环境中监控 Swap Space 的相关内容进行了总结.. 一, 首先简单的介绍一下什么是 Swap Space.