请参与 Prometheus 用户调研(2026 年 3 月版) ,帮助社区确定未来开发工作的优先级!

采访 L’Atelier Animation

2017年6月14日作者 Brian Brazil

在我们的 Prometheus 用户系列访谈中,来自 L’Atelier Animation 的 Philippe Panaite 和 Barthelemy Stevens 讲述了他们如何将动画工作室的监控系统从 Nagios、Graphite 和 InfluxDB 的组合迁移到 Prometheus。

能介绍一下您自己以及 L’Atelier Animation 是做什么的吗?

L’Atelier Animation  是一家位于加拿大蒙特利尔美丽城市的 3D 动画工作室。我们的首部故事片 “Ballerina” (也称为“Leap”)已于 2017 年在全球发行,预计今年晚些时候会在美国上映。

目前我们正忙于制作一部动画电视连续剧和我们的第二部故事片。我们的基础设施包括约 300 台渲染刀片服务器、150 个工作站和 20 台各种服务器。除少数几台 Mac 外,所有设备都运行在 Linux (CentOS ) 上,没有一台 Windows 机器。

 

在使用 Prometheus 之前,您的监控体验是怎样的?

  起初,我们使用 Nagios Graphite InfluxDB  的组合。最初的设置虽然“还行”,但没什么特别之处,而且过于复杂(组件太多)。

你们为什么决定研究 Prometheus?

  当我们将所有服务迁移到 CentOS 7 时,我们研究了新的监控解决方案,Prometheus 因为许多原因脱颖而出,其中最重要的是:

  • Node Exporter:凭借其强大的定制能力,我们可以从客户端获取任何数据。
  • SNMP 支持:不再需要第三方 SNMP 服务。
  • 告警系统:告别 Nagios。
  • Grafana  支持。

你们是如何过渡的?

当我们完成第一部电影制作时,正好有一段空闲期,这对 IT 部门来说是进行重大变革的绝佳机会。我们决定彻底更换整个监控系统,因为它没有达到我们理想的效果。

监控网络设备是重中之重,因此我们首先配置了 snmp_exporter  以从我们的交换机获取数据。exporter 对 NetSNMP 的调用在 CentOS 下有所不同,所以我们必须重新编译一些二进制文件。我们遇到了一些小障碍,但在 Robust Perception  的 Brian Brazil 的帮助下,我们很快解决了问题。一旦 snmp_exporter 正常运行,我们就能够轻松添加新设备并获取 SNMP 数据。现在,我们的核心网络(包括 13 台交换机、10 个 VLAN)已在 Grafana 中进行监控。

Switch metrics from SNMP data

之后,由于我们需要对工作站、渲染刀片和服务器进行分析,我们配置了 node_exporter 。在我们的领域,CPU 不满载反而成了一个问题,因为我们需要榨干每一分算力,所以温度反而是个更关键的指标。此外,我们需要尽可能高的正常运行时间,因此我们所有的工作站都通过 Prometheus 的 Alertmanager 设置了电子邮件告警,以便在任何设备出现故障时我们都能及时获悉。

Dashboard for one workstation

我们有特殊需求,需要监控来自客户端的自定义数据,这通过使用 node_exporter 的 文本文件收集器 (textfile collector)  功能变得非常容易。一个 Cron 任务会将来自任何给定工具的特定数据输出为 Prometheus 可读取的预格式化文本文件。

由于所有数据都可以通过 HTTP 协议获取,我们编写了一个 Python  脚本来从 Prometheus 获取数据。我们将数据存储在 MySQL  数据库中,并通过一个 Web 应用程序访问,该程序会创建一个实时平面图。这使我们可以通过简单的鼠标悬停,就知道哪个用户坐在哪里以及使用什么硬件。我们还创建了另一个包含用户照片和部门信息的页面,帮助新员工了解他们的邻座是谁。这个网站仍处于开发中,所以请不要介意它的外观,毕竟我们是系统管理员,不是网页设计师 :-)

Floormap with workstation detail

切换后你们看到了哪些改进?

这次机会改变了我们监控工作室所有内容的方式,并激励我们根据 Prometheus 获取的数据创建了一个新的自定义平面图。现在的设置变得简单多了,真正实现了“一个服务管所有”。

您认为 L’Atelier Animation 和 Prometheus 的未来会怎样?

我们目前正在将软件许可证的使用情况集成到 Prometheus 中。这些信息将让艺术家们清楚地了解谁在使用什么软件以及在哪里使用。

我们将继续根据用户的需求定制并向 Prometheus 添加新功能。既然我们与艺术家们共事,我们知道需求肯定会非常多 :-) 有了 SNMP 和 node_exporter 的自定义文本文件输入,可能性是无穷无尽的……