LoginSignup
0
0

More than 1 year has passed since last update.

Azure IoT HubをDatadogで監視してみる

Last updated at Posted at 2022-12-25

みなさん、こんにちは。DatadogテクニカルエバンジェリストのTaijiです。

こちらは2022年アドベントカレンダー25日目の記事です🎄
前の記事は @yukin01 さんの Datadog SLO の推移をダッシュボードに表示する でした。

今回は、Azure IoT Hubをプラットフォームとして監視する方法を紹介したいと思います!

はじめに

現在、大手クラウドベンダーにおいて、MQTTブローカーも含めIoTのメッセージハブとなれる機能を提供しているケースが非常に少なくなっています。その中で、このAzure IoT Hubは、1つの有用な選択肢となると個人的に考えています。
趣味の範囲で運用する分には監視までは不要かと思いますが、業務領域で運用を考えているならば当然監視をどうするかも含め設計が必要になってきます。

DatadogとAzureのIntegration

Datadogでは幸いAzureとのIntegrationをデフォルトで提供しています。ですので、基本的にはAzureのアカウントをDatadogに紐付ける形でメトリクスを収集できるようになります。
Screenshot 2022-12-23 at 19.33.07.png

では最初にDatadogの公式ドキュメントを見てみましょう。Integrationsの下にMicrosoft Azureのページがあります。

これによると、Azureに接続すると以下のことができるようです。

  • Datadog Agent をインストールして、またはインストールせずに、Azure VM からメトリクスを取得。
  • すべての Azure サービスの標準 Azure モニターメトリクスを収集: Application Gateway、App Service (Web および Mobile)、Batch サービス、イベントハブ、IoT Hub、Logic App、Redis Cache、サーバーファーム (App Service プラン)、SQL データベース、SQL 可変プール、仮想マシンスケールセットなど。
  • リージョン、リソースグループ、カスタム Azure タグなど関連リソースについての Azure 固有の情報を Azure メトリクスにタグ付け。
  • Datadog が生成したメトリクスを取得し Azure 環境固有のインサイトを提供。
  • ログ、メトリクス、APM トレーシング、ユーザーアクティビティなどの間および Datadog 組織内の Azure アプリケーションからのデータを関連付け。

この2番めに記載のある「すべての Azure サービスの標準 Azure モニターメトリクスを収集」にIoT Hubも含まれていますね!

では、早速AzureとのIntegrationを行っていきましょう。
公式ドキュメントによるとCLIとAzureポータルでの両方からインテグレーションが可能なようです。
ここではシンプルにCLIでやってみたいと思います。

Azure CLIがインストールされてない方は、こちらを参考に自分の環境にCLIツールをインストールしておきましょう。
Screenshot 2022-12-23 at 19.41.31.png

Azureへの操作

以下のコマンドでログインします。

az login

ブラウザが開きログインを求められるので自分のアカウントでログインします。
Screenshot 2022-12-23 at 19.45.37.png

ログインに成功すると自分のアカウント情報が出力されると思います。
次に、サービスプリンシパルアプリケーションを作成します。以下のコマンドを実行しましょう。これは監視するサブスクリプションに対するmonitoring readerロールをサービスプリンシパルに付与します。
{subscription_id}には、前の手順で表示されたidを設定します。

az ad sp create-for-rbac --role "Monitoring Reader" --scopes /subscriptions/{subscription_id}

アカウント情報が表示されない、または再度表示させたい場合は以下のコマンドを実行してください。

az account show

Integrationが完了するとAzureのActive Directoryに所有しているアプリケーションとして先程コマンドラインから作成したアプリが表示されます。
Screenshot 2022-12-23 at 21.29.41.png

アプリの詳細画面から証明書とシークレットを選択し、新しいクライアントシークレットを登録します。
説明はdatadogClientSecretとします。
Screenshot 2022-12-23 at 21.45.58.png

Datadogへの操作

IntegrationメニューからAzureのIntegrationを選び、[New App Registration]を選択します。
こちらにクライアントID テナントID クライアントシークレット を入力します。
Screenshot 2022-12-23 at 21.38.44.png

メトリクスのフィルターはとりあえずそのまま空にしておきましょう。
Azure IoT Hubのメトリクスは こちらから確認 できます。

最後にInstall Integrationをクリックします。
Screenshot 2022-12-23 at 21.40.06.png

確かに前述の通り、AzureへのIntegrationをインストールしたら、同時にAzre IoT HubへのIntegrationも有効化されました。

Screenshot 2022-12-25 at 13.07.10.png

ダッシュボードで確認

Datadogの左側のメニューから [Dashboard] を選択します。
デフォルトで主要なサービスのダッシュボード(レイアウト)が用意されています。Azure IoT Hubも用意されているのでこちらを選択してみましょう。

Screenshot 2022-12-25 at 13.09.57.png

私の環境(Azure IoT Hub)では、1つのデバイスをクラウド上に作成済みなので、[Devices Registered] に1と表示されています。なお、物理デバイスは接続してないので、データは連携されておらず各チャートは空のままです、ごめんなさい。。。
いくつかのメジャーなメトリクスが予めレイアウトされており、すぐに使い始めることが可能です。

Screenshot 2022-12-25 at 13.09.45.png

ダッシュボードレイアウトをカスタマイズしたい場合、ダッシュボード左上にある [Clone dashboard] をクリックして(コピーして)編集することができます。

Screenshot 2022-12-25 at 13.13.22.png

まとめ

いかがでしたでしょうか?Datadogでは非常に簡単にAzure IoT Hubの監視ができることが分かりましたね。
これで、IoTをEnterprise向けに運用する際も、安心して運用保守していけるのではないでしょうか。

参考リンク

Azureポータル
Azure IoT Hub ドキュメント
Datadog 無料トライアルアカウント
DatadogとAzureのIntegration
DatadogとAzure IoT HubのIntegration

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0