L’Atelier Animation 访谈

继续我们对 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 之前的监控经验是什么?

  最初我们使用了 NagiosGraphiteInfluxDB 的混合方案。最初的设置“还可以”,但没什么特别的,而且过于复杂(移动部件太多)。  

您为什么决定关注 Prometheus?

  当我们将所有服务切换到 CentOS 7 时,我们考察了新的监控解决方案,Prometheus 因多种原因而出现,但最重要的是

  • Node Exporter:凭借其自定义功能,我们可以从客户端获取任何数据
  • SNMP 支持:无需第三方 SNMP 服务
  • 警报系统:再见 Nagios
  • Grafana 支持

您是如何过渡的?

当我们完成第一部电影时,我们有一段停机时间,这对于我们的 IT 部门来说是进行重大更改的绝佳机会。我们决定清除我们整个监控系统,因为它没有我们想要的那么好。  

最重要的部分之一是监控网络设备,因此我们首先配置 snmp_exporter 以从我们的一个交换机获取数据。导出器对 NetSNMP 的调用在 CentOS 下有所不同,因此我们不得不重新编译一些二进制文件,我们在这里和那里遇到了一些小问题,但在 Robust Perception 的 Brian Brazil 的帮助下,我们很快就解决了所有问题。一旦我们让 snmp_exporter 工作起来,我们就可以轻松添加新设备并获取 SNMP 数据。我们现在在 Grafana 中监控了我们的核心网络(包括 13 个交换机、10 个 VLAN)。

Switch metrics from SNMP data

在那之后,我们配置了 node_exporter,因为我们需要对工作站、渲染刀片服务器和服务器进行分析。在我们的领域,当 CPU 没有达到 100% 时,这是一个问题,我们想尽可能使用所有功率,所以最终温度更关键。此外,我们需要尽可能长的正常运行时间,因此我们所有的工作站都通过 Prometheus 的 Alertmanager 设置了电子邮件警报,以便我们知道何时有任何设备宕机。

Dashboard for one workstation

我们的特定需求要求我们监控来自客户端的自定义数据,通过使用 node_exporter 的 textfile collector 功能可以轻松实现这一点。一个 cronjob 将来自任何给定工具的特定数据输出到一个预格式化的文本文件中,该文件格式可被 Prometheus 读取。  

由于所有数据都通过 HTTP 协议可用,我们编写了一个 Python 脚本来从 Prometheus 获取数据。我们将其存储在通过 Web 应用程序访问的 MySQL 数据库中,该应用程序创建了一个实时的楼层地图。这使我们只需将鼠标悬停在上面就可以知道哪个用户坐在哪里,使用什么类型的硬件。我们还创建了另一个页面,其中包含用户的照片和部门信息,这有助于新员工了解他们的邻居是谁。该网站仍然是一个正在进行的项目,所以请不要评价外观,我们毕竟是系统管理员,而不是网页设计师 :-)

Floormap with workstation detail

自从切换以来,您看到了哪些改进?

它给了我们一个机会来改变我们监控工作室中一切事物的方式,并启发我们创建了一个新的自定义楼层地图,其中包含最初由 Prometheus 获取的所有数据。设置更简单了,一个服务就可以统治一切。

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

我们目前正在将软件许可证使用情况与 Prometheus 集成。这些信息将让艺术家们清楚地了解谁在何处使用什么。

我们将继续根据用户需求自定义并向 Prometheus 添加新内容,并且由于我们与艺术家合作,我们知道会有很多需求 :-) 借助 SNMP 和 node_exporter 的自定义文本文件输入,可能性是无限的……