コレクターとの統合
サブスクリプションAPIは、選択した資産の環境および運用状況に関するイベントの通信チャネル先を確立することができます。AWS IoT Core、Azure Event Hub、Webhook通信チャネルをサポートしています。
サブスクリプションを作成し、Equinix APIでデータにアクセスすることもできます。手順については、Stream Colocation Data from the Equinix API をご覧ください。
エクイニクスmTLS証明書
mTLS証明書は、サーバーとクライアントがお互いを認証するためのTLS(旧SSL)証明書の拡張として使用されます。エクイニクスでは、当社のサービスで提供する証明書と同様に、この信頼できる署名付き証明書をクライアントに要求しています。エクイニクスのサブスクリプションサービスでは、接続検証の追加オプションを提供しています。通信の試行ごとに新しいイベントのバッチが送信される際、当社のサブスクリプションサービスはクライアントから提供された証明書を使用して、データの送信先が正しいサービスであることを検証します。
証明書を取得するには、/smartview/v2/streaming/subscriptions/certificate エンドポイントに GET リクエストを送信します。AWS_IOT_COREまたはWEBHOOK` をクエリパラメータとして指定します。
サンプルcURLリクエスト:
curl -X 'GET' 'https://api.equinix.com/smartview/v2/streaming/subscriptions/certificate?channelType=WEBHOOK' \
-H 'Authorization: Bearer <Bearer Token>'
Subscription API は自己署名証明書を受け付けません。相互認証には CA 証明書を使用してください。
AWS IoT
サブスクリプションの作成](create-subscription.md#aws-iot-core)の際に、[HTTPエンドポイントをプロバイダすることで、AWS IoT Coreにデータを送信します。
AWS IoT Coreの送信先へのイベント送信をエクイニクスに許可するには、Equinix Certificate をダウンロードし、IoT Coreコンソールに登録する必要があります。手順については、AWS Iot Coreドキュメントを参照してください。
Azure イベントハブ
Azure Event Hub にデータを送信するためのセルフサービス構成は利用できません。Azure へのデータ送信を有効にするには、サポートにお問い合わせください。
ウェブフック
AWSやAzureをコレクターとして使用したくないが、ストリーミングデータの送信先URLを提供できる場合、エクイニクスは一般的なWebhook送信先にデータを送信するサブスクリプションの作成を提供しています。
コレクターのためのオブジェクト・フォーマット
AWS IoT Core と Azure Event Hubs チャネルのメッセージフォーマットは、メッセージをより読みやすくします。以下は API Plus サブスクリプションで送信されるメッセージの例です。
環境-温度
{
"type": "environmental",
"data": {
"ibx": "CH2",
"asset": {
"id": "asset1",
"level": "ZONE"
},
"reading": {
"value": "23.300",
"unit": "CELSIUS"
},
"tag": {
"id": "temperature",
"displayName": "Temperature"
},
"readingTime": "2020-08-24T09:21:00.000Z"
}
}
環境 - 湿度
{
"type": "environmental",
"data": {
"ibx": "CH1",
"asset": {
"id": "asset1",
"level": "ZONE"
},
"reading": {
"value": "66.120",
"unit": "PERCENT"
},
"tag": {
"id": "humidity",
"displayName": "Humidity"
},
"readingTime": "2020-07-28T12:35:14.615Z"
}
}
パワー
{
"type": "power",
"data": {
"ibx": "SP2",
"asset": {
"id": "0210:469593",
"type": "CIRCUIT"
},
"cage": "ssxxxxsss",
"cabinet": "SP2:01:021470:0210",
"accountNumber": "1000659151",
"realPower": {
"value": "0.522",
"unit": "kW"
},
"apparentPower": {
"value": "1.070",
"unit": "kVA"
},
"contractualPower": {
"value": "60.000",
"unit": "kVA"
},
"current": {
"value": "1.500",
"unit": "A"
},
"powerFactor": {
"value": "0.48",
"unit": "pf"
},
"soldCurrent": {
"value": "15.000",
"unit": "A"
},
"soldPower": {
"value": "2.880",
"unit": "kVA"
},
"powerConsumptionToContractual": {
"value": "32.151",
"unit": "PERCENT"
},
"cabinetRating": {
"value": "123.300",
"unit": "kVA"
},
"peakLastSevenDays": {
"value": "1.146",
"unit": "kVA"
},
"peakLastSevenDaysRatio": {
"value": "34.424",
"unit": "PERCENT"
},
"peakLastSevenDaysContractualPower": {
"value": "3.329",
"unit": "kVA"
},
"peakLastSevenDaysTime": "2020-07-29T07:00:00.000Z",
"lastUpdated": "2020-07-24T11:46:00.000Z",
"readingTime": "2020-07-24T11:45:00.000Z",
"description": "test description",
"oid": "1.3.6.1.2.1.299.2.10.6846",
"circuitType": "primary",
"customerName": "test customer"
}
}
電力量 - kWh
{
"type": "metered-power",
"data": {
"ibx": "LD9",
"asset": {
"id": "LD9.CBM-PDU-17-99",
"type": "Customer Billing Meter"
},
"cage": "LD9:0G:00Z13Z",
"cageSerialNo": "00Z13B-21010567",
"accountNumber": "1000006212",
"customerName": "ABC Company",
"kilowattHour": {
"value": "304574.323",
"unit": "kWh"
},
"readingTime": "2023-04-24T11:45:00.000Z",
"dataQuality": "Good"
}
}
注:電力測定値は、kWh、kW、kVA、A、およびpf(力率)単位で利用可能です。
タグポイント
{
"type": "tag-point",
"data": {
"ibx": "LA1",
"reading": {
"value": "33406.6",
"unit": "l/s"
},
"tag": {
"id": "LA1.Air-Handler-7-4-4:totalsupplyairflow",
"displayName": "Total Supply Air Flow"
},
"readingTime": "2020-08-24T09:21:00.000Z"
}
}
カスタムアラート
{
"type": "alert",
"data": {
"ibx": "SG2",
"region": "APAC",
"asset": {
"id": "CH1.Colo.CH1_05_000550_0105",
"type": "ENVIRONMENTAL",
"classification": "Environmental"
},
"tag": {
"id": "temperature"
},
"threshold": {
"unit": "CELSIUS",
"maxValue": "-6.67",
"minValue": "-12.22"
},
"id": "zhe-15603221441540.3171591127612322145",
"triggeredTime": "2019-09-23T23:01:30.655Z",
"type": "environmental",
"typeId": "Absolute",
"conditional": "N",
"eventType": "Out of Range",
"heartbeat": false
}
}
システムアラート
{
"type": "system-alert",
"data": {
"ibx": "SG2",
"region": "APAC",
"metro": "SG",
"country": "SG",
"currentValue": {
"unit": "kWh",
"value": "2.650479E7",
"type": "float"
},
"asset": {
"id": "9SG2.ELEC4AUPSR-A10ASBF0",
"type": "Circuit Breaker with Metering",
"classification": "Electrical"
},
"tag": {
"id": "SG2.ELEC5BUPSR-B14UAH2Q:breaker",
"displayName": "Bypass Not Available"
},
"conditionName": "Low",
"status": {
"acknowledged": true,
"acknowledgementTime": "2020-07-28T12:35:14.615Z",
"cleared": false,
"active": false
},
"threshold": {
"unit": "kWh",
"stateLimit": "80",
"message": "Drive not in Auto"
},
"severity": 820,
"triggeredTime": "2020-07-28T12:35:14.615Z",
"processedTime": "2020-07-28T12:35:14.615Z",
"normalProcessedTime": "2020-07-28T12:35:14.615Z",
"normalTriggeredTime": "2020-07-28T12:35:14.615Z",
"type": "Digital",
"heartbeat": false
}
}
データ品質指標
フィールド dataQuality は、データそのものの一部として、データポイントとアラート(システムとカスタム)のデータ品質指標(DQI)を提供します。これは、DCIM資産のデータが有効であり、確実に収集されていることをAPIクライアントに確実に通知するために使用されます。DQIの追加により、受信したデータの品質に関する透明性が提供されます。
ストア&フォワード・インジケータ
Store and Forward Indicator (SNFI) として messageRetried フィールドは、DCIM データが実際にほぼリアルタイムであるか、または NRT チャネルを介した接続が中断したために遅延して後日送信されるかを通信するために使用されます。サブスクリプションクライアントとパブリッシャー間の接続に問題が発生した場合、パブリッシャーはストア&フォワード(SNF)メカニズムを使用して、パブリッシャー側でメッセージを保存します。接続が再確立されると、これらの保存されたメッセージとNRTイベントは、確立された接続時間の後にクライアントに送信されます。SNFI メソッドによって後から送信されたデータは、他の通常のデータと比較して、NRT データではなくなっているため、マークされます。
APIアプリケーションは、この2つの指標に基づいてビジネスルールと意思決定を行い、データの透明性とソリューション効率を向上させることができます。
{
"messageRetried": true,
"type": "tag-point",
"data": {
"ibx": "SG2",
"reading": {
"value": "54.0",
"unit": "s"
},
"tag": {
"id": "SG2.UPS-5-RM A22-04:batterytimeremaining",
"displayName": "Battery Time Remaining"
},
"readingTime": "2021-03-25T03:48:00.510Z",
"dataQuality": "Good"
}
}