采访 Canonical
2016年11月16日作者 Brian Brazil
在我们的 Prometheus 用户系列访谈中,Canonical 讲述了他们如何向 Prometheus 过渡。
你能介绍一下你自己以及 Canonical 的业务吗?
Canonical 最广为人知的身份是 Ubuntu Linux 的赞助商。我们还开发或参与了许多其他开源项目,包括 MAAS、Juju 和 OpenStack,并为这些产品提供商业支持。Ubuntu 为大多数 OpenStack 部署提供支持,占生产云环境的 55%,以及 58% 的大型云部署 。
我所在的团队 BootStack 是我们提供的一项全托管私有云服务。我们为 Canonical 的客户构建并运营 OpenStack 云环境。
在使用 Prometheus 之前,您的监控体验是怎样的?
我们曾经组合使用 Nagios 、Graphite /statsd 以及内部开发的 Django 应用。这些工具无法在我们内部和客户的云环境中提供我们所需的灵活性和报表能力。
你们为什么决定研究 Prometheus?
我们评估了一些替代方案,包括 InfluxDB 以及扩展使用 Graphite,但我们初次尝试 Prometheus 时就发现它完美结合了我们所追求的简单性和强大功能。我们特别欣赏标签(labels)带来的便利、简单的 HTTP 协议以及开箱即用的 时间序列告警功能。Prometheus 有潜力将两种不同的工具(告警和趋势分析)合二为一,这一点尤其吸引我们。
此外,我们几位员工在谷歌工作时有使用 Borgmon 的经验,这极大地增加了我们对 Prometheus 的兴趣!
你们是如何过渡的?
我们目前仍处于过渡过程中。由于我们现有系统中使用了大量需要重新实现为 Prometheus 格式的自定义检查,预计这还需要一些时间。目前最有用的资源是 prometheus.io 官网文档。
我们花了一段时间才选定 exporter。最初我们选择了 collectd ,但遇到了局限性。我们现在正在编写一个 openstack-exporter ,当时我们感到有些惊讶,因为没有找到关于如何从头开始编写 exporter 的高质量、可用的示例。
我们遇到的一些挑战包括:不支持降采样(downsampling),没有长期存储解决方案(目前还没有),而且默认的 2 周保留期也让我们感到意外。目前还没有与 Juju 的集成,但我们正在努力实现它 !
切换后你们看到了哪些改进?
一旦掌握了 exporter 的编写,我们发现它们非常容易上手,并为我们提供了非常有价值的指标。例如,我们正在为我们的云环境开发 openstack-exporter。我们还看到 DevOps、WebOps 小组以及开发人员跨团队快速采纳了该工具。我们目前还没有启用告警功能,但预计一旦进入过渡阶段的这一环节,将会看到更多的应用。
你认为 Canonical 和 Prometheus 的未来会怎样?
我们预计 Prometheus 将成为我们监控和报告基础设施的重要组成部分,为当前和未来的众多系统提供指标采集和存储功能。我们认为它有潜力在告警方面取代 Nagios。