New vendor metrics for MicroProfile Metrics in Open Liberty 23.0.0.11
Open Liberty 23.0.0.11 では、MicroProfile Metrics に新しいベンダーメトリクスが追加され、ユーザーが追加の計算をすることなく,さまざまな監視ツールのダッシュボードに直接追加できるようになりました。また、このリリースで発表されましたが、23.0.0.10 から利用可能な、指定したディレクトリ内のすべてのファイルをサーバー構成に含める機能もあります。そして、セキュリティ修正もあります。
Open Liberty 23.0.0.11では,
23.0.0.11で修正されたバグリストをご参照ください。
過去のOpen Liberty GAリリースのブログ記事もご参照ください。
23.0.0.11を使用してアプリを実行する
Open Liberty 23.0.0.11は、Maven, Gradle, Docker, およびダウンロードしたアーカイブから利用いただけます。
MicroProfile Metrics 3.0、4.0、5.0 用の新しいベンダーメトリクス
Open Liberty の MicroProfile Metrics 5.0(mpMetrics-5.0
), 4.0(mpMetrics-4.0
), 3.0(mpMetrics-3.0
)の更新により、/metrics
エンドポイントに新しい ベンダーメトリクス が追加されました。
以前から、様々なモニタリングコンポーネントで既に提供されていた時間と合計カウントから、自分で新しいメトリクスを計算することができました。たとえば、「リクエストあたりの応答時間」メトリクスを取得するには、MicroProfile Metrics機能で提供される時系列データの配列を使って計算できます。しかし、すべての監視ツールがこのような複雑な時系列の演算をサポートしているわけではありません。
MicroProfile Metrics 5.0の機能を使用すると、追加の計算を行うことなく、さまざまな監視ツールのダッシュボードで新しいメトリックを直接使用できます。
以下の表に、新しいベンダー・メトリクスを示します:
Metric | Endpoint output (Prometheus format) | |
---|---|---|
MicroProfile Metrics 5.0 |
MicroProfile Metrics 3.0 & 4.0 |
|
Process CPU Utilization Percent |
|
|
Heap Utilization Percent |
|
|
GC Time per Cycle |
|
|
Connection Pool in Use Time per Used Connection |
|
|
Connection Pool Wait Time per Queued Request |
|
|
Servlet Elapsed Time per Request |
|
|
REST Elapsed Time per Request |
|
|
Heap UtilizationとCPU Utilizationメトリクスは、サーバーの起動時から使用できます。接続プール、REST、およびサーブレット・メトリクスは、既存のベンダー・メトリクスと同様に、アプリケーションに関連するデータ・ソース、REST API、またはサーブレットが含まれている場合に使用できます。
新しいベンダー・メトリクスは、server.xml
でMicroprofileメトリクスのFeature(バージョン 3.0、4.0、または 5.0)を有効にすると、/metrics
のURLで利用できるようになります:
<featureManager>
<feature>mpMetrics-5.0</feature>
</featureManager>
詳細な情報については,以下のリンクを参照してください:
指定したディレクトリにあるすべてのファイルをサーバー構成に含める
server.xml
ファイルの include
要素を使うと、サーバ構成にインクルードするファイルの場所を指定することができます。以前のリリースでは、各インクルード ファイルの場所を個別に指定する必要がありました。23.0.0.10リリースからは、すべてのインクルードファイルを1つのディレクトリに配置し、include
要素でディレクトリの場所を指定するだけでよくなりました。
Kubernetes上で実行する場合、シークレットをフォルダごとマウントすることが、実行中のポッドにシークレットからの変更を動的に反映させる唯一の方法であるため、これは重要です。
server.xml
ファイルの include
要素の location
属性に、設定ファイルが格納されているディレクトリを入力します。例えば:
<include location="./common/"/>
変更後、ログに以下の出力が表示されます:
[AUDIT ] CWWKG0028A: Processing included configuration resource: /Users/rickyherget/libertyGit/open-liberty/dev/build.image/wlp/usr/servers/com.ibm.ws.config.include.directory/common/a.xml
[AUDIT ] CWWKG0028A: Processing included configuration resource: /Users/rickyherget/libertyGit/open-liberty/dev/build.image/wlp/usr/servers/com.ibm.ws.config.include.directory/common/b.xml
[AUDIT ] CWWKG0028A: Processing included configuration resource: /Users/rickyherget/libertyGit/open-liberty/dev/build.image/wlp/usr/servers/com.ibm.ws.config.include.directory/common/c.xml
ディレクトリ内のファイルはアルファベット順に処理され、サブディレクトリは無視されます。
Libertyコンフィギュレーションのインクルードについての詳細は、Include configuration docs を参照してください。
このリリースにおけるセキュリティ脆弱性 (CVE) の修正
CVE | CVSS スコア | 脆弱性評価 | 影響を受けるバージョン | ノート |
---|---|---|---|---|
4.9 |
Weaker security |
23.0.0.9 - 23.0.0.10 |
下記のフィーチャーに影響あり Application Security 1.0, Application Security 2.0, Application Security 3.0, Application Security 4.0 Application Security 5.0 |
過去のセキュリティ脆弱性修正リストについては、Security vulnerability (CVE) list を参照してください。
今すぐOpen Liberty 23.0.0.11を入手する
Maven を使用している場合は,pom.xml
ファイルに以下の記述を追加してください。
<plugin>
<groupId>io.openliberty.tools</groupId>
<artifactId>liberty-maven-plugin</artifactId>
<version>3.9</version>
</plugin>
また,Gradle を使用している場合は,`build.gradle`ファイルに以下の記述を追加してください。
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'io.openliberty.tools:liberty-gradle-plugin:3.7'
}
}
apply plugin: 'liberty'
コンテナイメージ の場合はこちらです。
FROM icr.io/appcafe/open-liberty
または,ダウンロードページをご参照ください。
IntelliJ IDEA, Visual Studio Code または Eclipse IDE 使用している場合、オープンソースの Liberty developer tools を活用することで、IDE内から効率的な開発、テスト、デバッグ、アプリケーション管理を行うことができます。