Azure Redis Cache の監視方法How to monitor Azure Redis Cache

Azure Redis Cache は Azure Monitor を使用して、キャッシュのインスタンスを監視するためのオプションを提供します。Azure Redis Cache uses Azure Monitor to provide several options for monitoring your cache instances. メトリックの表示、メトリック グラフのスタート画面へのピン留め、監視グラフの日付と時刻の範囲のカスタマイズ、グラフのメトリックの追加と削除、特定の条件が満たされた場合のアラートの設定を行うことができます。You can view metrics, pin metrics charts to the Startboard, customize the date and time range of monitoring charts, add and remove metrics from the charts, and set alerts when certain conditions are met. これらのツールによって、Azure Redis Cache インスタンスの正常性を監視し、キャッシュ アプリケーションを管理できます。These tools enable you to monitor the health of your Azure Redis Cache instances and help you manage your caching applications.

Azure Redis Cache インスタンスのメトリックが Redis INFO コマンドを約 1 分に 2 回使用して収集され、自動的に 30 日間格納されるため (異なる保持ポリシーを構成するにはキャッシュ メトリックのエクスポートに関する記事をご覧ください)、それらをメトリック グラフで表示してアラート ルールで評価できます。Metrics for Azure Redis Cache instances are collected using the Redis INFO command approximately twice per minute and automatically stored for 30 days (see Export cache metrics to configure a different retention policy) so they can be displayed in the metrics charts and evaluated by alert rules. 各キャッシュ メトリックで使用される各種 INFO コマンドの詳細については、「 使用可能なメトリックとレポート期間」を参照してください。For more information about the different INFO values used for each cache metric, see Available metrics and reporting intervals.

キャッシュ メトリックを確認するには、Azure Portal で対象のキャッシュ インスタンスに移動します。To view cache metrics, browse to your cache instance in the Azure portal. Azure Redis Cache の [概要] ブレードと [Redis メトリック] ブレードには組み込みのグラフがいくつか用意されています。Azure Redis Cache provides some built-in charts on the Overview blade and the Redis metrics blade. 各グラフは、メトリックの追加や削除、レポート期間の変更など、カスタマイズすることができます。Each chart can be customized by adding or removing metrics and changing the reporting interval.

[Redis メトリック]

事前に構成されているメトリック グラフを表示するView pre-configured metrics charts

[概要] ブレードには、事前に構成されている次の監視グラフが用意されています。The Overview blade has the following pre-configured monitoring charts.

監視グラフMonitoring charts

[概要] ブレードの [監視] セクションには、[ヒット数とミス数][取得数と設定数][接続数]、および [コマンド合計数] のグラフがあります。The Monitoring section in the Overview blade has Hits and Misses, Gets and Sets, Connections, and Total Commands charts.

監視グラフ

使用状況グラフUsage charts

[概要] ブレードの [使用状況] セクションには、[Redis サーバーの負荷][メモリ使用量][ネットワーク帯域幅]、および [CPU 使用率] のグラフのほか、キャッシュ インスタンスの [価格レベル] も表示されます。The Usage section in the Overview blade has Redis Server Load, Memory Usage, Network Bandwith, and CPU Usage charts, and also displays the Pricing tier for the cache instance.

使用状況グラフ

[価格レベル] にはキャッシュの価格レベルが表示され、キャッシュを別の価格レベルに スケーリング するために使用できます。The Pricing tier displays the cache pricing tier, and can be used to scale the cache to a different pricing tier.

Azure Monitor でメトリックを表示するView metrics with Azure monitor

Azure Monitor を使用して Redis のメトリックを表示し、カスタム グラフを作成するには、[リソース] メニュー[メトリック] をクリックし、目的のメトリック、レポート間隔、グラフの種類などを使用してグラフをカスタマイズします。To view Redis metrics and create custom charts using Azure Monitor, click Metrics from the Resource menu, and customize your chart using the desired metrics, reporting interval, chart type, and more.

[Redis メトリック]

Azure Monitor を使用してメトリックを操作する方法について詳しくは、「Microsoft Azure のメトリックの概要」をご覧ください。For more information on working with metrics using Azure Monitor, see Overview of metrics in Microsoft Azure.

キャッシュ メトリックをエクスポートするExport cache metrics

既定では、Azure Monitor のキャッシュ メトリックは 30 日間格納され、その後削除されます。By default, cache metrics in Azure Monitor are stored for 30 days and then deleted. キャッシュ メトリックを 30 日を超えて保持するには、ストレージ アカウントを指定し、対象のキャッシュ メトリックの[リテンション期間 (日数)] ポリシーを指定します。To persist your cache metrics for longer than 30 days, you can designate a storage account and specify a Retention (days) policy for your cache metrics.

対象のキャッシュ メトリックのストレージ アカウントを構成するには:To configure a storage account for your cache metrics:

  1. [Redis キャッシュ] ブレードの [リソース] メニューから [診断] をクリックします。Click Diagnostics from the Resource menu in the Redis Cache blade.
  2. [オン] をクリックします。Click On.
  3. [ストレージ アカウントへのアーカイブ] をオンにします。Check Archive to a storage account.
  4. キャッシュ メトリックを格納するストレージ アカウントを選択します。Select the storage account in which to store the cache metrics.
  5. [1 分] チェック ボックスをオンにして [リテンション期間 (日数)] ポリシーを指定します。Check the 1 minute checkbox and specify a Retention (days) policy. リテンション期間ポリシーを適用せず、データを永続的に保持する場合は、[リテンション期間 (日数)]0 に設定します。If you do not want to apply any retention policy and retain data forever, set Retention (days) to 0.
  6. [ Save] をクリックします。Click Save.

Redis 診断

注意

キャッシュ メトリックをストレージにアーカイブする以外に、イベント ハブにストリーミングしたり、Log Analytics に送信したりできます。In addition to archiving your cache metrics to storage, you can also stream them to an Event hub or send them to Log Analytics.

メトリックにアクセスするには、この記事に説明されているようにメトリックを Azure Portal に表示するか、Azure Monitor Metrics REST API を使用してアクセスすることもできます。To access your metrics, you can view them in the Azure portal as previously described in this article, and you can also access them using the Azure Monitor Metrics REST API.

注意

ストレージ アカウントを変更すると、以前に構成されたストレージ アカウント内のデータは引き続きダウンロードできますが、Azure ポータルには表示されなくなります。If you change storage accounts, the data in the previously configured storage account remains available for download, but it is not displayed in the Azure portal.

使用可能なメトリックとレポート期間Available metrics and reporting intervals

キャッシュ メトリックは、[過去 1 時間][今日][過去 1 週間][カスタム] などの期間でレポートが作成されます。Cache metrics are reported using several reporting intervals, including Past hour, Today, Past week, and Custom. 各メトリック グラフの [メトリック] ブレードには、グラフ内の各メトリックの平均値、最小値、および最大値が表示され、一部のメトリックでは指定のレポート期間における合計が表示されます。The Metric blade for each metrics chart displays the average, minimum, and maximum values for each metric in the chart, and some metrics display a total for the reporting interval.

各メトリックには 2 つのバージョンがあります。Each metric includes two versions. 1 つ目のメトリックは、キャッシュ全体と、クラスタリングを使用するキャッシュのパフォーマンスを測定し、名前に (Shard 0-9) が含まれる 2 つ目のバージョンのメトリックは、キャッシュ内の 1 つのシャードのパフォーマンスを測定します。One metric measures performance for the entire cache, and for caches that use clustering, a second version of the metric that includes (Shard 0-9) in the name measures performance for a single shard in a cache. たとえば、キャッシュに 4 つのシャードがある場合、Cache Hits はキャッシュ全体の総ヒット数で、Cache Hits (Shard 3) はキャッシュの当該シャードのヒット数のみとなります。For example if a cache has 4 shards, Cache Hits is the total amount of hits for the entire cache, and Cache Hits (Shard 3) is just the hits for that shard of the cache.

注意

キャッシュがアイドル状態で、アクティブなクライアント アプリケーションに接続されていない場合でも、接続されているクライアント、メモリの使用状況、実行中の操作などのキャッシュ アクティビティが表示されることがあります。Even when the cache is idle with no connected active client applications, you may see some cache activity, such as connected clients, memory usage, and operations being performed. これは Azure Redis Cache インスタンスの処理中に普通に発生するアクティビティです。This activity is normal during the operation of an Azure Redis Cache instance.

[メトリック]Metric DescriptionDescription
キャッシュ ヒット数Cache Hits 指定したレポート期間中に、成功したキー検索の数。The number of successful key lookups during the specified reporting interval. これは Redis INFO コマンドの keyspace_hits にマッピングされます。This maps to keyspace_hits from the Redis INFO command.
キャッシュ ミス数Cache Misses 指定したレポート期間中に、失敗したキー検索の数。The number of failed key lookups during the specified reporting interval. これは Redis INFO コマンドの keyspace_misses にマッピングされます。This maps to keyspace_misses from the Redis INFO command. キャッシュ ミスは必ずしもキャッシュに問題があるということではありません。Cache misses do not necessarily mean there is an issue with the cache. たとえば、キャッシュ アサイド プログラミング パターンを使用する場合、アプリケーションはまず項目をキャッシュから検索します。For example, when using the cache-aside programming pattern, an application looks first in the cache for an item. 項目が見つからなかった (キャッシュ ミス) 場合は、データベースから項目を取得して、次回使用するためにキャッシュに追加されます。If the item is not there (cache miss), the item is retrieved from the database and added to the cache for next time. キャッシュ ミスは、キャッシュ アサイド プログラミング パターンでは普通の動作です。Cache misses are normal behavior for the cache-aside programming pattern. キャッシュ ミスの数が予想よりも大きい場合は、キャッシュにデータを入力またはキャッシュからデータを読み取るアプリケーション ロジックを確認してください。If the number of cache misses is higher than expected, examine the application logic that populates and reads from the cache. メモリ不足のためにキャッシュからアイテムが削除される場合はキャッシュ ミスとしてカウントされますが、メモリの負荷の監視には Used Memory または Evicted Keys のメトリックが適しています。If items are being evicted from the cache due to memory pressure then there may be some cache misses, but a better metric to monitor for memory pressure would be Used Memory or Evicted Keys.
接続されているクライアント数Connected Clients 指定したレポート期間中に、キャッシュに接続されるクライアントの数。The number of client connections to the cache during the specified reporting interval. これは Redis INFO コマンドの connected_clients にマッピングされます。This maps to connected_clients from the Redis INFO command. 接続の上限 に達すると、それ以降のキャッシュへの接続の試行は失敗します。Once the connection limit is reached subsequent connection attempts to the cache will fail. アクティブなクライアント アプリケーションがない場合でも、内部処理や接続によって接続されたクライアントのインスタンスが少数見つかることがあります。Note that even if there are no active client application, there may still be a few instances of connected clients due to internal processes and connections.
削除されたキー数Evicted Keys 指定したレポート期間中に、 maxmemory の制限によってキャッシュから削除された項目の数。The number of items evicted from the cache during the specified reporting interval due to the maxmemory limit. これは Redis INFO コマンドの evicted_keys にマッピングされます。This maps to evicted_keys from the Redis INFO command.
期限切れキー数Expired Keys 指定したレポート期間中に、期限が切れたキャッシュの項目の数。The number of items expired from the cache during the specified reporting interval. この値は Redis INFO コマンドの expired_keys にマッピングされます。This value maps to expired_keys from the Redis INFO command.
合計キー数Total Keys 過去のレポート期間におけるキャッシュ内のキーの最大数。The maximum number of keys in the cache during the past reporting time period. これは Redis INFO コマンドの keyspace にマッピングされます。This maps to keyspace from the Redis INFO command. 基礎となるメトリック システムの制限により、クラスタリングが有効になっているキャッシュでキー合計が返すキーの最大数は、レポート期間中にキーの数が最大のシャードのキーの最大数になります。Due to a limitation of the underlying metrics system, for caches with clustering enabled, Total Keys returns the maximum number of keys of the shard that had the maximum number of keys during the reporting interval.
取得数Gets 指定したレポート期間中に、キャッシュから実行された取得操作の数。The number of get operations from the cache during the specified reporting interval. この値は、Redis INFO のすべてのコマンド (cmdstat_getcmdstat_hgetcmdstat_hgetallcmdstat_hmgetcmdstat_mgetcmdstat_getbit、および cmdstat_getrange) からの値の合計で、レポート期間中のキャッシュ ヒット数とキャッシュ ミス数の合計と同じです。This value is the sum of the following values from the Redis INFO all command: cmdstat_get, cmdstat_hget, cmdstat_hgetall, cmdstat_hmget, cmdstat_mget, cmdstat_getbit, and cmdstat_getrange, and is equivalent to the sum of cache hits and misses during the reporting interval.
Redis サーバーの負荷Redis Server Load Redis サーバーの処理がビジーで、アイドル状態でメッセージを待機していないサイクルの割合。The percentage of cycles in which the Redis server is busy processing and not waiting idle for messages. このカウンタが 100 に達すると、Redis サーバーのパフォーマンスが上限に達したことを意味し、これ以上 CPU を高速で処理できないことを表します。If this counter reaches 100 it means the Redis server has hit a performance ceiling and the CPU can't process work any faster. Redis サーバーの負荷が高い場合は、クライアントでタイムアウトの例外が表示されます。If you are seeing high Redis Server Load then you will see timeout exceptions in the client. この場合は、スケールアップまたはデータを複数のキャッシュにパーティション分割することを検討してください。In this case you should consider scaling up or partitioning your data into multiple caches.
設定数Sets 指定したレポート期間中に、キャッシュから実行された設定操作の数。The number of set operations to the cache during the specified reporting interval. この値は、Redis INFO のすべてのコマンド (cmdstat_setcmdstat_hsetcmdstat_hmsetcmdstat_hsetnxcmdstat_lsetcmdstat_msetcmdstat_msetnxcmdstat_setbitcmdstat_setexcmdstat_setrange、および cmdstat_setnx) からの値の合計です。This value is the sum of the following values from the Redis INFO all command: cmdstat_set, cmdstat_hset, cmdstat_hmset, cmdstat_hsetnx, cmdstat_lset, cmdstat_mset, cmdstat_msetnx, cmdstat_setbit, cmdstat_setex, cmdstat_setrange, and cmdstat_setnx.
合計処理数Total Operations 指定したレポート期間中に、キャッシュ サーバーによって処理されたコマンドの合計数。The total number of commands processed by the cache server during the specified reporting interval. この値は Redis INFO コマンドの total_commands_processed にマッピングされます。This value maps to total_commands_processed from the Redis INFO command. Azure Redis Cache をパブリッシュ/サブスクライブにのみ使用する場合、Cache HitsCache MissesGets、または Sets のメトリックは存在しませんが、パブリッシュ/サブスクライブ処理のキャッシュの使用状況を反映する Total Operations メトリックが用意されています。Note that when Azure Redis Cache is used purely for pub/sub there will be no metrics for Cache Hits, Cache Misses, Gets, or Sets, but there will be Total Operations metrics that reflect the cache usage for pub/sub operations.
メモリ使用量Used Memory 指定したレポート期間中にキャッシュ内のキー/値のペアで使用されるキャッシュ メモリの量 (MB)。The amount of cache memory used for key/value pairs in the cache in MB during the specified reporting interval. この値は Redis INFO コマンドの used_memory にマッピングされます。This value maps to used_memory from the Redis INFO command. これには、メタデータや断片化は含まれません。This does not include metadata or fragmentation.
RSS メモリ使用量Used Memory RSS 指定したレポート期間中に使用されるキャッシュ メモリの量 (MB)。これには断片化とメタデータが含まれます。The amount of cache memory used in MB during the specified reporting interval, including fragmentation and metadata. この値は Redis INFO コマンドの used_memory_rss にマッピングされます。This value maps to used_memory_rss from the Redis INFO command.
CPUCPU 指定したレポート期間中に Azure Redis Cache で使用される CPU の割合。The CPU utilization of the Azure Redis Cache server as a percentage during the specified reporting interval. この値は、オペレーティング システム \Processor(_Total)\% Processor Time パフォーマンス カウンターにマッピングされます。This value maps to the operating system \Processor(_Total)\% Processor Time performance counter.
キャッシュの読み取りCache Read 指定したレポート期間中にキャッシュから読み取られた、メガバイト単位での 1 秒あたりのデータ量 (MB/秒)。The amount of data read from the cache in Megabytes per second (MB/s) during the specified reporting interval. この値は、キャッシュをホストする仮想マシンをサポートするネットワーク インターフェイス カードから派生し、Redis 固有のものではありません。This value is derived from the network interface cards that support the virtual machine that hosts the cache and is not Redis specific. この値は、このキャッシュで使用されるネットワーク帯域幅に対応しています。サーバー側のネットワーク帯域幅の制限に対してアラートを設定する場合は、この Cache Read カウンターを使用してアラートを作成します。キャッシュのさまざまな価格レベルとサイズで観測された帯域幅の制限値については、こちらの表を参照してください。This value corresponds to the network bandwidth used by this cache. If you want to set up alerts for server side network bandwidth limits, then create it using this Cache Read counter. See this table for the observed bandwidth limits for various cache pricing tiers and sizes.
キャッシュの書き込みCache Write 指定したレポート期間中にキャッシュに書き込まれた、メガバイト単位での 1 秒あたりのデータ量 (MB/秒)。The amount of data written to the cache in Megabytes per second (MB/s) during the specified reporting interval. この値は、キャッシュをホストする仮想マシンをサポートするネットワーク インターフェイス カードから派生し、Redis 固有のものではありません。This value is derived from the network interface cards that support the virtual machine that hosts the cache and is not Redis specific. この値は、クライアントからキャッシュに送信されるデータのネットワーク帯域幅に対応しています。This value corresponds to the network bandwidth of data sent to the cache from the client.

アラートAlerts

メトリックとアクティビティ ログに基づいてアラートを受け取るように設定できます。You can configure to receive alerts based on metrics and activity logs. Azure Monitor では、アラートがトリガーされたときに次の処理を実行するように構成することができます。Azure Monitor allows you to configure an alert to do the following when it triggers:

  • 電子メール通知を送信するSend an email notification
  • Webhook を呼び出すCall a webhook
  • Azure Logic App を呼び出すInvoke an Azure Logic App

対象のキャッシュのアラート ルールを構成するには、[リソース] メニュー[アラート ルール] をクリックします。To configure Alert rules for your cache, click Alert rules from the Resource menu.

監視

アラートを構成して使用する方法について詳しくは、アラートの概要に関する記事をご覧ください。For more information about configuring and using Alerts, see Overview of Alerts.

アクティビティ ログActivity Logs

アクティビティ ログは、Azure Redis Cache インスタンスで実行された操作に関する情報を提供します。Activity logs provide insight into the operations that were performed on your Azure Redis Cache instances. 以前は "監査ログ" や "操作ログ" と呼ばれていました。It was previously known as "audit logs" or "operational logs". アクティビティ ログを使用すると、Azure Redis Cache インスタンスで発生した書き込み操作 (PUT、POST、DELETE) について、"いつ誰が何を" 行ったのかを確認できます。Using activity logs, you can determine the "what, who, and when" for any write operations (PUT, POST, DELETE) taken on your Azure Redis Cache instances.

注意

アクティビティ ログには、読み取り (GET) 操作は含まれません。Activity logs do not include read (GET) operations.

対象のキャッシュのアクティビティ ログを表示するには、[リソース] メニュー[アクティビティ ログ] をクリックします。To view activity logs for your cache, click Activity logs from the Resource menu.

アクティビティ ログについて詳しくは、「Azure アクティビティ ログの概要」をご覧ください。For more information about Activity logs, see Overview of the Azure Activity Log.