概要

備考: カスタムストリーミング処理機能のリリース内容詳細については リリースノート ver.10.6 カスタムストリーミング処理機能 をご覧ください。

Apama EPLを使用したカスタムストリーミング処理機能

ストリーミング分析アプリケーションを使用すると、独自のロジックをご自身のIoTソリューションに追加して、デバイスまたは他のデータソースからの受信データを即座に処理することができます。これらのユーザー定義のオペレーションでは、たとえば、新しく受信したデータをアプリケーションに通知したり、受信したデータに基づいた新しいオペレーションの作成(センサーのしきい値を超えた場合のアラームの送信など)したり、またはデバイス上でオペレーションをトリガーすることができます。

オペレーションのロジックは、Apamaのイベント処理言語(Apama EPL)に基づいています。

重要
イベント処理機能(Esper)のサポートは終了しました。 移行についての詳細は イベント言語(Esper)からApamaへの移行をご覧ください。

典型的なリアルタイムでの分析ユースケースには以下が含まれます:

次のセクションでは、独自分析、他のサーバー側のビジネスロジックや自動化を作成する方法について説明します。これは、Analytics Builder、EPL Appsおよびスマートルールを使用して実行することができます。

備考
このドキュメントは、Apamaアプリケーション開発に関する基本的な知識があることを前提としています。詳細については About this Documentationをご覧ください。

ホーム画面

アプリメニューからストリーミング分析アプリケーションにアクセスします。

ストリーミング分析アプリケーションのホーム画面

ストリーミング分析アプリケーションのホーム画面では、アプリケーションのさまざまなページに移動できます。 これらのページには、Analytics BuilderEPL Appsがあり、ホーム画面の対応する開くボタンを使用するか、左側のナビゲータを使用してアクセスします。

ページにより多くのスペースが必要な場合は、ナビゲータを隠すことができます。トップバーの左端にある小さな矢印をクリックすると、ナビゲータの表示が切り替わります。

ホーム画面には、スマートルールに関する情報も表示されます。スマートルールの作成と管理は、コックピットアプリケーションで行います。 詳細については、ユーザーガイドコックピット > スマートルールを参照してください。

ホーム画面とナビゲータには、テナントがサブスクライブしているApama-ctrlマイクロサービスのバージョンに応じて、使用が許可されている項目のみが表示されます。 詳細は、マイクロサービスのランタイムとアプリケーションおよびストリーミング分析アプリケーションのホーム画面カスタマイズも参照してください。

Analytics Builder

ストリーミング分析アプリケーションのAnalytics Builderページでは、新しいデータを生成したりイベントを出力したりするために、ストリーミングデータを変換または処理するイベント処理モデルを構築できます。モデルは、リアルタイムでデータを処理できます。

事前に構築されたブロックを組み合わせをモデルにすることにより、グラフィックな環境でモデルを構築します。モデル内のブロックは少量のロジックをパッケージ化し、多くの入力、出力、パラメーターを含みます。各ブロックは、センサーからのデータの受信、計算の実行、状態の検出、出力信号の生成など、特定の機能を実装しています。ブロックの構成設定を定義し、ワイヤーを使用してブロックを繋げます。モデルを編集したり、履歴データで展開をシミュレーションしたり、稼働中のシステムに対して実行したりできます。

詳細については Analytics Builder のドキュメントをご覧ください。

また、Analytics Builderの使用例については開発者レポート 「Analytics Builder をはじめる」 もご覧ください。

EPL Apps

ストリーミング分析アプリケーションのEPL Appsページでは、Things Cloud上に直接、Apama EPLを使用したEPLアプリ(つまり、単一の*.mon ファイル)を開発できます。また、既存の*.monファイルをEPLアプリとしてThings Cloudにインポートすることもできます。ストリーミング分析アプリケーションからEPLアプリを有効化すると、Things Cloudにデプロイされます。

簡単に始める方法は、EPLエディターからアクセスできるEPLサンプルのコードを調べることです。EPLアプリを作成してサンプルにアクセスする方法については、ストリーミング分析アプリケーションを使用したアプリケーションの開発をご覧ください。まず始めに、「計測値がしきい値を超えたらアラームを作成する」のような温度メジャーメントを使った簡単なサンプルを使ってみてください。このサンプルを使えば、すぐに結果がわかります。サンプルに独自のEPLコードを追加して、変更を試してみてください。

Things CloudとのやりとりにはApama APIを使用します。詳細については、Apamaドキュメントの一部であるEPLのAPIリファレンス (ApamaDoc)com.apama.cumulocityパッケージを参照してください。

マイクロサービスのランタイムとアプリケーション

Analytics Builderモデル、EPLアプリ、およびスマートルールは、Apama-ctrlマイクロサービスで実行されます。これらは、テナントごとに独立領域が与えられます。つまり、登録している各テナントは、専用のリソース(メモリやCPU使用率)を持つApamaコンテナの独自インスタンスを持ちます。コンテナは他のテナントから隔離されているため、他のコンテナのCPU負荷またはメモリの問題は個別に追跡され、リソースが割り当てられます。

以下をするには 以下のものが必要です
Analytics Builderモデルの構築 Apama-ctrlマイクロサービス と ストリーミング分析アプリケーション
EPL アプリの開発 Apama-ctrlマイクロサービス と ストリーミング分析アプリケーション
スマートルールの利用 Apama-ctrlマイクロサービス と スマートルールマイクロサービス(Things Cloudに標準で含まれます)

ユーザーガイドの次のセクションも参照してください。

テナントがApamaスマートルール専用マイクロサービス(「Apama-ctrl-smartrules」とも呼ばれる)を登録している場合、ストリーミング分析アプリケーションにおいてAnalytics BuilderおよびEPL Appsページを利用できません。

機能の追加については、Things Cloud Supportにお問い合わせください。

イベント言語(Esper)からApamaへの移行

備考
既存のイベント言語(Esper)でのカスタムCEPコードをご利用中のユーザー様に関しては、2021/9/1時点でのご利用状況を元にNTTコミュニケーションズより個別にマイグレーションのご連絡をさせていただき、Apamaへの切り替えが完了しております。

スマートルールのみを使用している場合のイベント言語からの移行

テナントがスマートルールのみを使用し、カスタムルールを使用していない場合は、テナントからイベント言語を登録解除し、代わりにApamaを登録できます。

過去に構成設定したスマートルールは再起動されます。ステートフルなスマートルールの場合、スマートルールをホストするマイクロサービスの再起動時、スマートルール内の状態が失われます。この場合、スマートルールが以前と同じように機能するには、該当するデバイスの入力(メジャーメント、アラームなど)を再度送信する必要があります。

スマートルールは、イベント言語からApamaに移動する場合にのみ正しく機能し、逆方向には機能しません。

次の表に示すスマートルールはステートフルです。

このスマートルールの場合 次のことを確認してください。
ジオフェンス時 アラームを作成 ジオフェンスに現在含まれている、または含まれていないデバイスはどれですか。
ジオフェンス時 Eメールを送信 ジオフェンスに現在含まれている、または含まれていないデバイスはどれですか。
アラーム継続時間 重大度を上げる どのアラームが作成されましたか。
計算 エネルギー消費 最後のメーターの数値は何ですか。
計測値がない場合 アラームを作成 前回の計測値の時刻と、その計測値を送信したデバイスとは。

次のスマートルールはステートレスです。

カスタムルールも使用している場合のイベント言語からの移行

イベント言語で記述されたカスタムルールからApama EPLへの移行には、カスタムルールの書き換えと再テストが必要です。スマートルールから生成されたイベント言語のいずれかが変更されている場合、それもApama EPLアプリに変換し、移行時にスマートルールを削除する必要があります。スクリプトやプログラミングと同様に、本番環境にデプロイする前に重要な変更を徹底的にテストする必要があります。したがって、推奨されるアプローチは、Apama EPLアプリの開発時にそれをホストする別のテナントを作成し、そのテナントで必要な入力データを複製することです。CEPルールは、新しいApama EPLアプリを開発する間、本番テナントで実行し続けることができます。これを行うには、次の手順を実行します。

  1. 変更を防ぐために、既存のテナントのCEPカスタムルールをロックダウンします。

  2. Apamaが有効になっている新しいテナントを利用可能にします。

  3. 既存のテナントのすべての古いカスタムルールを、新しいテナント上で同等のApama EPLアプリに手動で変換します。本ガイドの残りの部分、特にベストプラクティスとガイドライン を参照してください。これには、イベント言語が変更されたスマートルールも含まれます。

  4. 例えば、メジャーメントやイベントを新しいテナントに送信し、新しいEPLアプリが適切に応答することを確認することで、新しいEPLアプリの動作をテストします。

    重要
    イベント言語ではNULL値を含む測定が可能でしたが、これはサポートされなくなりました。したがって、すべてのメジャーメントで数値を送信していることを確認する必要があります。
  5. すべての新しいEPLアプリの開発とテストが完了したら、運用テナントをCEPからApamaに移行します。つまり、新しいテナントにApama-ctrlマイクロサービスを登録します。(そして、CEPの登録を解除します。)

    • 未変更のスマートルールは自動的に移行されます。
    • 変更されたイベント言語バージョンで、かつ新しいEPLアプリが実装されているスマートルールを削除します。
    • 新しく開発したEPLアプリを運用テナントで有効化します。

スケジュールされたエクスポートの処理

スケジュールされたエクスポートは、report-agentマイクロサービスに移行する必要があります。これは、Cockpitアプリケーションでレポートを開くことで実行できます。ユーザーガイドエクスポートの管理も参照してください。

備考
マイグレーションし新しいエクスポートスケジュール機能を動作させるには、report-agentマイクロサービスを登録する必要があります。新しいテナントは自動的に登録されます。既存のテナントは、登録されていることを確認してください。