通过


你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Azure 托管 Grafana的可靠性

Azure 托管 Grafana提供托管的 Grafana 工作区,用于生成仪表板和可视化效果。 Microsoft管理所有底层基础结构,包括计算、网络、存储和服务更新。

使用 Azure 时,可靠性是共同的责任。 Microsoft提供了一系列功能来支持复原和恢复。 你负责了解这些功能如何在你使用的所有服务中工作,并选择满足业务目标和运行时间目标所需的功能。

本文介绍如何使Azure 托管 Grafana能够灵活应对各种潜在的中断和问题,包括暂时性故障、可用性区域中断和区域中断。 它还介绍了如何从其他类型的问题中备份和恢复,并重点介绍了有关Azure 托管 Grafana服务级别协议(SLA)的一些关键信息。

生产部署建议

若要使用 Azure 托管 Grafana 提高生产部署的可靠性,建议执行以下作:

  • 创建工作区时启用区域冗余,以提供可用性区域故障的复原能力。
  • 存储仪表板和其他 Grafana 资源(如代码),例如,从 Grafana API 或 CLI 导出仪表板,并将其存储在源代码管理存储库(如GitHub)中。 使用 CI/CD 管道将仪表板部署到Azure 托管 Grafana。 此方法支持恢复方案。 它还允许部署到多个 Grafana 实例,包括不同Azure区域中的实例(如果需要)。

可靠性体系结构概述

本部分介绍从可靠性的角度来看,服务工作原理最相关的一些重要方面。 本部分介绍逻辑体系结构,其中包括部署和使用的某些资源和功能。 它还讨论了物理架构,该架构提供了服务内部运作方式的详细信息。

逻辑体系结构

部署的主要Azure资源是 workspace。 部署工作区后,使用工作区的 Grafana 终结点配置数据源、仪表板、可视化效果和其他 Grafana 资源并与之交互。

物理体系结构

在创建工作区后,Azure平台预配以下组件:

  • Grafana 服务器:运行 Grafana 应用程序的专用虚拟机。 默认情况下,预配两个服务器以实现高可用性和冗余。 这些服务器由Microsoft完全管理。 在订阅中看不到它们,无法访问它们,并且你不负责修补、缩放或维护它们。
  • 负载均衡器:一个网络负载均衡器,用于跨 Grafana 服务器分发传入浏览器请求。 负载均衡器监视服务器健康状况,并自动路由网络流量离开任何不健康的服务器。
  • Backend 数据库:存储工作区配置和其他持久性数据的Azure Database for PostgreSQL数据库。 此数据库在工作区中的所有 Grafana 服务器之间共享。

负载均衡器跟踪哪些 Grafana 服务器可用。 在双服务器设置中,如果一台服务器运行不正常,负载均衡器会将所有请求发送到剩余服务器。 该服务器根据共享数据库中保存的信息选取以前由另一个服务器提供服务的浏览器会话。 同时,Azure 托管 Grafana服务可用于修复不正常的服务器或启动新服务器。

该图显示一个 Azure 托管 Grafana 工作区,其中包含由服务部署的两个虚拟机和一个负载均衡器。

暂时性故障的复原能力

暂时性故障是指组件发生短暂的间歇性故障。 这些故障经常出现在云之类的分布式环境中,在运营过程中比较常见。 暂时性故障在短时间内自行纠正。 应用程序通常可以通过重试受影响的请求来处理暂时性故障,这一点很重要。

与任何云托管的 API、数据库和其他组件通信时,所有云托管的应用程序都应遵循Azure暂时性故障处理指南。 有关详细信息,请参阅有关处理暂时性故障的建议。

可以生成客户端应用程序,以便通过 Grafana API 与 Grafana 工作区进行交互。 对于任何失败的请求,请确保这些应用程序遵循Azure重试指南。

应对可用区故障的弹性

可用区是物理上相互独立的Azure区域中的数据中心组。 当某个区域发生故障时,服务可以切换到其他可用的区域。

Azure 托管 Grafana 工作区在受支持的 Azure 区域中提供区域冗余支持。 启用区域冗余后,工作区的 Grafana 服务器分布在多个可用性区域。 Microsoft选择工作区使用的区域。 其他资源(如网络负载均衡器、数据库和共享网关)也配置为使用多个可用性区域。

该图展示了一个Azure 托管 Grafana工作区,包括两个实例,每个位于单独的可用性区域,并配有一个区域冗余的负载均衡器。

如果未启用区域冗余,则为 非区域 或 区域,这意味着服务器和其他组件可能放置在该区域或同一区域中的任何可用性区域中。 如果区域中的任何可用性区域出现问题,则工作区可能会遇到停机。

要求

区域支持: 区域冗余支持在以下区域中可用:

美洲 欧洲 亚太
美国东部 北欧 Australia East
美国中南部 东亚
美国西部 3

成本

启用区域冗余需要额外的成本。 有关详细信息,请参阅 Azure 托管 Grafana 定价

配置可用性区域支持

  • 创建启用了可用性区域的新工作区:通过 Azure 门户、CLI 或 ARM/Bicep 模板创建工作区期间启用区域冗余。

    有关详细信息,请参阅 在 Azure 托管 Grafana 中启用区域冗余

  • 在现有工作区上配置区域冗余: 不能在现有工作区上启用或禁用区域冗余。 相反,需要创建具有所需区域冗余配置的新工作区,迁移仪表板和配置,然后删除现有工作区。

所有区域正常时的行为

本部分介绍将工作区配置为区域冗余且所有可用性区域都正常运行时会发生什么情况。

  • 区域之间的流量路由: 区域冗余负载均衡器会自动在 Grafana 服务器之间分配传入请求。 这两个服务器都可以处理流量。

  • 区域之间的数据复制: 对工作区数据的更改跨多个可用性区域同步复制。 数据复制由Azure Database for PostgreSQL执行。 有关详细信息,请参阅 Azure Database for PostgreSQL 中的可靠性。 Azure 托管 Grafana不会实现数据库平台提供的其他自定义复制逻辑。

区域故障期间的行为

本节描述了当工作区配置为区域冗余时以及当某个可用性区域无法使用时预期会发生的情况。

  • 检测和响应:Azure 平台检测并响应可用区中的故障。 无需启动区域故障转移。
  • 预期数据丢失:在可用性区域中断期间,不会丢失任何数据。

  • 预期的停机时间: 工作区可能会经历少量的停机时间,通常限制为几秒钟,而流量将重新路由到正常的服务器。 确保任何客户端应用程序适当地处理 暂时性故障 ,以最大程度地减少任何停机时间的影响。

  • 流量重新路由: 传入流量会自动路由到正常区域中的服务器。 服务在发生区域中断期间容量减少的情况下运行。 在中断期间,替换服务器不会在正常的区域中预配。

区域恢复

Microsoft自动管理区域恢复,包括在受影响区域再次正常运行时还原服务容量。

测试区域故障

Azure平台管理区域冗余工作区的流量路由、故障转移和故障恢复。 此功能是完全托管的,因此无需启动或验证可用性区域故障流程。

对区域范围的故障的复原能力

Azure 托管 Grafana是单区域服务。 如果区域不可用,工作区也不可用。

用于复原的自定义多区域解决方案

若要实现区域中断的复原能力,可以在不同的区域中部署多个 Grafana 工作区。 在此类型的解决方案中,你负责:

  • 在区域之间复制仪表板和配置。 例如,可以使用 CI/CD 和源代码管理跨多个工作区应用一致的配置。
  • 在应用程序或客户端级别实现流量路由和故障转移。

备份和还原

Azure 托管 Grafana不提供仪表板或其他数据平面实体的内置备份或还原功能。 若要防止意外删除或损坏:

  • 使用 Grafana API 或 CLI 导出仪表板和其他 Grafana 配置。
  • 将导出的仪表板存储在源代码管理存储库中,例如GitHub。
  • 使用自动化或 CI/CD 管道重新部署 Grafana 仪表板及其他配置。

对于大多数解决方案,不应只依赖于备份。 请改用本指南中所述的其他功能来支持复原要求。 但是,备份可以防范其他方法没有的一些风险。 有关详细信息,请参阅什么是冗余、复制和备份?。

服务维护期间的系统弹性能力

Microsoft定期应用服务更新并执行其他维护。 Azure平台会自动处理这些活动,确保维护是无缝且透明的。 在维护期间,可能会观察到短暂的中断。 通常,这些中断持续几秒钟。 确保客户端应用程序配置为处理 暂时性故障 ,使其能够灵活应对短暂中断。

服务级别协议

Azure服务的服务级别协议(SLA)描述了每个服务的预期可用性以及解决方案必须满足的条件,以实现该可用性预期。 有关详细信息,请参阅 SLa for 联机服务