TIPS & TRICKS

SplunkとMicrosoft Azure Monitorの連携 パート2 – Azure Monitorの設定方法

Updated 2/22/2021: AzureからのSplunkへのデータ取り込み方法は更新されております。 Splunk Add-On for Microsoft Cloud ServicesのSplunkbaseのページで詳細をご確認ください。


Azure Monitorは、Azureリソースデータのルーティングとアクセス提供を行うプラットフォームサービスです。Azure Monitorでは、主に以下の3種類のデータにアクセスできます。

  1. メトリック – 主にパフォーマンス指標
  2. 診断ログ – リソースによって生成されるログ
  3. アクティビティログ – Azure環境で、いつ誰が何を行ったのか

Azure MonitorのデータをSplunkに取り込むには、Azure側とSplunk側の両方で設定作業が必要です。私の前回のブログ記事「SplunkとMicrosoft Azure Monitorの連携 パート1 – Azure Monitorの設定方法」では、Azure Monitorのデータを収集するためにAzure側で必要な作業を取り上げました。この記事では、Splunk側で必要な設定について説明します。

設定の概要

Azure Monitor Add-on for Splunkを使えば、上記3種類すべてのデータ入力を追加してくれます。とはいえ、このアドオンの設定には、いくつか別の作業が必要です。このブログ記事で説明する内容の概要は以下のとおりです。

  1. Azure Monitor Add-on for Splunkをダウンロードおよびインストールする
  2. Azure Monitor Add-on for Splunkがデータを取得する仕組み
  3. アクティビティログの入力を設定する
  4. 診断ログの入力を設定する
  5. メトリックの入力を設定する

Azure Monitor Add-on for Splunkをダウンロードおよびインストールする

Azure Monitor Add-on for SplunkはSplunkbaseに掲載されていますが、外部でホストされており、GitHubのMicrosoftの公開組織上にあります。設定手順はREADME.mdファイルやWikiにあり、とても詳しく書かれているので、ここではあらためて説明しません。

注:PythonとNode.jsの依存関係のダウンロードに関する指示は、必ず守ってください。

Azure Monitor Add-on for Splunkがデータを取得する仕組み

前回のブログ記事のとおりに作業を進めた場合は、以下のような情報をメモした表ができているはずです。

アプリケーションID 11111111-1111-1111-1111-111111111111
アプリケーションキー 22222222-2222-2222-2222-222222222222
イベントハブ名前空間 例:splunkdev
イベントハブのポリシー名 RootManageSharedAccessKey
イベントハブのプライマリキー 1234asdf4321fdsa1234asdf4321fdsa
キーコンテナー名 作成したキーコンテナー名
イベントハブキーのシークレット名 例:myEventHubKey
イベントハブキーのシークレットバージョン 1234asdf4321fdsa1234asdf4321fdsa
アプリケーションキーのシークレット名 例:myAppKey
アプリケーションキーのシークレットバージョン 1234asdf4321fdsa1234asdf4321fdsa

ご存じのように、アクティビティログと診断ログはAzure Monitorによってイベントハブにルーティングされます。イベントハブのデータにプログラムからアクセスするには、1) イベントハブの名前空間、2) ポリシー名、3) ポリシーキーが必要です。イベントハブのポリシー名とポリシーキーは、Azure Monitor Add-on for Splunkアドオンではなく、Azureのキーコンテナーに保存されます。アドオンは実行のたびに、キーコンテナーからポリシー名とポリシーキーを取得します。

REST APIでアクセスしてメトリックデータを取得する際にも、これと同じ方法をとります。REST APIを介してメトリックデータにプログラムからアクセスするには、1) Azure ADアプリケーションIDと、2) アプリケーションキーが必要です。Azure ADアプリケーションIDとキーは、Azure Monitor Add-on for Splunkアドオンではなく、Azureのキーコンテナーに保存されます。アドオンは実行のたびに、キーコンテナーからAzure ADアプリケーションIDとキーを取得します。

キーコンテナーからシークレットを取得するには、Azureによるアドオンの認証が必要です。これは、キーコンテナーにあるシークレットに対する「取得」アクセス権を持つ、別のAzure ADアプリケーションIDとキーを使用して行います。今回は、REST APIでメトリックにアクセスする際に使用するのと同じAzure ADアプリケーションIDとキーでもかまいませんが、タスクごとに2組のAzure ADアプリケーションIDとキーを使い分けることもできます。

Azure Monitor Add-on for Splunkがデータを取得する仕組みの図

アクティビティログの入力を設定する

Splunk環境にアドオンをインストールしたら、[Settings] -> [Data inputs]を選択します。

アクティビティログの入力の図

入力として[Azure Monitor Activity Log]を選択し、[New]をクリックします。

Azure Monitor Activity Log 画面

Azure Monitor Activity Log 画面

以下の画面が表示され、パラメーターの入力を求められます。

パラメーターの入力画面

前回のブログ記事で、このデータのほとんどを表に書き留めてあります。

項目

アドオンのパラメーター名

アプリケーションID

SPNApplicationId

アプリケーションキー

SPNApplicationKey

イベントハブ名前空間

eventHubNamespace

キーコンテナー名

vaultName

イベントハブキーのシークレット名

secretName

イベントハブキーのシークレットバージョン

secretVersion


1つだけ、SPNTenantIDという情報がありませんが、これはAzure ADのディレクトリIDです。

1. Azure Portalで、[Azure Active Directory] -> [プロパティ] -> [ディレクトリID]を選択します。

必要なパラメーターをすべて入力したら、[Next]ボタンをクリックします。

Add Data画面

[Start Searching]ボタンをクリックします。

Modular inputの画面

以下のサーチでは、取り込まれたAzure Monitorアクティビティログのタイプが列挙されます。

sourcetype=amal* | stats values(sourcetype)

サーチ結果の画面

アクティビティログの入力により、取り込まれたデータに基づいて、さまざまなソースタイプが生成されることに注目してください。

以下のサーチ結果には、前回のブログ記事で行ったイベントハブ名前空間の作成が表示されています。

sourcetype="amal:administrative" operationName="MICROSOFT.EVENTHUB/NAMESPACES/WRITE"

診断ログの入力を設定する

診断ログの入力の設定作業は、上記で説明したアクティビティログの入力の設定と似ています。

  1. [Settings] -> [Data inputs]を選択します。
  2. [Azure Monitor Diagnostic Logs] -> [New]の順に選択します。
  3. 入力のパラメーターを指定し、[Next]をクリックします。
  4. [Start Searching]をクリックします。

前回のブログ記事では、イベントハブの診断ログを有効にしました。以下のサーチでは、そのデータを表示します。

source="azure_diagnostic_logs:*"

上記のサーチ結果は以下のとおりで、キーコンテナーのシークレットに対する「取得」操作が表示されています。

キーコンテナーの画面

メトリックの入力を設定する

メトリックの入力の設定作業は、上記で説明した他の入力の設定と似ています。

  1. [Settings] -> [Data inputs]を選択します。
  2. [Azure Monitor Metrics] -> [New]を選択します。
  3. 入力のパラメーターを指定し、[Next]をクリックします。
  4. [Start Searching]をクリックします。

設定画面

前回のブログ記事で、このデータのほとんどを表に書き留めてあります。

項目

アドオンのパラメーター名

アプリケーションID

SPNApplicationId

アプリケーションキー

SPNApplicationKey

イベントハブ名前空間

eventHubNamespace

キーコンテナー名

vaultName

アプリケーションキーのシークレット名

secretName

アプリケーションキーのシークレットバージョン

secretVersion

 

1つだけ、SubscripitonIdという情報がありません。これは以下のようにしてAzure Portalから取得します。

1. [サブスクリプション] -> サブスクリプション名を選択し、サブスクリプションIDをコピーします。

前回のブログ記事で、メトリックを収集するためにイベントハブにタグを付けました。以下のサーチでは、そのデータを表示します。

sourcetype="amm:eventhub:namespace"

上記のサーチ結果は以下のとおりで、受信要求が表示されています。

アドオンによって、ソースタイプが自動的にamm:eventhub:namespaceと設定されていることに注目してください。これは、$SPLUNK_HOME/etc/apps/TA-Azure_Monitor/binディレクトリにあるsourcetypes.jsonというファイルによって管理されています。必要に応じて、このファイルを編集できます。

まとめ

この記事では、Azure Monitor Add-on for Splunkのインストール方法と、3つの入力(アクティビティログ、診断ログ、メトリック)の設定方法について説明し、アドオンの操作についても何点か説明しました。このアドオンの設定に関する詳細は、Wikiの公開リポジトリでご覧いただけます。次回のブログ記事では、Azure Monitor Add-on for Splunkが収集したデータの使用例をご紹介します。

Jason Conger
Posted by

Jason Conger

TAGS
Show All Tags
Show Less Tags