Compartilhar via

监视Azure Cache for Redis

本文介绍:

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

注释

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

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

https://docs.azure.cn/azure-monitor/logs/logs-ingestion-api-overview

洞见

在 Azure 中的一些服务在 Azure 门户中内置了一个监控仪表板,为您提供监控服务的起点。 这些仪表板称为 insights,可以在 Azure 门户中的 Azure Monitor Insights Hub 中找到它们。

Azure Redis 缓存的洞察提供以下体验:

  • 跨订阅Azure Cache for Redis资源的缩放透视。 可以选择将范围限制为仅要评估的订阅和资源。
  • 对一个 Azure Cache for Redis 资源的深入分析。 若要诊断问题,可以查看对利用率、故障、容量和操作的详细分析,或查看相关信息的详细视图。
  • Customization基于Azure Monitor工作簿模板构建。 可以更改显示的指标,并修改或设置与限制一致的阈值。 可以在自定义工作簿中保存更改,然后将工作簿图表固定到Azure仪表板。

Azure Cache for Redis分析无需启用或配置任何功能。 默认情况下会收集Azure Cache for Redis信息,无需额外付费来访问见解。

若要了解如何查看、配置和自定义 Azure Cache for Redis 的见解,请参阅 [Azure Monitor 中的 Azure Cache for Redis 见解](/azure-cache-for-redis/cache-insights-overview.md)。

资源类型

Azure使用资源类型和 ID 的概念来标识订阅中的所有内容。 Azure Monitor同样将核心监视数据组织成基于资源类型的指标和日志,也称为namespaces。 不同的指标和日志可用于不同的资源类型。 服务可能与多种资源类型关联。

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

有关Azure Cache for Redis的资源类型的详细信息,请参阅 Azure Cache for Redis 监视数据参考

数据存储

关于Azure Monitor:

  • 指标数据存储在Azure Monitor指标数据库中。
  • 日志数据存储在Azure Monitor日志存储中。 Log Analytics 是 Azure 门户中可以查询此存储的工具。
  • Azure活动日志是一个单独的存储区,其自己的接口位于Azure门户中。
  • 可以选择性地将指标和活动日志数据路由到Azure Monitor日志数据库存储,以便可以使用Log Analytics查询数据并将其与其他日志数据相关联。

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

Azure Monitor平台指标

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

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

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

Routing:通常还可以将平台指标路由到Azure Monitor日志/Log Analytics,以便可以使用其他日志数据查询它们。 有关详细信息,请参阅指标诊断设置。 有关如何配置服务的诊断设置,请参阅 在 Azure Monitor 中创建诊断设置。

有关在 Azure Monitor 中可对所有资源进行收集的所有指标的列表,请参阅 Azure Monitor 中的 Supported metrics

有关Azure Cache for Redis可用指标的列表,请参阅 Azure Cache for Redis 监视数据参考

Azure Monitor资源日志

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

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

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

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

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

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

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

Azure Cache for Redis 资源日志

在Azure Cache for Redis中,有两个选项可用于记录:

缓存度量值

Azure Cache for Redis发出许多指标,例如 Server LoadConnections per Second,这些指标可用于记录。 选择 AllMetrics 选项可以记录上述及其他缓存指标。 可以配置指标的保留时长。

连接日志

Azure Cache for Redis 使用 Azure 诊断设置来记录客户端与缓存之间连接的相关信息。 记录并分析此诊断设置可帮助你了解谁正在连接到你的缓存,以及这些连接的时间戳。 日志数据可用于识别安全漏洞的范围以及进行安全审核。

连接日志对不同Azure Cache for Redis层的实现、内容和设置过程略有不同。 有关详细信息,请参阅 [Azure Monitor 诊断设置]/azure-cache-for-redis/cache-monitor-diagnostic-settings.md。

Azure活动日志

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

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

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

分析监视数据

有许多工具可用于分析监视数据。

Azure Monitor工具

Azure Monitor支持以下基本工具:

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

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

Azure Monitor 导出工具

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

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

Azure Cache for Redis指标

使用 Redis INFO 命令收集Azure Cache for Redis实例的指标。 指标每分钟大约收集两次,因此,它们可以显示在指标图表中,并根据警报规则进行评估。 若要了解数据的保留时间以及如何配置不同的保留策略,请参阅 Azure Monitor日志中的数据保留和存档

将使用多个报告间隔报告指标,其中包括“前一小时”、“今天”、“前一周”和“自定义”。 每个指标图表会在图表中显示每个指标的平均值、最小值和最大值,并且一些指标会显示总报告间隔。

每个指标包括两个版本:一种用于衡量整个缓存的性能,另一种用于衡量使用群集的缓存性能。 该指标的第二种版本(名称中包含 (Shard 0-9))衡量缓存中单个分片的性能。 例如,如果缓存有四个分片,Cache Hits 就是整个缓存的命中总数,而 Cache Hits (Shard 3) 只衡量该缓存分片的命中数。

显示资源管理器中的指标的屏幕截图。

查看缓存指标

可以直接从 Azure 门户中的 Azure Cache for Redis 资源查看 Azure Monitor 指标。

在门户中选择您的 Azure Cache for Redis 实例概述页显示了预定义的内存使用情况Redis 服务器负载监视图表。 这些图表是有用的摘要,可支持快速查看缓存的状态。

屏幕显示了两个图表:内存使用情况和 Redis 服务器负载。

若需获取更深入的信息,可以在资源菜单的Monitoring节中监控以下有用的 Azure Cache for Redis 指标。

Azure Cache for Redis指标 详细信息
网络带宽使用率 缓存性能 - 可用带宽
连接的客户端 默认 Redis 服务器配置 - 最大客户端数
服务器负载 Redis 服务器负载
内存使用情况 缓存性能 - 大小

“资源”菜单中已选中的监视指标的屏幕截图。

创建自己的指标

可以创建自己的自定义图表来跟踪要查看的指标。 将使用多个报告间隔报告缓存指标,其中包括“前一小时” 、“今天” 、“前一周” 和“自定义” 。 在左侧,选择“监视”部分中的“指标”。 每个指标图表会在图表中显示每个指标的平均值、最小值和最大值,并且一些指标会显示总报告间隔。

每个指标包括两个版本:一种用于衡量整个缓存的性能,另一种用于衡量使用群集的缓存性能。 该指标的第二种版本(名称中包含 (Shard 0-9))衡量缓存中单个分片的性能。 例如,如果缓存有四个分片,Cache Hits 就是整个缓存的命中总数,而 Cache Hits (Shard 3) 只衡量该缓存分片的命中数。

在左侧的“资源”菜单中,选择“监视”下的“指标”。 在这里,你会为缓存设计自己的图表,并定义指标类型和聚合类型。

资源管理器中显示的指标的屏幕截图

聚合类型

有关聚合类型的常规信息,请参阅配置聚合

在正常缓存情况下,“平均值”和“最大值”相似,因为只有主节点发出这些指标。 如果连接的客户端数快速变化,“最大值”、“平均值”和“最小值”将显示不同的值,这也是预期的行为

“计数”和“总和”类型对于某些指标(包括连接的客户端数)来说可能具有误导性。 最好改为查看“平均值”指标,而不是“总和”指标

注释

即使在缓存处于空闲状态,且没有连接的活动客户端应用程序时,也可能会看到一些缓存活动,例如连接的客户端、内存使用率以及正在执行的操作。 在缓存的操作中,活动是正常的。

对于非聚集缓存,最好使用不带后缀 Instance Based 的指标。 例如,要检查缓存实例的服务器负载,请使用指标服务器负载

相比之下,对于群集缓存,请使用带有后缀 Instance Based 的指标。 然后,在 ShardId 上添加拆分或筛选器。 例如,要检查分片 1 的服务器负载,请使用指标服务器负载(基于实例),然后应用筛选器 ShardId = 1

Kusto 查询

可以使用 Kusto 查询语言(KQL)分析 Azure Monitor 日志/Log Analytics 存储中的监视数据。

重要

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

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

Log Analytics查询

注释

有关如何使用 Azure Log Analytics 的教程,请参阅 Azure Monitor 中的 Log Analytics 概览。 请记住,在日志显示在Log Analytics之前,可能需要长达 90 分钟的时间。

下面是一些用作模型的基本查询。

  • 在指定的 IP 地址范围内,每小时的 Azure Cache for Redis 客户端连接次数:
let IpRange = "10.1.1.0/24";
ACRConnectedClientList
// For particular datetime filtering, add '| where TimeGenerated between (StartTime .. EndTime)'
| where ipv4_is_in_range(ClientIp, IpRange)
| summarize ConnectionCount = sum(ClientCount) by TimeRange = bin(TimeGenerated, 1h)
  • 已连接到缓存的唯一 Redis 客户端 IP 地址:
ACRConnectedClientList
| summarize count() by ClientIp

Alerts

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

Azure资源有许多常见警报来源。 有关Azure资源的常见警报示例,请参阅 Sample 日志警报查询Azure Monitor Baseline Alerts (AMBA) 站点提供有关 Azure 着陆区 (ALZ) 场景的关键警报指标、仪表板和指南。

通用警报架构标准化了Azure Monitor警报通知的处理。 有关详细信息,请参阅 常见警报架构

警报类型

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

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

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

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

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

监视多个资源

可以通过将同一指标警报规则应用于同一Azure区域中存在的同一类型的多个资源来大规模监视。 将为每个受监视的资源发送单独通知。 若需查看支持的 Azure 服务和云,请参阅使用一个警报规则监控多个资源

创建警报

可配置为基于指标和活动日志接收警报。 Azure Monitor允许在触发警报时配置警报以执行以下操作:

  • 发送电子邮件通知
  • 调用 Webhook
  • 调用Azure逻辑应用

若要为缓存配置警报,请在“资源”菜单上的“监视”下选择“警报”。

显示如何创建警报的屏幕截图。

Azure Cache for Redis常见警报规则

下表列出了Azure Cache for Redis的常见和建议警报规则。

警报类型 条件 DESCRIPTION
指标 第 99 个百分位延迟 针对 Azure Cache for Redis 实例中服务器端命令最坏情况下的延迟发出警报。 延迟是通过使用 PING 命令和跟踪响应时间来测量的。 跟踪缓存实例的运行状况,并查看长时间运行的命令是否损害了延迟性能。
指标 Server Load 使用率或峰值 高服务器负载意味着 Redis 服务器无法跟上请求,从而导致超时或响应缓慢。 基于服务器负载指标创建警报,以提前收到有关潜在影响的通知。
指标 网络带宽使用率过高 如果服务器超出可用带宽,则数据将无法快速发送到客户端。 客户端请求可能会超时,因为服务器无法以足够快的速度将数据推送到客户端。 使用 Cache ReadCache Write 计数器为服务器端网络带宽限制设置警报。

顾问建议

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

可以在监控下的顾问建议中找到警报的详细信息和建议的修复措施。 在正常操作期间,不会显示任何顾问建议。

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

以下屏幕截图显示了针对Azure Cache for Redis警报的顾问建议:

显示顾问建议的屏幕截图。

若要升级缓存,请选择“立即升级”以更改定价层并缩放缓存。 有关选择定价层的详细信息,请参阅选择适当的层