Azure Files の監視

Azure リソースに依存するクリティカルなアプリケーションとビジネス プロセスがある場合は、それらのリソースの可用性、パフォーマンス、操作を監視する必要があります。 この記事では、Azure Files によって生成される監視データと、Azure Monitor の機能を使用してこのデータに関するアラートを分析する方法について説明します。

適用対象

ファイル共有の種類 SMB NFS
Standard ファイル共有 (GPv2)、LRS/ZRS はい いいえ
Standard ファイル共有 (GPv2)、GRS/GZRS はい いいえ
Premium ファイル共有 (FileStorage)、LRS/ZRS はい はい

監視の概要

Azure portal で、各 Azure Files リソースの [概要] ページには、リソースの要求や時間ごとの課金など、リソースの使用状況の要約が表示されます。 この情報は役立ちますが、使用できる監視データはごくわずかです。 このデータの一部は自動的に収集され、リソースを作成するとすぐに分析に使用できるようになります。 一定の構成によって追加の種類のデータ収集を有効にすることができます。

Azure Monitor とは

Azure Files は、Azure のフルスタック監視サービスである Azure Monitor を使用して監視データを作成します。 Azure Monitor には、Azure リソースと、他のクラウドおよびオンプレミスのリソースを監視するための完全な機能セットが用意されています。

まず「Azure Monitor を使用した Azure リソースの監視」の記事にある次の事項の説明をお読みください。

  • Azure Monitor とは
  • 監視に関連するコスト
  • Azure で収集される監視データ
  • データ収集の構成
  • 監視データの分析とアラート生成のための Azure の標準ツール

以下のセクションでは、この記事に基づき、Azure Files から収集された特定のデータについて説明します。 例では、Azure ツールを使用してデータ コレクションを構成し、このデータを分析する方法について説明します。

データの監視

Azure Files では、他の Azure リソースと同じ種類の監視データが収集されます。これについては、Azure リソースの監視データに関するページをご覧ください。

Azure Files によって作成されるメトリックとログの詳細については、「Azure Files 監視データのリファレンス」を参照してください。

Azure Monitor のメトリックとログでは、Azure Resource Manager ストレージ アカウントのみがサポートされています。 Azure Monitor では、従来のストレージ アカウントはサポートされていません。 従来のストレージ アカウントでメトリックまたはログを使用する場合、Azure Resource Manager ストレージ アカウントに移行する必要があります。 Azure Resource Manager への移行に関するページを参照してください。

収集とルーティング

プラットフォーム メトリックとアクティビティ ログは自動的に収集されますが、診断設定を使用して他の場所にルーティングすることができます。

リソース ログを収集するには、診断設定を作成する必要があります。 設定を作成するときに、ログを有効にするストレージの種類として [ファイル] を選択します。 次に、ログ収集の対象とする操作のカテゴリを次のいずれかから指定します。

カテゴリ 説明
StorageRead オブジェクトに対する読み取り操作。
StorageWrite オブジェクトに対する書き込み操作。
StorageDelete オブジェクトに対する削除操作。

ログに記録された SMB と REST の各操作の一覧を取得するには、Storage によって記録される操作やステータス メッセージに関するページと「Azure Files 監視データのリファレンス」を参照してください。

Azure portal、CLI、PowerShell を使用して診断設定を作成するプロセスの詳細については、「Azure でプラットフォーム ログとメトリックを収集するための診断設定を作成する」を参照してください。 また、Azure Resource Manager テンプレートまたは Azure Policy 定義を使用して診断設定を作成する方法に関する情報へのリンクも見つかります。

宛先の制限事項

一般的な宛先の制限については、「宛先の制限事項」を参照してください。 次の制限は、Azure Storage アカウントの監視にのみ適用されます。

  • この設定で監視している対象と同じストレージ アカウントにログを送信することはできません。

    そのため、ログ エントリが別のログ エントリの書き込みを記述する再帰的なログになります。 ログ情報を格納するために、アカウントを作成するか、別の既存のアカウントを使う必要があります。

  • アイテム保持ポリシーを設定することはできません。

    ログをストレージ アカウントにアーカイブする場合、ライフサイクル管理ポリシーを定義することにより、ログ コンテナーの保持ポリシーを管理できます。 方法については、「Azure Blob Storage アクセス層の自動化によるコストの最適化」を参照してください。

    ログを Log Analytics に送信する場合は、ワークスペース レベルで Log Analytics のデータ保有期間を管理したり、データの種類ごとに異なる保持設定を指定したりすることもできます。 方法については、「データ保有期間 の変更」を参照してください。

メトリックの分析

(Azure Files を含む) すべての Azure Monitor サポート メトリックの一覧については、「Azure Monitor のサポートされるメトリック」をご覧ください。

メトリックス エクスプローラーを使用して、他の Azure サービスのメトリックと共に Azure Storage のメトリックを分析できます。 メトリックス エクスプローラーを開くには、 [Azure Monitor] メニューの [メトリック] を選択します。 このツールの使用方法の詳細については、「Azure メトリックス エクスプローラーの概要」をご覧ください。

ディメンションをサポートするメトリックについては、目的のディメンション値でメトリックをフィルター処理できます。 Azure Storage でサポートされるディメンションの完全な一覧については、「メトリックのディメンション」をご覧ください。 Azure Files のメトリックは、こちらの名前空間にあります。

  • Microsoft.Storage/storageAccounts
  • Microsoft.Storage/storageAccounts/fileServices

ログの分析

リソース ログには、ストレージ アカウント内の BLOB として、イベント データとして、またはログ分析クエリを使用してアクセスできます。 これらのログを見つける方法については、「Azure リソース ログ」を参照してください。

Azure Monitor 内のすべてのリソース ログには、同じフィールドの後にサービス固有のフィールドがあります。 共通のスキーマの概要については、Azure Monitor リソース ログのスキーマに関する記事をご覧ください。 Azure Files リソース ログのスキーマは、「Azure Files 監視データのリファレンス」にあります。

ログに記録された SMB と REST の各操作の一覧を取得するには、Storage によって記録される操作やステータス メッセージに関するページを参照してください。

ログ エントリが作成されるのは、サービス エンドポイントに対して行われた要求がある場合に限られます。 たとえば、ストレージ アカウントのファイル エンドポイントにはアクティビティが存在するが、テーブルまたはキュー エンドポイントには存在しない場合、Azure File Service に関連したログだけが作成されます。 Azure Storage ログには、ストレージ サービスに対する要求の成功と失敗についての詳細な情報が含まれています。 この情報を使って個々の要求を監視したり、ストレージ サービスに関する問題を診断したりできます。 要求は、ベスト エフォートでログに記録されます。

アクティビティ ログは、サブスクリプションレベルのイベントに関する分析情報を提供する Azure にあるプラットフォーム ログの一種です。 個別に表示できるほか、Azure Monitor ログにルーティングして、Log Analytics を使用してより複雑なクエリを実行することもできます。

認証済み要求をログに記録する

次のタイプの認証済み要求が記録されます。

  • 成功した要求
  • 失敗した要求 (タイムアウト、スロットル、ネットワーク、承認などに関する各種エラー)
  • Kerberos、NTLM、または Shared Access Signature (SAS) を使用した要求 (失敗した要求と成功した要求を含む)
  • 分析データ ( $logs コンテナーの従来のログ データと、 $metric テーブルの従来のメトリック データ) に対する要求

Azure Files サービスそのものによる要求 (ログの作成や削除など) は記録されません。 ログに記録された SMB と REST の各要求の完全な一覧については、Storage によって記録される操作やステータス メッセージに関するページと「Azure Files 監視データのリファレンス」を参照してください。

サンプル Kusto クエリ

Log Analytics にログを送信する場合、Azure Monitor ログ クエリを使用してそれらのログにアクセスできます。 詳細については、「Log Analytics のチュートリアル」を参照してください。

[ログ検索] バーに入力して Azure Files の監視に利用できるクエリを紹介します。 これらのクエリは新しい言語で使用できます。

重要

ストレージ アカウント リソース グループ メニューから [ログ] を選択すると、クエリのスコープが現在のリソース グループに設定された状態で Log Analytics が開きます。 つまり、ログ クエリには、そのリソース グループのデータのみが含まれます。 他のリソースのデータや他の Azure サービスのデータを含むクエリを実行する場合は、Azure Monitor のメニューから [ログ] を選択します。 詳細については、「Azure Monitor Log Analytics のログ クエリのスコープと時間範囲」を参照してください。

これらのクエリを使用すると、Azure ファイル共有の監視に役立ちます。

  • 先週の SMB エラーを表示する
StorageFileLogs
| where Protocol == "SMB" and TimeGenerated >= ago(7d) and StatusCode contains "-"
| sort by StatusCode
  • 先週の SMB 操作の円グラフを作成する
StorageFileLogs
| where Protocol == "SMB" and TimeGenerated >= ago(7d) 
| summarize count() by OperationName
| sort by count_ desc
| render piechart
  • 先週の REST エラーを表示する
StorageFileLogs
| where Protocol == "HTTPS" and TimeGenerated >= ago(7d) and StatusText !contains "Success"
| sort by StatusText asc
  • 先週の REST 操作の円グラフを作成する
StorageFileLogs
| where Protocol == "HTTPS" and TimeGenerated >= ago(7d) 
| summarize count() by OperationName
| sort by count_ desc
| render piechart

Azure Files の列名と説明の一覧については、「StorageFileLogs」を参照してください。

クエリを記述する方法の詳細については、「Log Analytics のチュートリアル」を参照してください。

警告

Azure Monitor のアラートは、監視データで重要な状態が見つかると事前に通知します。 これにより、ユーザーが気付く前に、管理者が問題を識別して対処できます。 アラートはメトリックログアクティビティ ログに対して設定できます。

次の表に、監視するシナリオの例とアラートに使用する適切なメトリックを示します。

シナリオ アラートに使用するメトリック
ファイル共有がスロットルされている。 メトリック: トランザクション
ディメンション名:応答の種類
ディメンション名:FileShare (Premium ファイル共有のみ)
ファイル共有のサイズが容量の 80% である。 メトリック: File Capacity (ファイル容量)
ディメンション名:FileShare (Premium ファイル共有のみ)
ファイル共有のエグレスが 1 日に 500 GiB を超えた。 メトリック: エグレス
ディメンション名:FileShare (Premium ファイル共有のみ)

Azure Files のアラートを作成する方法

  1. Azure portal で目的のストレージ アカウントに移動します。

  2. [アラート] をクリックし、次に [+ 新しいアラート ルール] をクリックします。

  3. [リソースの編集] をクリックし、 [ファイル リソースの種類] を選択してから、 [完了] をクリックします。

  4. [条件の追加] をクリックし、アラートに関する次の情報を指定します。

    • メトリック
    • ディメンション名
    • アラート ロジック
  5. [アクション グループの追加] をクリックし、既存のアクション グループを選択するか、新しいアクション グループを作成して、アクション グループ (メール、SMS など) をアラートに追加します。

  6. [アラート ルール名][説明][重大度] などの [アラートの詳細] を指定します。

  7. [アラート ルールの作成] をクリックして、アラートを作成します。

Note

アラートを作成するときに雑音が多すぎる場合は、しきい値とアラート ロジックを調整します。

ファイル共有がスロットルされた場合にアラートを作成する方法

  1. Azure portal で目的のストレージ アカウントに移動します。

  2. [監視] セクションで [アラート] をクリックしてから、 [+ 新しいアラート ルール] をクリックします。

  3. [リソースの編集] をクリックし、ストレージ アカウントのファイル リソースの種類を選択してから、 [完了] をクリックします。 たとえば、ストレージ アカウント名が contoso である場合、contoso/file リソースを選択します。

  4. [条件の追加] をクリックして条件を追加します。

  5. ストレージ アカウントでサポートされているシグナルの一覧が表示されたら、[トランザクション] メトリックを選択します。

  6. [シグナルロジックの構成] ブレードで、 [ディメンション名] ドロップダウンをクリックし、 [応答の種類] を選択します。

  7. [ディメンション値] ドロップダウンをクリックし、ファイル共有に適した応答の種類を選択します。

    Standard ファイル共有の場合、次の応答の種類を選択します。

    • SuccessWithShareIopsThrottling
    • SuccessWithThrottling
    • ClientShareIopsThrottlingError

    Premium ファイル共有の場合、次の応答の種類を選択します。

    • SuccessWithShareEgressThrottling
    • SuccessWithShareIngressThrottling
    • SuccessWithShareIopsThrottling
    • ClientShareEgressThrottlingError
    • ClientShareIngressThrottlingError
    • ClientShareIopsThrottlingError

    Note

    応答の種類が [ディメンション値] ドロップダウンに一覧表示されない場合は、リソースがスロットルされていないことを意味します。 ディメンション値を追加するには、 [ディメンション値] ドロップダウン リストの横にある [カスタム値を追加] を選択し、応答の種類 (SuccessWithThrottling など) を入力し、 [OK] を選択します。その後、これらの手順を繰り返して、自分のファイル共有に適用できるすべての応答の種類を追加します。

  8. Premium ファイル共有の場合は、 [ディメンション名] ドロップダウンをクリックし、 [ファイル共有] を選択します。 Standard ファイル共有の場合は、手順 #10 に進みます。

    Note

    ファイル共有が Standard ファイル共有の場合、 [ファイル共有] ディメンションにはファイル共有が一覧に表示されません。これは、Standard ファイル共有では、共有ごとのメトリックを使用できないためです。 ストレージ アカウント内のいずれかのファイル共有がスロットルされている場合は、標準ファイル共有のスロットリング アラートがトリガーされ、どのファイル共有がスロットルされたかはアラートによって識別されません。 標準ファイル共有では共有ごとのメトリックを使用できないため、ストレージ アカウントごとに 1 つのファイル共有を使用することをお勧めします。

  9. [ディメンション値] ドロップダウンをクリックして、アラートの対象とするファイル共有を選択します。

  10. アラート パラメーター (しきい値、演算子、集計粒度、評価の頻度) を定義し、 [完了] をクリックします。

    ヒント

    静的しきい値を使おうとしている場合は、ファイル共有が現在スロットルされているかどうかの妥当なしきい値を判断するのにメトリック グラフが役立つことがあります。 動的しきい値を使用している場合は、メトリック グラフに最新のデータに基づいて計算されたしきい値が表示されます。

  11. [Add action groups](アクション グループの追加) をクリックし、既存のアクション グループを選択するか、新しいアクション グループを作成して、アクション グループ (電子メール、SMS など) をアラートに追加します。

  12. [アラート ルール名][説明][重大度] などの [アラートの詳細] を指定します。

  13. [アラート ルールの作成] をクリックして、アラートを作成します。

Azure ファイル共有のサイズが容量の80% である場合にアラートを作成する方法

  1. Azure portal で目的のストレージ アカウントに移動します。

  2. [監視] セクションで [アラート] をクリックしてから、 [+ 新しいアラート ルール] をクリックします。

  3. [リソースの編集] をクリックし、ストレージ アカウントのファイル リソースの種類を選択してから、 [完了] をクリックします。 たとえば、ストレージ アカウント名が contoso である場合、contoso/file リソースを選択します。

  4. [条件の追加] をクリックして条件を追加します。

  5. ストレージ アカウントでサポートされているシグナルの一覧が表示されたら、[ファイル容量] メトリックを選択します。

  6. Premium ファイル共有の場合は、 [ディメンション名] ドロップダウンをクリックし、 [ファイル共有] を選択します。 Standard ファイル共有の場合は、手順 #8 に進みます。

    Note

    ファイル共有が Standard ファイル共有の場合、 [ファイル共有] ディメンションにはファイル共有が一覧に表示されません。これは、Standard ファイル共有では、共有ごとのメトリックを使用できないためです。 Standard ファイル共有のアラートは、ストレージ アカウント内のすべてのファイル共有に基づいています。 標準ファイル共有では共有ごとのメトリックを使用できないため、ストレージ アカウントごとに 1 つのファイル共有を使用することをお勧めします。

  7. [ディメンション値] ドロップダウンをクリックして、アラートの対象とするファイル共有を選択します。

  8. [しきい値] をバイト単位で入力します。 たとえば、ファイル共有サイズが 100 TiB で、ファイル共有のサイズが容量の 80% である場合にアラートを受け取るには、しきい値 (バイト単位) は 87960930222080 です。

  9. 残りのアラート パラメーター (集計粒度、評価の頻度) を定義し、 [完了] をクリックします。

  10. [アクション グループの追加] をクリックし、既存のアクション グループを選択するか、新しいアクション グループを作成して、アクション グループ (メール、SMS など) をアラートに追加します。

  11. [アラート ルール名][説明][重大度] などの [アラートの詳細] を指定します。

  12. [アラート ルールの作成] をクリックして、アラートを作成します。

Azure ファイル共有のエグレスが 1 日に 500 GiB を超えた場合にアラートを作成する方法

  1. Azure portal で目的のストレージ アカウントに移動します。

  2. [監視] セクションで [アラート] をクリックしてから、 [+ 新しいアラート ルール] をクリックします。

  3. [リソースの編集] をクリックし、ストレージ アカウントのファイル リソースの種類を選択してから、 [完了] をクリックします。 たとえば、ストレージ アカウント名が contoso の場合は、contoso/ファイル リソースを選択します。

  4. [条件の追加] をクリックして条件を追加します。

  5. ストレージ アカウントでサポートされているシグナルの一覧が表示されたら、[エグレス] メトリックを選択します。

  6. Premium ファイル共有の場合は、 [ディメンション名] ドロップダウンをクリックし、 [ファイル共有] を選択します。 Standard ファイル共有の場合は、手順 #8 に進みます。

    Note

    ファイル共有が Standard ファイル共有の場合、 [ファイル共有] ディメンションにはファイル共有が一覧に表示されません。これは、Standard ファイル共有では、共有ごとのメトリックを使用できないためです。 Standard ファイル共有のアラートは、ストレージ アカウント内のすべてのファイル共有に基づいています。 標準ファイル共有では共有ごとのメトリックを使用できないため、ストレージ アカウントごとに 1 つのファイル共有を使用することをお勧めします。

  7. [ディメンション値] ドロップダウンをクリックして、アラートの対象とするファイル共有を選択します。

  8. しきい値に「536870912000」バイトと入力します。

  9. [集計粒度] ドロップダウンをクリックし、 [24 時間] を選択します。

  10. [評価の頻度] を選択し、 [完了] クリックします。

  11. [アクション グループの追加] をクリックし、既存のアクション グループを選択するか、新しいアクション グループを作成して、アクション グループ (メール、SMS など) をアラートに追加します。

  12. [アラート ルール名][説明][重大度] などの [アラートの詳細] を指定します。

  13. [アラート ルールの作成] をクリックして、アラートを作成します。

次のステップ