新しくなったMicrosoft Teams Add-on for Splunkの設定方法
Tips & Tricks 鈴木 秀汰Microsoft Teams Add-on for Splunkとは?
Microsoft Teams Add-on for Splunkは、Microsoft Teamsの通話記録データをSplunkへ容易に取り込むためのAdd-onです。Microsoft社は、終了したTeams会議の通話記録データをMicrosoft Graph APIより提供していますが、当該Add-onはこのAPIから定期的に通話記録データを取得し、Splunkへ取り込みます。通話記録データには、Teams会議の参加者や使用された端末、通話時間などの基本的な情報に加え、会議中の音声や映像のジッターなど通話品質に関する情報も含まれています。Microsoft社が提供するAPIの刷新に伴い、弊社のPartner Field CTOであるJason Conger氏によってAdd-onのメジャーアップデート版(Version 2.0.0)が2025年3月にSplunkbase上でリリースされました。
メジャーアップデートによる主な変更点
Version 2.0.0へのメジャーアップデートによる主な変更点は、以下の3点になります。
- Add-onの初期設定が簡素化された
- Microsoft Entra ID側でAdd-onに付与しなければいけない権限が減った
- 過去の通話記録データも取得できるようになった
以前のAdd-onでは、Teams会議が終了した際にその会議IDの通知の受信設定を定義するSubscription、実際に通知の受信処理を担うWebhook、通知を基にTeams会議の通話記録データ全容を取得するRESTクライアントなど、複数のコンポーネントをそれぞれ設定しテストする必要がありました。今回のアップデートによってこれらのコンポーネントが1つのコンポーネントに集約されたため、初期設定が非常に簡単になりました。
また、コンポーネントが減ったことでAdd-on全体として必要な権限も削減され、たった1種類の権限をMicrosoft Entra ID側から付与するだけでTeamsの通話記録データを取得できるようになりました。
機能面での改善もあり、かつてはAdd-on設定時以前に終了したTeams会議の通話記録データは取得できませんでしたが、新しいAdd-onはAdd-on設定時から最大30日前まで遡って通話記録データを取得できるようになりました。
Microsoft Teams Add-on for Splunkの設定手順
Add-onの設定を始める前に、Add-onをMicrosoft Entra IDのアプリケーションとして登録します。登録が完了するとアプリケーションID(=クライアントID)とディレクトリID(=テナントID)が表示されるため、この2つの値を準備しておきます。また、アプリケーションのクライアントシークレットも作成し、クライアントシークレットの値も準備しておきます。
注意:クライアントシークレットの値は、クライアントシークレット生成直後のみ表示されるため、値を控える前に別の画面に遷移してしまった場合は、再度作成が必要です。また、クライアントシークレットは「シークレットID」ではなく、「値」に記載されている文字列になります。
クライアントシークレット生成後、作成したアプリケーションにMicrosoft Graphの以下の権限を付与します。
- (アプリケーションの許可)CallRecords.Read.All
注意:アクセス許可を追加後、管理者の同意を与えることで、アクセス権限の付与が完了します。
ここから、実際にAdd-onの初期設定の手順を記載します。
-
Splunk環境にて、Microsoft Teams Add-on for Splunkをインストールする
-
Add-onをSplunk上で開き、[設定]ページ内の[Account]タブを選択した上で、[追加]を押下する
-
「Add Account」フォームを記入し、[追加]を押下する
フォームに入力する項目- Account name:当アカウントオブジェクトの呼称。一意であれば自由に設定してOK
- Client ID:Microsoft Entra ID上でアプリケーションを登録した際に表示されたアプリケーションID(=クライアントID)
- Client Secret:クライアントシークレットを生成した際に表示されたクライアントシークレットの値
-
[入力]ページを開き、[Create New Input] > [Teams Call Record (New)]を押下する
注意:[Create New Input] > [Teams Call Record (Deprecated)]という似た選択肢を選ばないこと。
-
「Add Teams Call Record (New)」フォームを記入し、[追加]を押下する
フォームに入力する項目- Name:当コンポーネントの呼称。一意であれば自由に設定してOK
- Interval:新しく終了したTeams会議をAdd-onが確認する頻度(単位:秒)
- Index:Teamsの通話記録データの保存先となるインデックス(必要に応じて事前に作成する)
- Global Account:Microsoft Graph APIを利用するために使用するアカウントオブジェクト(3.で作成したアカウントオブジェクトを選択する)
- Tenant ID:Microsoft Entra ID上でアプリケーションを登録した際に表示されたディレクトリID(=テナントID)
- Environment:使用しているMicrosoft 365環境の種別
- Exclude Null Values:Null値の除外(値がNullとなる項目をSplunkに取り込みたくない場合はチェックをつける)
- Start Date:過去の通話記録データの取得開始日時(値を指定しない場合、7日前のデータまで遡ってTeamsの通話記録データを取得する。最大30日前まで指定可能)
- Endpoint:Microsoft Graph APIエンドポイントの種別
以上で設定は完了となります。過去の通話記録データがある場合は、上記で設定したインデックス内をサーチし、Teamsデータが入っていることを確認してみてください。
サーチ文の例:defaultインデックス(main)をTeamsの通話記録データの保存先としている場合
Unset
index=main sourcetype="m365:teams:callRecord"
トラブルシューティングのヒント
Splunkへのデータの取り込みを確認できない場合は、内部ログを確認し、Add-onからエラーや警告が出ていないか確認します。
サーチ文の例:Add-onの内部ログから当該Add-on関連のエラーや警告を探す場合
Unset
index=_internal sourcetype="*teams*" (log_level=ERROR OR log_level=WARN)
よくあるエラーメッセージとして、「_Splunk_ Could not get access token」というものがあります。これはClient ID、Client Secret、Tenant ID、およびEnvironmentのいずれかの値が間違っていることを示唆しています。アカウントオブジェクトとTeams Call Recordコンポーネントを確認し、正しい値が設定されていることを再度チェックしてみてください。
まとめ
新しくなったMicrosoft Teams Add-on for Splunkは、Microsoft Graph APIからTeamsの通話記録データを自動で定期的に取得し、Splunkへ取り込む一連の作業を大幅に簡略化します。当該Add-onで取り込んだTeamsの通話記録データは、Splunkのデータプラットフォーム上で自由に分析できるだけでなく、Microsoft 365 App for Splunkと併用することで、追加の設定をすることなくTeamsの通話記録データをダッシュボードとして可視化することができます。Happy Splunking!
関連記事

Dashboard Studio:Dashboard Studioでの表示/非表示とトークンの評価方法

Microsoft AzureのデータをSplunkに取り込む
