メインコンテンツまでスキップ
Sumo Logic Japanese

Azure SQL のログとメトリクスの収集

このページでは、Azure SQL 用 Sumo Logic アプリケーションのログとメトリクスを収集する手順について説明します。

ステップ 1: EventHub にストリーミングすることで、Azure Monitor から診断ログを収集する

このステップでは、ログを Azure Monitor から Event Hub に、Azure 関数に、そして最終的に Sumo Logic のホスト型コレクタ上にある HTTP ソースに転送するためのパイプラインを設定します。Azure Monitor はログだけでなくメトリクスも収集します。このパイプラインの詳細については、「Azure Monitor からログを収集する」を参照してください。  

  1. 「Azure Monitor からログを収集する」のステップ 1 とステップ 2 を実行します。  
    ステップ 1 では、HTTP ソースを作成します。HTTP ソースを設定するときは、クエリ プロセスが容易になるようにソース カテゴリを計画してください。階層的な手法を使用すると、ワイルドカードを使用できます。例:
    Azure/DB/SQL/Logs
  2. Azure Monitor から Event Hub にログを転送します。さまざまな Azure サービスが Azure Monitor に接続し、モニタリング データを Event Hub に送信します。詳細については、Azure ヘルプの「Azure Monitor: Send monitoring data to an event hub (Azure Monitor: モニタリング データをイベント ハブに送信する)と「Azure platform monitoring data to be streamed to an event hub? (外部ツールで使用する Azure モニタリング データのイベント ハブへのストリーミング)」を参照してください。
    1. Azure ポータルにログインします。
    2. [Azure SQL] をクリックします。ログの収集元の SQL データベースを選択します。
    3. [Monitoring (モニタ)] セクションの [Diagnostic Settings (診断設定)] ブレードには、既存の設定が表示されます。既存の設定を変更するには [Edit Setting (設定の編集)] をクリックし、新規の設定を追加するには [Add diagnostic setting (診断設定の追加)] をクリックします。最大 3 つの設定まで追加できます。
    4. 名前を入力します。
    5. [Stream to an event hub (イベント ハブにストリーミング)] ボックスをオンにして [Event hub / Configure (イベント ハブ/設定)] をクリックします。
    6. Azure サブスクリプションを選択します。
    7. Azure Monitor からログを収集する」のステップ 2 で作成した Event Hubs 名前空間を選択します。この名前空間は「SumoAzureLogsNamespace<UniqueSuffix>」で始まります。 
    8. [Select event hub name (イベント ハブ名の選択)] ドロップダウンから insights-operational-logs を選択します。
    9. [Select event hub policy name (イベント ハブ ポリシー名の選択)] ドロップダウンから RootManageSharedAccessKey を選択します。
    10. [OK] をクリックしてイベント ハブ設定を終了します。
    11. 「Audit (監査)」というラベルが付いた [Logs (ログ)] の下のボックスをオンにします。 
    12. [Save (保存)] をクリックします。
      StreamAzureSQLDiagnosticLogstoEventHub.png

ステップ 2: EventHub にストリーミングすることで、Azure Monitor からメトリクスを収集する

このステップでは、メトリクスを Azure Monitor から Event Hub に、Azure 関数に、そして最終的に Sumo Logic のホスト型コレクタ上にある HTTP ソースに転送するためのパイプラインを設定します。このパイプラインの詳細については、「Azure Monitor からメトリクスを収集する」を参照してください。

  1. 「Azure Monitor からメトリクスを収集する」のステップ 1 とステップ 2 を実行します。  
    ステップ 1 では、HTTP ソースを作成します。HTTP ソースを設定するときは、クエリ プロセスが容易になるようにソース カテゴリを計画してください。  階層的な手法を使用すると、ワイルドカードを使用できます。例:
    Azure/DB/SQL/Metrics
  2. Azure Monitor から Event Hub にメトリクスを転送します。
    1. 左側のペインで、[ALL Services (すべてのサービス)] をクリックします。
      step2.png
    2. 「Monitor (モニタ)」を検索して選択します。
    3. [Monitor (モニタ)] ペインで、[Settings (設定)][Diagnostic Settings (診断設定)] を選択します。
      step3.png
    4. メトリクスをエクスポートするリソースを選択します。診断を有効にしていない場合は、[Turn on Diagnostics Settings (診断設定の有効化)] をクリックします。
      step5.png
    5. 診断を有効にしたら、[Add a diagnostic setting (診断設定の追加)] をクリックします。
      add-diagnostic-setting.png

    6. [Diagnostic Settings (診断設定)] ページが表示されます。
      diagnostic-settings.png

      1. 左側のペインで
        • 診断設定の名前を入力します。
        • [Stream to an event hub (イベント ハブにストリーミング)] チェックボックスをクリックします。
        • [Configure event hub (イベント ハブの設定)] を選択します。右側のペインが表示されます。
      2. 右側のペインで
        • [Subscription (サブスクリプション)] を選択します。
        • イベント ハブ名前空間として SumoMetricsNamespace<UniqueSuffix> を選択します。
        • イベント ハブ名として insights-metrics-pt1m を選択します。
        • イベント ハブ ポリシー名を選択します。デフォルトのポリシー RootManageSharedAccessKey を使用できます。
      3. [AllMetrics (すべてのメトリクス)] ボックスをオンにします。
      4. [OK] をクリックします。
      5. [Diagnostics Setting (診断設定)] を保存します。

ログ メッセージのサンプル

ErrorEvent

{"LogicalServerName":"npande-test-db-server","SubscriptionId":"c088dc46-d123-12ad-a8b7-9a123d45ad6a","ResourceGroup":"npandeTestDBResGrp","time":"2018-07-09T05:08:32.679Z","resourceId":"/SUBSCRIPTIONS/c088dc46-d123-12ad-a8b7-9a123d45ad6a/RESOURCEGROUPS/NPANDETESTDBRESGRP/PROVIDERS/MICROSOFT.SQL/SERVERS/NPANDE-TEST-DB-SERVER/DATABASES/NPANDETESTDB2","category":"Errors","operationName":"ErrorEvent","properties":{"ElasticPoolName":"","DatabaseName":"npandeTestDB2","query_hash":"0","query_plan_hash":"0","message":"Invalid object name 'inventory123'.","error_number":208,"severity":16,"user_defined":false,"state":1}}

DatabaseWaitStatisticsEvent

{"LogicalServerName":"npande-test-db-server","SubscriptionId":"c088dc46-d123-12ad-a8b7-9a123d45ad6a"","ResourceGroup":"npandeTestDBResGrp","time":"2018-07-09T05:13:34.520Z","resourceId":"/SUBSCRIPTIONS/c088dc46-d123-12ad-a8b7-9a123d45ad6a"/RESOURCEGROUPS/NPANDETESTDBRESGRP/PROVIDERS/MICROSOFT.SQL/SERVERS/NPANDE-TEST-DB-SERVER/DATABASES/NPANDETESTDB","category":"DatabaseWaitStatistics","operationName":"DatabaseWaitStatistcsEvent","properties":{"ElasticPoolName":"","DatabaseName":"npandeTestDB","start_utc_date":"2018-07-09T05:13:34.520Z","end_utc_date":"2018-07-09T05:18:36.050Z","wait_type":"WRITELOG","delta_max_wait_time_ms":0,"delta_signal_wait_time_ms":0,"delta_wait_time_ms":12,"delta_waiting_tasks_count":2}}

クエリのサンプル

上位 10 件のエラー

_sourceCategory=Azure/DB/SQL/Logs ErrorEvent "\"operationName\":\"ErrorEvent\""
| json "LogicalServerName", "SubscriptionId", "ResourceGroup", "resourceId", "category", "operationName", "properties" nodrop
| json field=properties "severity", "error_number", "DatabaseName", "message", "user_defined", "state"
| where operationName="ErrorEvent"
| count as eventCount by message
| top 10 message by eventCount, message asc

 

 

  • この記事は役に立ちましたか?