Mist 为多云可观测性扫清障碍

导航至

本文最初发表于 The New Stack

多云策略对于现代企业来说是必要的,最近 AWS 的中断事件已经清楚地表明了这一点,但管理这种基础设施仍然是一个巨大的挑战。基础设施管理团队长期以来一直在努力协调各种技术解决方案、策略和服务,以便及时了解其资源的情况。其结果要么是由于过度配置造成的浪费,要么是由于对细致的手动管理和重复性任务造成了巨大的开销。

一种新型的管理应用程序正在涌现,为团队提供一个统一的平台来观察和管理跨云的资源。Mist 由时间序列数据库 InfluxDB 提供支持,通过提供由灵活的 REST API 支持的统一界面,使 IT 团队能够管理其基础设施。

背景

Mist 是一个开源多云管理平台,可从公共云和私有云、虚拟机监控程序、容器和裸机服务器中提取洞察。在同一个用户界面中,它支持轻松的配置、编排、监控、成本管理和自动化。

该应用程序的诞生源于挫败感: Mist 的联合创始人当时经营着一家 IT 咨询公司 ,他们的客户遍布各种云服务,给他们带来了管理的噩梦。

联合创始人 Chris Psaltis 表示,他们每天都面临着来自客户的关于他们拥有的资源、资源的位置、如何控制访问以及如何自动化常见流程的问题。

他说:“我们的客户遍布世界各地,他们的基础设施遍布各地:AWS、本地部署、托管... 为了做出好的决策,您需要数据,这就是为什么监控指标对于管理基础设施至关重要。自 Mist 早期以来,我们就与监控工具集成,以便我们可以将这些监控指标汇集到平台内部,然后帮助我们的用户做出好的决策。”

上下文数据驱动明智的决策

A view of overall VM utilization across different cloud services

跨不同云服务的虚拟机总体利用率视图

Mist 通过原生 API 连接到基础设施提供商,以管理虚拟机并查看其性能,包括 CPU 使用率和负载平均值。它可以启动、配置、排除故障和销毁单个虚拟机,以及跨不同云监控和比较性能。它可以显示每个云上有多少虚拟机、它们的成本和性能。用户可以设置特定于机器或云的规则,并深入查看日志。他们可以在机器上执行脚本以安装应用程序和进行备份,或者在云中任何资源的集群中运行应用程序。

Mist 允许细粒度的资源权限,因此管理人员可以轻松地根据资源、在云级别、全局以及通过标签设置访问权限。例如,他们可以为管理员、开发和 QA 团队设置不同的策略。他们还可以配置 Mist 以强制其团队设置预算并管理资源的销毁,以避免成本超支。如果出现问题,可以在一个 Mist 仪表板中轻松访问日志。

虽然 Mist 最初是基于 Collectd 和 Graphite 构思和构建的,但该团队很快迁移到了 InfluxDB 及其采集代理 Telegraf,因为它们是为时间序列数据构建的。

基础设施监控数据生命周期

The architecture of Mist's monitoring subsystem.

Mist 监控子系统的架构

Mist 应用程序构建在 InfluxDB 之上,并将 时间序列数据库 用作监控和计量数据的核心。数据由 Telegraf 代理从目标虚拟机或裸机服务器收集,Telegraf 代理将监控数据流发送到 InfluxDB。计量数据由 Gocky 聚合,也馈送到 InfluxDB 中。计量数据对于用户衡量其容量非常重要,例如,每台机器和每个组织的数据点。从那里,Mist 插件 Cilia 充当规则引擎,根据一组规则评估流数据,并触发执行脚本和运行警报或 Webhook 等操作。

以 InfluxDB 为核心,Mist 的开发人员可以利用其开源 MIT 许可证在其基础上构建并在生产中使用它。他们不必预先配置指标粒度或预先分配磁盘空间,因为 InfluxDB 默认提供这些功能。这减轻了 Mist 在扩展其服务方面的运营负担,并节省了硬件成本。

使用 Telegraf 也意味着他们的用户可以访问其超过 200 个插件 的丰富数组,以最少的配置从几乎任何数据源收集数据。能够将 Telegraf 作为独立的二进制文件部署而无需依赖项也简化了 Mist 的部署过程。

在 Mist 中监控虚拟机

用户几乎可以立即开始使用 Mist,从受支持的提供商列表中选择他们的云并粘贴 API 令牌以开始收集数据。使用上游、未修改版本的 Telegraf,Mist 立即开始记录性能。如果 Mist 没有对目标机器的 SSH 访问权限,用户可以手动部署代理。

默认情况下,仪表板为用户提供该云的所有资源及其成本的视图。从这里,用户可以查看网络信息、文件系统、CPU 使用率、进程,并深入查看单个虚拟机和日志。他们还可以编写自定义 Python 脚本来收集特定于其需求的非默认信息;例如,到 IP 地址的 ping 时间。

自动化以实现最佳性能

Some common rules and automations in Mist.

Mist 中一些常见的规则和自动化

Cilia 插件持续查询 InfluxDB 中的时间序列数据和 Elasticsearch 中的日志数据。Cilia 允许用户根据特定触发器管理警报和其他工作流程。例如,如果每分钟启动的新机器超过一台,这可能表明过度配置,它将向特定团队发送电子邮件。

Mist 利用 InfluxDB 的自定义逻辑来识别动态阈值并自动扩展基础设施。用户可以触发 Webhook 或自动重启不稳定的虚拟机。他们可以按虚拟机、云、云组或标签创建规则,这些规则将应用于稍后添加的新虚拟机,而无需配置。

使用 InfluxDB 平台,Mist 开发了一个强大的应用程序,可以简化和普及基础设施管理,为组织节省资金,并为更多的自动化铺平道路。

要了解更多关于 InfluxDB 的信息,请访问 www.influxdata.com

关于作者

Lyndal Cairns InfluxData

Lyndal Cairns (她/她) 自互联网通过电话线发出刺耳的声音以来,一直从事技术写作。作为一名前记者,她以好奇心和深入了解技术如何帮助我们蓬勃发展的强烈愿望来对待她的工作。