1
kamil 2015-01-17 18:22:15 +08:00
可以看下这些
Zenoss OpenNMS Nagios 介绍可以看看OSChina上的或者直接Google |
2
kamil 2015-01-17 18:24:27 +08:00
差点忘了,有名的还有zabbix
|
3
9hills 2015-01-17 19:04:34 +08:00
|
4
Honwhy 2015-01-17 21:16:29 +08:00 1
怕文不对题,提醒一句,先按照个人思路阐述一下。
首先你得关注整体架构吧,前端的展现只要后台提供了数据接口问题就不大了,如果你搞不定前端就想办法了,找人帮忙指导啥的。 分两部分看你的问题,一个是基本监控(性能信息:io, CPU, 内存),一个是扩展或者定制监控,消息数量,队列长度,cache命中率,然后才是数据输出(到前端)。 楼上提到的开源的监控软件据我了解都能满足基本监控的需求。定制部分就要看这些开源软件的架构及你个人、团队对这个软件的掌握程度了。比如我了解到Nagios,是支持扩展的,把NRPE看作一阵通信机制的话,在agent端和client端都可以根据nagios提供的文档进行扩展。<del>Nagios的4.x明确支持分布式了,还支持热备.</del>删除线部分不保证什么正确,哈。 然而,不得不说哪种软件适合自己还得从自身、团队的技术背景出发考虑。如Nagios是C语言写的,他本身也带了PHP前端,PHP和后台采用的是CGI通信方式,个人觉得定制Nagios难度不小,当然不能排除C语言大神的存在,我反正是放弃了的。另外,还需要考虑一点是否需要支持行业标准协议SNMP,如果需要支持的话,那有些开源软件你或许就不会选择了,如Nagios就是自己定义的协议,虽然可以通过扩展支持SNMP协议,但这种不直接让人觉得不够爽快。 说了这么多,虽然有难度,但是能把监控做好的已经能做成一门大生意了,建议去偷师“监控宝”。 虽然题主的问题是“求开源简单的监控系统 web 展现框架”,关心的是web框架,我上面都在谈监控。。。 我凭印象提一下开源监控软件的的前端的情况,它们的前端大都很朴素的,并没有上升得到“框架”的层次。 例如绘制流量图,使用标准协议SNMP的MRTG+RRDTool,现在zabbix, nagios, cactic都使用它。监控软件关注的实时性,而且尽量不对agent机器造成性能影响。如果是自己采集收集然后在前端输出的话,或许你需要一个数据库,opennms也使用到了postgresql。http://njulinq.blog.51cto.com/1257169/277754 那么假设前面的问题都解决了,要绘制表格、曲线图、柱状图、饼状图等这些图例,可选用当然有大名鼎鼎的highcharts了,python作为运维中比较流行的语言,也有不少可以选择的,参考链接 http://django-china.cn/topic/75/ 最后再说点之前的实践好了,怕又泄露公司机密啥的,其实也没啥秘密可言的。提两个关键的地方, 1. 采集数据采用的是异步方式 2. 适时地对大数据进行统计汇总 3. 漂亮的绘图框架怕是影响性能的 4. 。。。 |
5
Frannk 2015-01-17 23:34:54 +08:00
自己写监控客户端往 监控服务器回传数据
https://github.com/etsy/statsd http://graphite.wikidot.com/ 你只要负责数据上 报就行了 图形和数据存储交给 graphite |
6
learnshare 2015-01-17 23:41:22 +08:00
你是要找监控系统,还是数据呈现框架?
|
7
flowyi OP @Honwhy 写的好详细啊!谢谢你提供思路。我现在的情况是写一个公司内部使用的监控页面,可以查看各个机器、服务的运行状况就ok了。数据方面我打算就放mysql,毕竟量不多,也可以定时清掉。然后用一个进程(或者多个)不停的采集写入数据,要展现的时候就用另外一个进程查出来丢给前端。
现在主要的问题是前端展示的页面,一是我不会,二是想用最小成本最快方式搞定,所以琢磨着如果已经有个“框架”,我只需要提供数据,写些配置,就哇啦出来了,想必是极好的! @kamil 这些貌似都是现成的监控软件,而且没提供我想要的功能,不是我想要的哦 @9hills @Frannk 看起来挺不错,研究一下! @learnshare 数据呈现框架。当然如果已经有现成的监控以上服务的监控系统,并且是开源免费,也是挺好的,可惜找了一圈没找到。 |
8
learnshare 2015-01-18 10:01:16 +08:00
@flowyi 数据呈现的有 D3.js C3.js Echarts.js HighCharts.js 等等,监控的我就不了解了
|
9
wgzhao 2015-01-18 11:16:05 +08:00
我们现在一直都用Zabbix(http://www.zabbix.com)他的好处是在有灵活的展现方式,无论是图表还是数据。
|
10
jamiesun 2015-01-18 22:48:13 +08:00
@flowyi 我和你一样也遇到过这个问题,我比较喜欢用nagios来做监控,但是nagios自带的那个web让我没法接受,php+apache+一堆三方插件,所以我自己就写了个简单地web管理界面,用mongodb存储性能数据,用python写个性能数据采集插件,前台用js图表直接搞定,暂时只做了磁盘,内存,cpu负载几个图。另外用了pynag这个模块,这个模块非常不错,我用这个模块实现了纯手工界面的配置,然后丢给其他懒人用。
https://github.com/talkincode/ToughNag |
11
flowyi OP 感谢大家的建议,我现在暂时用的方案是Influxdb+Grafana+自己写的java数据采集进程。
由于我们已经在用Zabbix了,系统的情况都可以通过它来监控,这套系统解决的是一些自定义的指标数据、统计数据。数据的采集其实都好办,就是前端呈现有点麻烦(不会前端T_T),各位推荐的数据呈现框架都挺好,只是需要一定前端基础和编码时间,所以就用了偷懒的Grafana。 选择他们的原因纯粹是部署配置简单,上手快。 现在勉强能用,就是Grafana有几点不爽: 1. 这货没有table,要显示大量当前信息很蛋疼,目前是用字符串打印成表格的形式…… 2. 由于纯界面配置,可定制化还是没有直接编码来的爽,还是得搞前端啊 |
12
sichuyoudang312 2015-09-29 11:45:09 +08:00
为什么不用现成的监控工具
|
13
flowyi OP 还有人关注这个帖子,那我就贴下我们现在的方案吧,就是自己写一个,大家可以试试: https://github.com/shunfei/DCMonitor
|
14
homu 2016-03-25 15:56:15 +08:00
为什么都要自己搭呢 何不考虑一下免费的第三方工具 比如 cloud insight 这样的 支持 20 多种平台 可视化做的非常好 还可以自定义上传数据 包括业务数据 集中展现 http://docs-ci.oneapm.com/
|
15
situs 2016-06-30 14:03:26 +08:00
用小米的 open-falcon 吧
|
16
Dempe 2017-01-06 16:25:13 +08:00
之前也是在找一个轻量监控放方案,客户端上报不同维度数据,然后就能看到报表。报表不要太丑。
网上搜到小米的,大众点评的,还有其他的 n 多方案,虽然灵活,但是感觉都太重了。 找了很久也没有找到理想的方案,只好自己撸一个 https://github.com/dempeZheng/forest-metrics 页面基于 adminLTE ,报表基于 highchart , |