[WLS, Java] How to Use Java EL to Write WLDF Policy Expressions

原文はこちら。
https://blogs.oracle.com/weblogicserver/use-java-el-policy-expressions

WLDF(WebLogic診断フレームワーク)は、サーバやクラスタの直近の時間間隔のメトリックの傾向を見るための複雑なロジックを隠蔽する、Smart Rulesと呼ばれる特化した機能を提供します。この機能が不十分であるということであれば、WLDFが提供するBeanや関数、Java Expression Language(Java EL)を使って、ポリシー式を直接を記述することもできます。
Oracle WebLogic Server 12cでポリシー式を作成するにあたり、Java ELは推奨される言語です。Java ELには数多くの強力な機能が組み込まれていますが、より複雑にすることもできます。しかしながら、より簡単にするために、WebLogicのデータやイベントに直接アクセスするポリシー式で利用可能な、Beanや関数から構成される一連のEL式をWLDFが提供します。
簡単なポリシー式や複雑なポリシー式をBeanや関数を使って記述することができますが、Java ELを使ったプログラミング技術や経験が十分にあることが前提です。
例えば、5分間のタイムウィンドウにおける平均のHeapFreePercentが20より小さいかどうかをチェックする比較的簡単なポリシー式は、以下のように記述できます。
wls:extract("wls.runtime.serverRuntime.JVMRuntime.heapFreePercent", 
            "30s",
            "5m").tableAverages()
                 .stream()
                 .anyMatch(hfp -> hfp < 20)
cluster1に属する全サーバの、2分間のタイムウィンドウで30秒ごとに属性PendingUserRequestCountの平均値をチェックし、ノードの75%で保留リクエストが平均100個を上回る場合に呼び出されるようなより複雑なポリシー式は、以下のように記述できます。
wls:extract(wls.domainRuntime.query({"cluster1"},
                                  "com.bea:Type=ThreadPoolRuntime,*",
                                  "PendingUserRequestCount"),
         "30s",
         "2m").tableAverages()
               .stream()
               .percentMatch(pendingCount -> pendingCount > 100) > 0.75
ポリシー式でJava ELを使う例や詳細情報は、以下のドキュメントをご覧ください。
Oracle® Fusion Middleware
Configuring and Using the Diagnostics Framework for Oracle WebLogic Server 12c (12.2.1.3.0)
Writing Collected Metrics Policy Expressions Using Functions
http://docs.oracle.com/middleware/12213/wls/WLDFC/config_watches.htm#WLDFC-GUID-45CD1259-6151-412A-A9E4-AA676E2C47C0

0 件のコメント:

コメントを投稿