問題タブ [siddhi]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
wso2 - WSO2 CEP - メモリ リーク
WSO2 CEP について問題があります。アドバイスまたはこの問題を解決してください。
環境は以下。
1) CEP のバージョンは 2.1.0 です。
2) TimeBatch ウィンドウとパターン クエリが使用されます。
問題は以下。
1) メモリ不足が発生する。
2) スレッドの数が増えます。
前もって感謝します。
wso2 - 「存在しない」などの WSO2 SIDDHI クエリ
「存在しない」などのクエリを表現する方法が見つかりませんでした。
たとえば、すべてのデバイスが正常であることを単純にテストしたり、一定時間デバイスの 1 つが見つからない場合にアラートを送信したりするには、次のようなクエリを実行します。
助けてください。
よろしく。
wso2 - まだ起きていない出来事にシッディパターンを使う
CEP エンジンでは、発生していないイベントのパターンを探すことができます。
不正パターン検出クエリの編集: 同じカードの 2 回の購入が 1 日以内に行われ、最初の購入が 10 ドル未満で 2 回目の購入が10,000 ドルを超えない場合、イベントを起動できますか?
from every (a1 = purchase[price > 10] ) NOT -> a2 = purchase [price >10000 and 1.cardNo==a2.cardNo] within 1 day a2.場所としての場所;
過去 1 時間以内に event1 の後に event2 が続いた場合に発生するのではなく、過去 1 時間以内に event1 の後に event2 が続いていない場合に発生しますか?
linux - WSO2 CEP thrift IP アドレスが Linux マシンの eth0/sitelocal IP アドレスにバインドされていない
スタンドアロン モード
- Linux マシンで WSO2 CEP サーバーを起動すると、次のようにログに表示される IP アドレス
管理コンソールの URL : https://<172.16.55.1>:9443/carbon/
- 以下のように、そのポートで netstat を実行すると、
linux-0rla:/test/home/CEP/data # netstat -tulpn | grep 9443
tcp 0 0 :::9443 :::* リッスン 28882/java
- マシンのifconfigが表示されます
enp0s25 リンク encap:イーサネット HWaddr 64:31:50:42:93:17
inet アドレス:10.201.1.171 Bcast:10.201.255.255 マスク:255.255.0.0
vmnet8 リンク カプセル化:イーサネット HWaddr 00:50:56:C0:00:08
inet アドレス:172.16.55.1 Bcast:172.16.55.255 マスク:255.255.255.0
私のマシンが公開している IP は 10.201.1.171 であるため、理想的には CEP サーバーはこの IP のみで開始する必要があります。別のマシンからでも eth0 ip からアクセスできますが。
- HA モード
HAセットアップ用に同様の2台のマシンをセットアップすると、今回はthrift ipにも同様の問題がありました。
- Linux マシンで WSO2 CEP サーバーを起動すると、次のようにログに表示される IP アドレス
Thrift サーバーは 172.16.55.1 で開始されました Thrift SSL ポート: 7711 Thrift ポート: 7611
- 以下のように、そのポートで netstat を実行すると、
linux-0rla:/test/home/CEP/data # netstat -tulpn | grep 7611
tcp 0 0 172.16.55.1:7611 :::* リッスン 28882/java
しかし、ここでは、これら 2 台のマシンは、イベントのノード間転送のために、thrift ポートを介して相互に通信できません。
同じマシンの別のフォルダーに HA セットアップを作成すると、問題なく動作するようになりました。
特定の IP アドレスで thrift とサーバーを開始するように WSO2 CEP に指示する方法はありますか ???
wso2 - WSO2 CEP: 実行計画に if-else 条件ステートメントを含めることはできますか?
wso2 cep 実行計画で以下のような条件ステートメントを使用できますか。
ユースケースの説明:
3 つの異なるストリームからデータを取得する実行計画があるとします。ストリーム 1 はデバイス 1 からのデータを提供し、ストリーム 2 はデバイス 2 からのデータを提供します。
デバイスの総数を格納するテーブルがデータベースに既に格納されています。この場合、3 つのデバイスが格納されます。
実行計画では、5 分間のウィンドウのデータを取得します。そして、この 5 分以内に、3 つのストリームすべてからデータを取得した場合にのみ、データを処理する必要があります。そうでなければ、そうすべきではありません。
5 分以内に 2 つのストリームからのみデータを取得した場合、実行計画はそれを破棄する必要があります。
wso2 - WSO2 CEP カスタム関数が集計関数として機能しない
WSO2 CEP カスタム関数は集計関数として機能せず、代わりにデータの各行で動作します。
入力ストリームに value1 と value2 があるとします。
- ホスト:A、Value1:1、Value2:10
- ホスト:A、値1:2、値2:20
- ホスト:A、Value1:3、Value2:30
- ホスト:A、値1:4、値2:40
- ホスト:A、Value1:5、Value2:50
これで、時間のバッチ処理とホストごとのグループ化が完了しました。そして、MEDIANを見つけるカスタム関数を作成し、組み込み関数SUMも使用しました。
ただし、グループ化後に5行すべてにSUM関数を適用しますが、カスタム関数は行ごとに呼び出されます。カスタム関数クラスのプロセス メソッドが行ごとに呼び出されていました。したがって、SUM は 15 を返しますが、私の MEDIAN 関数は最後の値 2 である 50 として出力を返します。
実行計画クエリ
カスタム関数 Java クラス スニペット
カスタム集計関数を使用できませんか、またはカスタム関数が行ごとにのみ実行されることになっている場合は???