Monitor Azure Blob 存储

本文介绍:

  • 可以为此服务收集的监视数据的类型。
  • 如何分析这些数据。

注意

如果已熟悉此服务和/或 Azure Monitor,并且只想了解如何分析监视数据,请参阅本文末尾附近的“分析”部分。

如果具有依赖于 Azure 资源的关键应用程序和业务流程,则需要监视并获取系统的警报。 Azure Monitor 服务会从系统的每个组件收集并聚合指标和日志。 Azure Monitor 提供可用性、性能和复原能力视图,并在出现问题时向你发送通知。 可以使用 Azure 门户、PowerShell、Azure CLI、REST API 或客户端库来设置和查看监视数据。

重要

Azure Monitor 中的指标和日志仅支持 Azure 资源管理器存储帐户。 Azure Monitor 不支持经典存储帐户。 如果要使用经典存储帐户上的指标或日志,则需要迁移到 Azure 资源管理器存储帐户。 有关详细信息,请参阅迁移到 Azure 资源管理器

洞察力

Azure 中的某些服务在 Azure 门户中具有内置的监视仪表板,可以从此入手来监视服务。 这些仪表板称为“见解”,可以在 Azure 门户的 Azure Monitor 的“见解中心”找到它们。

Azure 存储见解提供存储性能、容量和可用性的统一视图。 请参阅使用 Azure Monitor 存储见解监视存储

资源类型

Azure Monitor 根据资源类型(也称为命名空间)将核心监视数据组织到指标和日志中。 不同的指标和日志可用于不同的资源类型。 服务可能与多种资源类型关联。

资源类型也是 Azure 中运行的每个资源的资源 ID 的一部分。 例如,虚拟机的一种资源类型是 Microsoft.Compute/virtualMachines。 有关服务及其关联资源类型的列表,请参阅资源提供程序

数据存储

指标数据存储在 Azure Monitor 指标数据库中。 日志数据存储在 Azure Monitor 日志存储中。 Log Analytics 是 Azure 门户中可以查询此存储的工具。 活动日志是一个单独的存储。 可以选择将指标和活动日志数据路由到 Azure Monitor 日志数据库,以便可以查询数据并将其与其他日志数据关联。

有关 Azure Monitor 如何存储数据的详细信息,请参阅 Azure Monitor 数据平台

平台指标

Azure Monitor 为大多数服务提供平台指标。 这些指标是:

  • 针对每个命名空间单独定义。
  • 存储在 Azure Monitor 时序指标数据库中。
  • 是轻型数据,并且能够支持准实时警报。
  • 用于跟踪资源随时间推移的性能变化。

集合:Azure Monitor 会自动收集平台指标。 不需要任何配置。

路由:还可以将平台指标路由到 Azure Monitor 日志,以便可以使用其他日志数据对其进行查询。 有关详细信息,请参阅 Azure Monitor 代理概述

有关可以为 Azure Monitor 中所有资源收集的所有指标的列表,请参阅 Azure Monitor 中支持的指标

有关 Azure Blob 存储的可用指标列表,请参阅 Azure Blob 存储监视数据参考

资源日志

借助资源日志,可以深入了解 Azure 资源已执行的操作。 日志是自动生成的,但必须将日志路由到 Azure Monitor 日志以保存或查询它们。 日志按类别组织。 给定的命名空间可能具有多个资源日志类别。

收集:在创建诊断设置并将日志路由到一个或多个位置之前,不会收集和存储资源日志。 创建诊断设置时,请指定要收集的日志类别。 可以通过多种方式创建和维护诊断设置,包括 Azure 门户、编程方式以及通过 Azure Policy。

路由:建议的默认设置是将资源日志路由到 Azure Monitor 日志,以便可以使用其他日志数据查询它们。 也可使用其他位置(例如 Azure 存储、Azure 事件中心和某些 Microsoft 监视合作伙伴)。 有关详细信息,请参阅 Azure 资源日志资源日志目标

有关收集、存储和路由资源日志的详细信息,请参阅 Azure Monitor 中的诊断设置

有关 Azure Monitor 中所有可用资源日志类别的列表,请参阅 Azure Monitor 中支持的资源日志

Azure Monitor 中的所有资源日志都具有相同的标头字段,后跟特定于服务的字段。 Azure Monitor 资源日志架构概述了常见架构。

有关可用的资源日志类别、其关联的 Log Analytics 表,以及 Azure Blob 存储的日志架构,请参阅 Azure Blob 存储监视数据参考

注意

Data Lake Storage Gen2 不会显示为存储类型,因为 Data Lake Storage Gen2 是一组适用于 Blob 存储功能。

目标限制

有关一般目标限制,请参阅目标限制。 以下限制仅适用于监视 Azure 存储帐户。

  • 无法将日志发送到使用此设置监视的同一存储帐户。 这将导致出现递归日志,其中某个日志条目描述的是另一个日志条目的写入。 必须创建帐户或使用其他现有帐户来存储日志信息。

  • 不能设置保留策略。

    如果将日志存档到存储帐户,可以通过定义生命周期管理策略来管理日志容器的保留策略。 要了解如何操作,请参阅通过自动执行 Azure Blob 存储访问层来优化成本

    如果将日志发送到 Log Analytics,可以在工作区级别管理 Log Analytics 的数据保留期,甚至可以按数据类型指定不同的保留设置。 若要了解如何操作,请参阅更改数据保留期

活动日志

活动日志包含订阅级事件,可用于跟踪从资源外部看到的每个 Azure 资源的操作;例如,创建新资源或启动虚拟机。

收集:活动日志事件会自动生成并收集在单独的存储中,以便在 Azure 门户中查看。

路由:可以将活动日志数据发送到 Azure Monitor 日志,以便可以将它们与其他日志数据一起进行分析。 也可使用其他位置(例如 Azure 存储、Azure 事件中心和某些 Microsoft 监视合作伙伴)。 有关如何路由活动日志的详细信息,请参阅 Azure 活动日志概述

分析监视数据

Azure Monitor 提供了多种工具来分析监视数据。

基本工具包括:

支持更复杂可视化效果的工具包括:

  • 仪表板,它支持将不同类型的数据合并到 Azure 门户的单个窗格中。
  • 工作簿,它们是可在 Azure 门户中创建的可自定义报表。 工作簿可以包括文本、指标和日志查询。
  • Power BI,它是一项业务分析服务,可提供跨各种数据源的交互式可视化效果。 可将 Power BI 配置为自动从 Azure Monitor 导入日志数据,以利用这些可视化效果。

外部工具

可以使用以下方法将数据从 Azure Monitor 中提取到其他工具中:

要开始使用适用于 Azure Monitor 的 REST API,请参阅 Azure 监视 REST API 演练

分析 Azure Blob 存储的指标

Azure Blob 存储的指标位于以下命名空间:

  • Microsoft.Storage/storageAccounts
  • Microsoft.Storage/storageAccounts/blobServices

有关 Azure 存储支持的维度的完整列表,请参阅指标维度

你可以使用指标资源管理器通过其他 Azure 服务中的指标分析 Azure 存储的指标。 从 Azure Monitor 菜单中选择“指标”,可打开指标资源管理器 。 有关使用此工具的详细信息,请参阅使用 Azure Monitor 指标资源管理器分析指标

以下示例演示了如何查看帐户级别的事务。

Screenshot of accessing metrics in the Azure portal

对于支持维度的指标,可使用所需的维度值筛选指标。 以下示例演示了如何通过选择“API 名称”维度的值,在特定操作上查看帐户级别的“事务” 。

Screenshot of accessing metrics with dimension in the Azure portal

分析 Azure Blob 存储的日志

你可将资源日志作为存储帐户中的 Blob、作为事件数据或通过 Log Analytics 查询进行访问。 有关如何查找这些日志的信息,请参阅 Azure 资源日志

若要获取记录的 SMB 和 REST 操作列表,请参阅存储记录的操作和状态消息

仅在针对服务终结点发出请求时才会创建日志条目。 例如,如果存储帐户的文件终结点中存在活动,而表或队列终结点中没有该活动,则仅创建与 Azure Blob 存储服务有关的日志。 Azure 存储日志包含有关成功和失败的存储服务请求的详细信息。 可以使用该信息监视各个请求和诊断存储服务问题。 将最大程度地记录请求。

在 Azure 门户中查看存储帐户时,也会记录门户调用的操作。 由于此原因,即使尚未将任何数据写入帐户,也可能会看到存储帐户中记录的操作。

记录经过身份验证的请求

将记录以下类型的经过身份验证的请求:

  • 成功的请求
  • 失败的请求,包括超时、限制、网络、授权和其他错误
  • 使用共享访问签名 (SAS) 或 OAuth 的请求,包括失败和成功的请求
  • 对分析数据($logs 容器中的经典日志数据和 $metric 表中的类指标数据)的请求

不会记录 Blob 存储服务本身发出的请求,如创建或删除日志。 若要查看所记录数据的完整列表,请参阅存储记录的操作和状态消息存储日志格式

注意

Azure Monitor 当前筛选出了描述 "insights-logs-" 容器中的活动的日志。

记录匿名请求

记录以下类型的匿名请求:

  • 成功的请求
  • 服务器错误
  • 客户端和服务器的超时错误
  • 失败的 GET 请求,错误代码为 304(未修改)

不会记录所有其他失败的匿名请求。 若要查看所记录数据的完整列表,请参阅存储记录的操作和状态消息存储日志格式

示例 Kusto 查询

重要

在门户的服务菜单中选择“日志”时,会打开 Log Analytics,并且其查询范围设置为当前服务。 此范围意味着日志查询将仅包含来自该资源类型的数据。 如果希望运行的查询包含来自其他 Azure 服务的数据,请从“Azure Monitor”菜单中选择“日志”。 有关详细信息,请参阅 Azure Monitor Log Analytics 中的日志查询范围和时间范围

有关任何服务的常见查询列表,请参阅 Log Analytics 查询接口

你可在“日志搜索”栏中输入下面这些查询,以帮助监视 Blob 存储。 这些查询使用新语言

  • 列出最近三天内 10 个最常见的错误。

    StorageBlobLogs
    | where TimeGenerated > ago(3d) and StatusText !contains "Success"
    | summarize count() by StatusText
    | top 10 by count_ desc
    
  • 列出最近三天内导致大部分错误的前 10 个操作。

    StorageBlobLogs
    | where TimeGenerated > ago(3d) and StatusText !contains "Success"
    | summarize count() by OperationName
    | top 10 by count_ desc
    
  • 列出最近三天内端到端延迟最长的前 10 个操作。

    StorageBlobLogs
    | where TimeGenerated > ago(3d)
    | top 10 by DurationMs desc
    | project TimeGenerated, OperationName, DurationMs, ServerLatencyMs, ClientLatencyMs = DurationMs - ServerLatencyMs
    
  • 列出最近三天内导致服务器端限制错误的所有操作。

    StorageBlobLogs
    | where TimeGenerated > ago(3d) and StatusText contains "ServerBusy"
    | project TimeGenerated, OperationName, StatusCode, StatusText
    
  • 列出最近三天内使用匿名访问的所有请求。

    StorageBlobLogs
    | where TimeGenerated > ago(3d) and AuthenticationType == "Anonymous"
    | project TimeGenerated, OperationName, AuthenticationType, Uri
    
  • 创建最近三天内使用的操作的饼图。

    StorageBlobLogs
    | where TimeGenerated > ago(3d)
    | summarize count() by OperationName
    | sort by count_ desc
    | render piechart
    

警报

在监视数据中发现特定情况时,Azure Monitor 警报会主动向你发出通知。 有了警报,你就可以在客户注意到你的系统中的问题之前找出和解决问题。 有关详细信息,请参阅 Azure Monitor 警报

Azure 资源的常见警报具有许多来源。 有关 Azure 资源常见警报的示例,请参阅示例日志警报查询Azure Monitor 基线警报 (AMBA) 站点提供了 Azure 登陆区域 (ALZ) 方案的关键警报指标、仪表板和指南。

通用警报模式对 Azure Monitor 警报通知的使用体验进行了标准化。 有关详细信息,请参阅常见警报架构

警报类型

可以针对 Azure Monitor 数据平台中的任何指标或日志数据源发出警报。 警报具有许多不同类型,具体取决于要监视的服务以及要收集的监视数据。 不同类型的警报各有优缺点。 有关详细信息,请参阅选择正确的监视警报类型

以下列表介绍了可以创建的 Azure Monitor 警报类型:

  • 指标警报会定期评估资源指标。 指标可以是平台指标、自定义指标、Azure Monitor 中的日志转换为的指标或 Application Insights 指标。 指标警报还可以应用多个条件和动态阈值。
  • 日志警报支持用户使用 Log Analytics 查询按照预定义的频率评估资源日志。
  • 当发生匹配所定义条件的新活动日志事件时,会触发活动日志警报。 资源运行状况警报和服务运行状况警报是报告服务和资源运行状况的活动日志警报。

还可以为某些 Azure 服务创建以下类型的警报:

  • Application Insights 资源上的智能检测警报会就 Web 应用程序中的潜在性能问题和故障异常自动向你发出警报。 可以在 Application Insights 资源上迁移智能检测,以便为不同的智能检测模块创建警报规则。
  • Prometheus 警报会就存储在Azure Monitor 适用于 Prometheus 的托管服务中的 Prometheus 指标发出警报。 该警报规则基于 PromQL,它是一种开源查询语言。 你的服务可能不支持此类型警报。 目前,Prometheus 用于具有来宾操作系统的有限服务集,例如 Azure 虚拟机和 Azure 容器实例。
  • 对于某些 Azure 资源(包括虚拟机、Azure Kubernetes 服务 [AKS] 资源和 Log Analytics 工作区),提供了现成可用的建议警报规则

监视多个资源

通过将相同的指标警报规则应用于同一 Azure 区域中的多个相同类型资源,可以进行大规模的监视。 将为每个受监视的资源发送单独通知。 有关支持的 Azure 服务和云,请参阅使用一个警报规则监视多个资源

Azure Blob 存储警报规则

下表列出了 Azure Blob 存储的常见和建议警报规则,以及用于警报的正确指标:

警报类型 条件 说明
指标 Blob 存储服务受到限制。 事务
维度名称:响应类型
指标 Blob 存储请求的成功率为 99%。 可用性
维度名称:地理位置类型、API 名称、身份验证
指标 一天内的 Blob 存储流出量已超过 500 GiB。 流出量
维度名称:地理位置类型、API 名称、身份验证

顾问建议

如果在资源操作期间出现严重情况或即将发生变化,则门户中的“概述”页面上会显示一个警报

可以在“监视”下的“顾问建议”中找到警报的详细信息和建议修补程序。 在正常操作期间,不会显示任何顾问建议。

有关 Azure 顾问的详细信息,请参阅 Azure 顾问概述

其他 Blob 存储监视内容:

总体 Azure 存储监视内容:

Azure Monitor 内容:

培训模块: