使用 canvas 和 processing.js 实现实时服务器可视化

这篇文章是 Cloudkick 的首席创意总监 Logan Welliver 的客座博客文章。他是一名经过培训的平面设计师,在实践中担任网页设计师。

云管理公司 Cloudkick 发布了一个基于 canvas 和 processing.js 的 实时服务器监控可视化,该可视化是与 processing.js 的知名人士 Alastair McDonald 共同开发的。该产品旨在让用户能够随时了解其基础设施的运行状况,快速识别存在问题的节点,并通过易于理解的界面可视化汇总性能。

该工具使用 canvas 和 processing.js 将服务器绘制为三维的风格化圆圈,其中轴映射到三个性能指标之一:CPU 使用率、内存使用率和 ping 延迟。每个服务器的半径由其相对能力决定(例如,一个 EC2 超大型服务器比 256MB 切片更大),颜色可以通过 Cloudkick 仪表板进行自定义。当监控系统返回数据时,每个服务器都会闪烁,出现问题的服务器会以闪烁的红色警示。

canvas 和 processing.js 负责所有演示,由一系列后端服务提供支持,这些服务负责从监控服务器到实时将数据推送到用户的所有操作。

以下是后端架构的简要概述:Cloudkick Agent 实例(运行在单个服务器上)将指标报告到一个端点,该端点与 Reconnoiter 通信,然后将消息发布到 RabbitMQ。一个名为 Livedata 的内部服务会使用这些消息,找到适用于某个帐户的消息,并将消息重新发布到 RabbitMQOrbited 会使用这些消息并将它们发送到浏览器。从代理到浏览器的往返时间不到一秒。

Cloudkick 与 Mozilla 合作,为其 addons.mozilla.org 服务器提供可视化。您可以在此处查看它们的行为的实时演示:addons.mozilla.org 基础设施在 Cloudkick Viz 中.

获取您自己服务器的可视化效果。Cloudkick 为前 100 位 Mozilla Hacks 阅读者提供 20% 的折扣,使用促销代码“mozhacks01”。

关于 Jay Patel

我努力通过确保那些开发和推动网络的人是快乐的营员来改善网络。

Jay Patel 的更多文章…


4 条评论

  1. Brian

    您尝试使用这种可视化来解决哪些工作流程?三维散点图难以导航和定位。此外,由于服务器会根据其性能特征移动,因此几乎不可能检查特定服务器的状态。最后,您的服务器似乎是分层分组的(pm-app-*、pm-web-*、cn-*),但此分组在任何地方都没有表示出来。这种情况似乎更适合使用精心设计的仪表板(尽管我仍然不确定您试图解决哪些工作流程问题!)。

    希望您没有为此可视化支付任何费用或时间!

    2010 年 4 月 28 日 上午 08:01

  2. Chris

    显然这是一个在 hacks 中发布的实验,所以关于时间和金钱的评论毫无意义……无论如何,它看起来很酷。但导航很糟糕。我无法正确地围绕它旋转。

    2010 年 4 月 28 日 下午 07:39

  3. Max

    太慢了!是 Linux 的问题吗?

    2010 年 4 月 29 日 上午 03:11

    1. b_i_d

      在 Debian 测试版下的 Chrome 上运行得相当流畅。
      (是的,我知道我在 Mozilla 网站上……;) )

      我认为这种表示对于快速查看来说很好。但它“仅”在某些角度有效。您可以旋转它,但它会不断自旋。我认为如果它保持您旋转时的状态会更好。或者可能添加一个复选框来锁定当前视图。

      2010 年 5 月 12 日 上午 10:40

本文评论已关闭。