データバスは、API を使用して VMware Aria Operations for Networks に保存されているデータを他のアプリケーションと共有するためのフレームワークです。データバスを使用すると、大量のデータをほぼリアルタイムに、低遅延で共有できます。
VMware Aria Operations for Networks データバスには次の利点があります。
- 大量のデータをプログラムで使用する際に、準リアルタイムで行うことができます。
- 変更ベースの使用モデルで動作します。特に、フローやメトリックなどの大量のデータがあるコンテキストでは、データバスの方が従来の API 呼び出しよりも明らかに便利です。
使用事例
VMware Aria Operations for Networks データバスを使用すると、データをさまざまな目的に使用できます。データバスの使用方法の例を次に示します。
使用事例 | 説明 | ステップ |
---|---|---|
フローを長期間保持 | 通常、VMware Aria Operations for Networks でのフロー保持期間は 1 か月です。 データバスを使用すると、フローを長期間保持できます。 |
|
さまざまな宛先へのアラートの送信 | デフォルトでは、SNMP/SMTP 宛先にアラートを送信できます。 データバスを使用すると、Slack、ServiceNow、PagerDuty など、他のさまざまな宛先にアラートを送信できます。 データバスを使用して取得できるアラートの例として、パスワードの有効期限切れ、VMware vCenter Server の切断などに関するシステム アラートがあります。 |
|
VMware Aria Operations for Networks からのメトリックのストリーミング | メトリック用の API のポーリングは、エンティティ ID の取得、API の定期的な呼び出し、重複する情報の除外を含む複数の手順からなるプロセスです。 データバスはこのプロセス全体を非常に効率化します。ユーザーが選択したメトリック グループまたはサブグループにサブスクライブして、メトリックを処理すると、メトリックはエンドポイントに直接ストリーミングされます。 |
|
サポートされているメッセージ グループ
情報を定期的にポーリングする場合は、API の代わりにデータバス ストリーミングを使用することをお勧めいたします。また、データバスから情報を受信するには、メッセージ グループにサブスクライブする必要があります。メッセージ グループは、データバスからサブスクライブできる特定のデータ セットです。各メッセージ グループに最大 10 個のサブスクライバを含めることができます。ただし、フローとメトリックのメッセージ グループでは、例外的に、メッセージ グループごとにサブスクライバを 1 つのみ含めることができます。また、メトリック メッセージ グループでは、メッセージ グループごとにサブスクライバを 1 つのみ含めることができます。
VMware Aria Operations for Networks は、次のメッセージ グループをサポートします。
メッセージ グループ | サブメッセージ グループ | メッセージ詳細 |
---|---|---|
メトリック | vms-metrics | メトリック、間隔、タイム スタンプ、単位、エンティティ タイプ、およびポイント。 |
hosts-metrics | メトリック、間隔、タイム スタンプ、単位、エンティティ タイプ、およびポイント。 | |
flows-metrics | メトリック、間隔、タイム スタンプ、単位、エンティティ タイプ、およびポイント。 | |
nics-metrics | メトリック、間隔、タイム スタンプ、単位、エンティティ タイプ、およびポイント。 | |
switchports-metrics | メトリック、間隔、タイム スタンプ、単位、エンティティ タイプ、およびポイント。 | |
nsxt-metrics | メトリック、間隔、タイム スタンプ、単位、エンティティ タイプ、およびポイント。 | |
アプリケーション | 該当なし | エンティティ ID、エンティティ タイプ、名前、作成者、作成時刻、最終変更者、最終変更時刻、ソース、階層、検出情報。 |
フロー | 該当なし | ソース仮想マシン、ターゲット仮想マシン、ソース IP アドレス、ターゲット IP アドレス、ポート、ソース フォルダ、ターゲット フォルダ、プロトコル、ソース IP セット、ターゲット IP セット、ソース セキュリティ グループ、ターゲット セキュリティ グループ、トラフィック タイプ、ソース セキュリティ タグ、ターゲット セキュリティ タグ、ソース仮想マシン タグ、ターゲット仮想マシン タグ、ホスト内、ファイアウォール アクション、フロー タグ。 |
問題 | 該当なし | エンティティ ID、エンティティ タイプ、名前、アンカー エンティティ、メッセージ、イベント タグ、管理状態、アーカイブ済み、イベント時間エポック(ミリ秒)、イベント タイプ、重要度。 |
メッセージ グループ | メッセージ詳細 |
---|---|
仮想マシン | エンティティ ID、名前、エンティティ タイプ、IP アドレス、デフォルト ゲートウェイ、デフォルト ゲートウェイ、VNIC、ソース ファイアウォール ルール、ターゲット ファイアウォール ルール、仮想マシン UUID、マネージャ UUID、クラスタ、リソース プール、ホスト、ベンダー ID、vCenter Server マネージャ、フォルダ、データストア、データセンター、ソース反転ルール、ターゲット反転ルール、CPU 数、メモリ、OS フル ネーム、HCX 情報。 |
ホスト | エンティティ ID、名前、エンティティ タイプ、VMKNIC、クラスタ、vCenter Server マネージャ、仮想マシン数、データストア、サービス タグ、ベンダー ID、メンテナンス モード、接続状態、CPU 数、メモリ、およびマネージャ UUID。 |
NIC | エンティティ ID、名前、エンティティ タイプ、VLAN、および仮想マシン。 |
スイッチポート | エンティティ ID、名前、エンティティ タイプ、動作ステータス、管理ステータス、サブ タイプ、デバイス、およびマネージャ。 |
データバスを介して公開されるデータは、さまざまなメッセージ グループに分類されます。ユーザーは 1 つ以上のメッセージ グループにサブスクライブすることができ、これらのメッセージ グループに関連するデータは HTTP または HTTPS エンドポイントへのストリーミングを開始します。
次の手順を実行して、データバスを構成します。
1. セキュリティと SSL 証明書の情報の確認
データバスの使用中は、次のセキュリティ情報に注意する必要があります。
環境 | 詳細 |
---|---|
オンプレミス |
|
SaaS |
|
2. サブスクライバの登録、更新、または削除
- サブスクライバを登録するには、POST メソッドを使用して API 呼び出しを実行する必要があります。詳細については、「VMware Aria Operations for Networks API リファレンス」を参照してください。
登録に成功すると、メッセージ応答にサブスクライバ ID が格納されます。サブスクライバ ID を使用して、サブスクリプションの削除や更新を行うことができます。サブスクライバの登録に成功してから、サブスクライバがメッセージの受信を開始するまでに、最大 5 分かかる場合があります。
- サブスクライバを更新するには、PUT メソッドを使用して API 呼び出しを実行する必要があります。詳細については、「VMware Aria Operations for Networks API リファレンス」を参照してください。
注: 更新できるのはサブスクライバ URL のみです。 message group を更新することはできません。
- サブスクライバを削除するには、DELETE メソッドを使用して API 呼び出しを実行する必要があります。詳細については、「VMware Aria Operations for Networks API リファレンス」を参照してください。
サブスクライバの削除に成功してから、データの公開が停止するまでに、最大 5 分かかる場合があります。
3. データバスから受信したメッセージ形式
さまざまなメッセージ グループの一部として受信されたメッセージは、複数のメッセージのリストであり、共通のハイレベル構造を持ちます。リスト内の各メッセージは、クラウド イベント形式のオブジェクトです。クラウド イベントの詳細については、cloudevents を参照してください。
すべてのメッセージには、次の 2 つの特定のフィールド セットがあります。
- 共通構造 - すべてのメッセージ グループで共通です。次に例を示します。
"id": "14cfd27c-76d8-43e3-9fe9-f53bf69c0c5e", "type": "Application", "specversion": "1.0", "source": "CAESBkFCQ0RFRg==", "messageGroup": "applications", "status": "CREATE",
- メッセージ グループ固有の構造 - メッセージ グループごとに一意です。たとえば、アプリケーション メッセージに含まれる、アプリケーション メッセージ グループに固有のデータ オブジェクトを次に示します。
"data": { "entity_id": "1:561:0", "entity_type": "APPLICATION", "name": "app1", "created_by": "[email protected]", "creation_time": 1637303575039, "last_modified_by": "[email protected]", "last_modified_time": 1637303575039, "source": "MANUAL", "tiers": [ { "entity_id": "1:562:1", "entity_type": "TIER", "name": "app1_t1" } ] }
データバス メッセージ内のオブジェクトの構造は、サブセットが使用されているメトリックを除き、パブリック API 応答のスキーマに適合します。メッセージ構造は、さまざまなバージョンの VMware Aria Operations for Networks で後方互換性が維持されています。新しいバージョンでは、新しいフィールドが追加される場合があります。各メッセージ グループのメッセージの詳細構造については、『VMware Aria Operations for Networks API ガイド』を参照してください。
次の表に、各メッセージ グループのさまざまなタイプのメッセージの名前を示します。
メッセージ グループ | メッセージのタイプまたはスキーマ |
---|---|
アラート(問題イベントのみ) | エンティティ メッセージ リスト。詳細については、「VMware Aria Operations for Networks API リファレンス」を参照してください。 |
アプリケーション | アプリケーション メッセージ リスト。詳細については、「VMware Aria Operations for Networks API リファレンス」を参照してください。 |
フロー | フロー メッセージ。詳細については、「VMware Aria Operations for Networks API リファレンス」を参照してください。 |
metrics | メトリック データの構造は、メッセージをコンパクトにするパブリック API とは異なります。 [ { "id": "string", "type": "string", "specversion": "string", "source": "string", "message_group": "metrics", "data": { "metric": "string", "interval": 0, "timestamp": 0, "unit": "string", "entity_type": "string", "points": [ { "entity_id": "string", "value": 0 } ] } } ] |