求开源简单的监控系统 web 展现框架 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
flowyi
V2EX    程序员

求开源简单的监控系统 web 展现框架

  •  
  •   flowyi 2015-01-17 18:02:00 +08:00 15185 次点击
    这是一个创建于 3919 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我需要做一个分布式服务监控系统,大概就是监控各种自定义的服务器参数是否正常,比如消息数量,队列长度,cache命中率等,还有顺便能看看机器的io,cpu,内存等信息。还要考虑到集群有多种服务,比如storm、kafka、zookeeper等。
    想问问各位,有没有认识比较简单的web框架,可以展现如表格、曲线图、柱状图、饼状图等。界面美观什么的不要求,关键是要容易使用,部署方便(下载即用无依赖最喜欢了),自定义比较方便。不会写前端的小码农伤不起……

    话说各位用什么监控这些东西的呢?jmx? >_<
    17 条回复    2019-07-05 14:07:03 +08:00
    kamil
        1
    kamil  
       2015-01-17 18:22:15 +08:00
    可以看下这些
    Zenoss
    OpenNMS
    Nagios
    介绍可以看看OSChina上的或者直接Google
    kamil
        2
    kamil  
       2015-01-17 18:24:27 +08:00
    差点忘了,有名的还有zabbix
    9hills
        3
    9hills  
       2015-01-17 19:04:34 +08:00
    influxdb + grafana
    前者存储,后者展现,效果如下
    http://grafana.org/
    Honwhy
        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. 。。。
    Frannk
        5
    Frannk  
       2015-01-17 23:34:54 +08:00
    自己写监控客户端往 监控服务器回传数据


    https://github.com/etsy/statsd
    http://graphite.wikidot.com/
    你只要负责数据上 报就行了 图形和数据存储交给 graphite
    learnshare
        6
    learnshare  
       2015-01-17 23:41:22 +08:00
    你是要找监控系统,还是数据呈现框架?
    flowyi
        7
    flowyi  
    OP
       2015-01-18 00:14:35 +08:00
    @Honwhy 写的好详细啊!谢谢你提供思路。我现在的情况是写一个公司内部使用的监控页面,可以查看各个机器、服务的运行状况就ok了。数据方面我打算就放mysql,毕竟量不多,也可以定时清掉。然后用一个进程(或者多个)不停的采集写入数据,要展现的时候就用另外一个进程查出来丢给前端。
    现在主要的问题是前端展示的页面,一是我不会,二是想用最小成本最快方式搞定,所以琢磨着如果已经有个“框架”,我只需要提供数据,写些配置,就哇啦出来了,想必是极好的!

    @kamil 这些貌似都是现成的监控软件,而且没提供我想要的功能,不是我想要的哦

    @9hills @Frannk 看起来挺不错,研究一下!

    @learnshare 数据呈现框架。当然如果已经有现成的监控以上服务的监控系统,并且是开源免费,也是挺好的,可惜找了一圈没找到。
    learnshare
        8
    learnshare  
       2015-01-18 10:01:16 +08:00
    @flowyi 数据呈现的有 D3.js C3.js Echarts.js HighCharts.js 等等,监控的我就不了解了
    wgzhao
        9
    wgzhao  
       2015-01-18 11:16:05 +08:00
    我们现在一直都用Zabbix(http://www.zabbix.com)他的好处是在有灵活的展现方式,无论是图表还是数据。
    jamiesun
        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
    flowyi
        11
    flowyi  
    OP
       2015-02-05 11:39:14 +08:00   1
    感谢大家的建议,我现在暂时用的方案是Influxdb+Grafana+自己写的java数据采集进程。
    由于我们已经在用Zabbix了,系统的情况都可以通过它来监控,这套系统解决的是一些自定义的指标数据、统计数据。数据的采集其实都好办,就是前端呈现有点麻烦(不会前端T_T),各位推荐的数据呈现框架都挺好,只是需要一定前端基础和编码时间,所以就用了偷懒的Grafana。
    选择他们的原因纯粹是部署配置简单,上手快。
    现在勉强能用,就是Grafana有几点不爽:
    1. 这货没有table,要显示大量当前信息很蛋疼,目前是用字符串打印成表格的形式……
    2. 由于纯界面配置,可定制化还是没有直接编码来的爽,还是得搞前端啊
    sichuyoudang312
        12
    sichuyoudang312  
       2015-09-29 11:45:09 +08:00
    为什么不用现成的监控工具
    flowyi
        13
    flowyi  
    OP
       2015-10-02 12:09:40 +08:00
    还有人关注这个帖子,那我就贴下我们现在的方案吧,就是自己写一个,大家可以试试: https://github.com/shunfei/DCMonitor
    homu
        14
    homu  
       2016-03-25 15:56:15 +08:00
    为什么都要自己搭呢 何不考虑一下免费的第三方工具 比如 cloud insight 这样的 支持 20 多种平台 可视化做的非常好 还可以自定义上传数据 包括业务数据 集中展现 http://docs-ci.oneapm.com/
    situs
        15
    situs  
       2016-06-30 14:03:26 +08:00
    用小米的 open-falcon 吧
    Dempe
        16
    Dempe  
       2017-01-06 16:25:13 +08:00
    之前也是在找一个轻量监控放方案,客户端上报不同维度数据,然后就能看到报表。报表不要太丑。
    网上搜到小米的,大众点评的,还有其他的 n 多方案,虽然灵活,但是感觉都太重了。
    找了很久也没有找到理想的方案,只好自己撸一个
    https://github.com/dempeZheng/forest-metrics
    页面基于 adminLTE ,报表基于 highchart ,
    evenno
        17
    evenno  
       2019-07-05 14:07:03 +08:00
    @jamiesun 你的开源平台账号密码哪里看,是多少啊
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2707 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 15:03 PVG 23:03 LAX 08:03 JFK 11:03
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86