Azure Monitor の診断設定を作成する
Azure Monitor プラットフォームのメトリックとログを Azure Monitor ログ、Azure Storage、または Azure Event Hubs に送信するため、Azure Monitor で診断設定を作成したり、編集したりします。 Azure portal、Azure CLI、PowerShell、Azure Resource Manager など、さまざまな方法を使用して診断設定を操作できます。
重要
診断設定に設定されていたアイテム保持ポリシーは非推奨になり、使用できなくなりました。 ログが保持される時間の長さを管理する場合は、Azure Storage ライフサイクル ポリシーを使用します。 詳細については、「診断設定ストレージ保持を Azure Storage ライフサイクル管理に移行する」をご覧ください
Azure portal では、Azure Monitor メニューから、またはリソースのメニューから診断設定を構成できます。
Azure portal で診断設定を構成する場所は、リソースによって異なります。
リソースが 1 つの場合は、リソースのメニューで、[監視] の [診断設定] を選びます。
リソースが 1 つまたは複数の場合は、Azure Monitor メニューで、[設定] で [診断設定] を選んでから、リソースを選びます。
アクティビティ ログの場合は、[Azure Monitor] メニューで [アクティビティ ログ] を選び、[アクティビティ ログのエクスポート] を選びます。 アクティビティ ログのレガシ構成が無効になっていることを確認してください。 手順については、既存の設定を無効にするに関するページを参照してください。
選択したリソースの設定が存在しない場合、設定を作成するように求められます。 [診断設定の追加] を選択します。
リソースに対する既存の設定が存在する場合は、構成済みの設定の一覧が表示されます。 [診断設定を追加する] を選び、新しい設定を追加します。 または、[設定の編集] を選び、既存の設定を編集します。 各設定には、各送信先の種類を 1 つだけ含めることができます。
設定にまだ名前がない場合は、名前を付けます。
ルーティングするログとメトリック: ログの場合は、カテゴリ グループを選ぶか、後で指定した宛先に送信するデータのカテゴリごとに個々のチェックボックスをオンにします。 カテゴリの一覧は、Azure サービスごとに異なります。 メトリックを Azure Monitor ログにも保存する場合は、[AllMetrics] を選びます。
宛先の詳細: 各宛先のチェックボックスをオンにします。 詳細情報を追加できるように、オプションが表示されます。
Log Analytics ワークスペースへの送信: サブスクリプションと、データを送信する Log Analytics ワークスペースを選択します。 ワークスペースがない場合は、先に進む前に作成する必要があります。
ストレージ アカウントへのアーカイブ: サブスクリプションと、データの保存先となるストレージ アカウントを選択します。
ヒント
ログが保持される時間の長さを管理する場合は、Azure Storage ライフサイクル ポリシーを使用します。 診断設定に設定されていたアイテム保持ポリシーは非推奨になりました。
イベント ハブへのストリーム: 次の条件を指定します。
- サブスクリプション: イベント ハブが含まれるサブスクリプション。
- イベント ハブ名前空間: 存在しない場合は、作成する必要があります。
- イベント ハブの名前 (省略可能): すべてのデータの宛先の名前。 名前を指定しない場合は、ログ カテゴリごとにイベント ハブが作成されます。 複数のカテゴリを送信する場合は、名前を指定して、作成するイベント ハブの数を制限することができます。 詳細については、「Azure Event Hubs のクォータと制限」をご覧ください。
- イベント ハブ ポリシー名 (同じく省略可能): ポリシーによってストリーミング メカニズムのアクセス許可が定義されます。 詳細については、Event Hubs の機能に関するページを参照してください。
パートナー ソリューションへの送信: 最初に Azure Native ISV サービスをサブスクリプションにインストールする必要があります。 構成オプションはパートナーによって異なります。 詳細については、「Azure Native ISV Services の概要」を参照してください。
サービスでリソース固有と Azure 診断の両方のモードをサポートしている場合は、ターゲットとして Log Analytics ワークスペースを選択すると、ターゲット テーブルを選択するオプションが表示されます。 テーブル構造のために、より柔軟性と効率が高いクエリが可能なため、通常は [リソース固有] を選択する必要があります。
[保存] を選択します。
しばらくすると、このリソースに対する設定のリストに新しい設定が表示されます。 ログは、新しいイベント データが生成されると、指定された宛先にストリーミングされます。 イベントが生成されてから、それが Log Analytics ワークスペースに表示されるまで、最大で 15 分ほどかかる場合があります。
トラブルシューティング
トラブルシューティングのいくつかのヒントを次に示します。
メトリック カテゴリがサポートされていない
診断設定をデプロイすると、"メトリック カテゴリ 'xxxx' がサポートされていません" のようなエラー メッセージが表示されます。以前のデプロイが成功した場合でも、このエラーが表示される場合があります。
この問題は、Resource Manager テンプレート、REST API、Azure CLI、または Azure PowerShell を使用するときに発生します。 サポートされているカテゴリ名のみが表示されるため、Azure portal を介して作成された診断設定は影響を受けません。
この問題は、基になる API の最近の変更が原因で発生します。 AllMetrics 以外のメトリック カテゴリはサポートされておらず、いくつかの特定の Azure サービスの場合を除き、サポートされていませんでした。 以前は、診断設定のデプロイ時に他のカテゴリ名は無視されていました。 これらのカテゴリは、Azure Monitor バックエンドによって AllMetrics にリダイレクトされました。 2021 年 2 月の時点で、提供されたメトリック カテゴリが正確であることを明確に確認するためにバックエンドが更新されました。 この変更により、一部のデプロイが失敗する可能性があります。
このエラーが発生した場合は、メトリック カテゴリ名をすべて AllMetrics に置き換えるようにデプロイを更新して問題を解決してください。 以前にデプロイで複数のカテゴリを追加していた場合は、AllMetrics 参照を持つものを 1 つだけ保持します。 問題が引き続き発生する場合は、Azure portal から Azure サポートにお問い合わせください。
resourceID の 非 ASCII 文字が原因で設定が消える
診断設定では、非 ASCII 文字のリソース ID はサポートされていません。 たとえば、"Preproducción" という用語を考えてみましょう。Azure でリソースの名前を変更することはできないため、唯一のオプションは、非 ASCII 文字を使用せずに新しいリソースを作成することです。 文字がリソース グループ内にある場合は、その下のリソースを新しいリソースに移動できます。 それ以外の場合は、リソースを再作成する必要があります。
重複または削除されたデータの可能性
すべてのログ データが宛先に正しく送信されるようにするためのすべての作業が行われていますが、エンドポイント間でのログのデータ転送を 100% 保証することはできません。 これらの問題を回避し、ログ データがエンドポイントに確実に到着するよう、再試行やその他のメカニズムが用意されています。
非アクティブなリソース
リソースが非アクティブで、ゼロ値のメトリックをエクスポートしている場合、診断設定のエクスポート メカニズムは段階的にバックオフして、ゼロ値のエクスポートと保存という不要なコストを回避します。 このバックオフにより、次のゼロ以外の値のエクスポートが遅延する可能性があります。
リソースが 1 時間非アクティブになると、エクスポート メカニズムは 15 分に戻ります。 つまり、次のゼロ以外の値がエクスポートされるまでに最大 15 分の待機時間が発生する可能性があります。 7 日間の非アクティブ期間の後、最大 2 時間のバックオフ時間に達します。 リソースがゼロ以外の値のエクスポートを開始すると、エクスポート メカニズムは元のエクスポート待機時間の 3 分に戻ります。
この動作は、エクスポートされたメトリックにのみ適用され、メトリックベースのアラートや自動スケーリングには影響しません。