履歴データを保存し、クエリし、ダッシュボードを作成

前提条件

このガイドのこのセクションは、デプロイされたプラットフォーム と、デプロイされたコア・サービスがすでにあること を前提にしています。また、このセクションで指摘したように、 Orion Context Broker へのデータ・フローがあることも前提としています。

簡単にするために、QuantumLeapOrion のエンドポイントを環境変数に 保存して、以下のコマンドを少しでも調整して再利用できるようにします。

$ export ORION_URL=http://192.168.99.100:1026
$ export QL_URL=http://192.168.99.100:8668

もちろん、Windowsでは、export の代わりに setx を使用し、$VAR の代わりに %VAR% を使用してください。

QuantumLeap に Context Broker からの大気質データを格納

QuantumLeap は、Orion の挿入に関する NGSI 通知を受け取ったときに、エンティティ の履歴データを追跡します。したがって、Orion では、履歴レコードを保持したい エンティティの変更を QuantumLeap に通知するために、NGSI サブスクリプションを 作成する必要があります。

Orion のサブスクリプション で豊富な経験がある方は、必要に応じて Orion インスタンスでサブスクリプションを 作成して、Orion インスタンスが QuantumLeap を見つけるのに必要な正しい notify_url を使用するようにしてください。

それ以外の場合は、QuantumLeap に依頼してください。このために、Orion に サブスクリプションを作成する API エンドポイント /v2/subscribe があります。 デフォルトでは、Orion に入るすべてのエンティティのすべての変更について通知を 受け取るサブスクリプションを作成します。このガイドについてはこれで十分です。 ただし、通知の範囲を調整する場合は、デプロイされた QuantumLeap の /v2/ui エンドポイントを確認してください。たとえば、${QL_URL}/v2/ui です。

SmartSDK Postman Collection を使用している場合は、QuantumLeap フォルダ (QL Subscribe) 内のこのエンド ポイントに対する準備済みのコールがすでに用意されています。

それ以外の場合は、次のようにコマンド行からエンドポイントを呼び出すことが できます。

$ curl -X POST \
  "${QL_URL}/v2/subscribe?orionUrl=${ORION_URL}/v2&quantumleapUrl=${QL_URL}/v2" \
  -H 'Accept: application/json'

以前の POST から 201 CREATED コードを受け取ったはずです。Orion の サブスクリプションをクエリして、QuantumLeap のサブスクリプションを見つかるか どうかを確認してください。また、Postman collection でこのクエリを見つける でしょう、そうでなければ curl を使用して行うことができます...

$ curl -X GET ${ORION_URL}/v2/subscriptions/ -H 'Accept: application/json'
[{"id":"5ae2faa8cfdf0100fa49eb1f","description":"Created by QuantumLeap ...]

特定のエンティティ・タイプのみをトラッキングする場合は、エンティティ・タイプごと に1つのサブスクリプションを使用します。

この時点で、あなたは「ちょっと待って、なぜ、QuantumLeap が Orion に通知するよう に、Orionに依頼するのか?」と考えているかもしれません。答えは、Orion は多くの FIWARE デプロイメントの中心的な部分であり、Broker であるため、すべての情報が 最初に流れています。

QuantumLeap を使用して大気質データをクエリ

QuantumLeap の Querying API はまだ開発中ですが、特定のエンティティの 1または N 属性の履歴データの簡単なクエリを使用していくつかのテストを行うことができます。

Postman Collection でこれらのクエリを見つけるか、コマンドラインから試してみて ください...

例 : airqualityobserved_0precipitation 属性の履歴値

$ curl -X GET \
  "${QL_URL}/v2/entities/airqualityobserved_0/attrs/precipitation?type=AirQualityObserved" \
  -H 'Accept: application/json'

例 : airqualityobserved_0NO2CO2 属性の履歴値

$ curl -X GET \
  "${QL_URL}/v2/entities/airqualityobserved_0?type=AirQualityObserved&attrs=NO2,CO&lastN=4" \
  -H 'Accept: application/json'

QuantumLeap の API は ${QL_URL}/v2/ui か、swagger specification でダイレクトにアクセスできます。

QuantumLeap と Grafana を使って素敵なダッシュボードを作成

サービスのデプロイに関するセクションを辿った 場合、Grafana のインスタンスにアクセスして、履歴データと対話する準備がほとんど できているはずです。

GRAFANA_URL と呼ばれる変数に保存されたインスタンス URL を持っていると しましょう。

export GRAFANA_URL=http://192.168.99.100:3000

インスタンス ${GRAFANA_URL}/login にログインします。デフォルトの資格情報は admin/admin ですが、後で変更する必要があります。

最初にデータソースを設定する必要があります。これは、前の手順 (つまり、 QuantumLeap が既にデータを処理している場合) を経た後にのみ行うことができます。 気になるエンティティタイプごとに1つのデータソースを作成します。以下の 手順に従って ください。

これで、データソースを使用してダッシュボードを作成する準備が整いました。何かを 始めたいのであれば ${GRAFANA_URL}/dashboard/import、grafana / dashboard_example.jsonにアクセスして インポートすることができます。結果は次のようになります...

dashboard_example

それ以外の場合は、grafanaの公式ドキュメント を読むことをお勧めします。