9.3.1 概要
HMP-PCTOが動作するシステムでサービスのレスポンス遅延が発生したときに、パフォーマンスの傾向を調査するため、また、HMP-PCTOの性能評価を行うため、システムのパフォーマンスの指標となるメトリクスを取得します。
- 〈この項の構成〉
(1) メトリクスの評価対象
メトリクスの評価対象を次の表に示します。システム(Kubernetesの場合、コンテナ環境)の利用状況、Java VMの利用状況、およびHMP-PCTOの性能を評価するための指標となる数値を取得することで、HMP-PCTOが動作しているシステムのパフォーマンスの傾向を調査できます。
|
項番 |
評価対象 |
説明 |
|
|---|---|---|---|
|
1 |
システムの利用状況 |
Kubernetesなどのコンテナ環境における性能 <例> CPU使用率 |
|
|
2 |
Java VMの利用状況 |
Javaプロセス固有の性能 <例>
|
|
|
3 |
HMP-PCTOの性能を評価するための指標 |
gRPC通信の性能 |
HMP-PCTOの各機能間のgRPC通信の性能 <例> gRPC通信の処理時間 |
|
4 |
送信処理の性能 |
HMP-PCTO内部で実施される非同期送信処理の性能 <例>
|
|
|
5 |
機能固有の稼働統計情報 |
HMP-PCTOのコンポーネント(Mediatorなど)で固有に取得する稼働統計情報 <例>
|
|
上記の評価対象ごとに取得する項目を次に示します。項目の詳細については、「(3) 出力内容」を参照してください。
各コンポーネントで「表9‒24 メトリクスの評価対象」の項番1〜4の情報を取得します。
項番5「機能固有の稼働統計情報」については、機能ごとに次の表のパフォーマンスを評価します。
|
項番 |
コンポーネント |
評価対象 |
|---|---|---|
|
1 |
Orchestrator、Entity-Service、Entity-Module |
なし。 |
|
2 |
Mediator |
ConsensusLogアクセス所要時間 |
|
3 |
SQL-Participant TCC-Participant |
|
|
4 |
Jaeger-collector |
|
上記で示したメトリクスの評価対象以外にも、次の表に示すExporterなどを用いてメトリクスを取得することを推奨します。Prometheusによって収集することで、HMP-PCTO各コンポーネントやKubernetesクラスタのパフォーマンス監視や保守を行うための情報を取得できます。
|
項番 |
Exporter/コンポーネント |
概要 |
|---|---|---|
|
1 |
Node-Exporter |
各Kubernetesノード上で実行し、各マシンのCPU,メモリの使用量などのマシンレベルのメトリクスを出力します。 |
|
2 |
kube-state-metrics |
Kubernetes APIより、クラスタ上のリソース情報を収集し、メトリクスとして出力を行います。 |
|
3 |
cAdvisor |
cgroupについてのメトリクスを収集するExporter。Kubernetes上で稼働するコンテナのパフォーマンスに関する情報を出力します。 |
(2) メトリクスの取得手段
HMP-PCTOでは、各コンポ—ネントでMicrometerのライブラリを使用してメトリクスの情報を取得します。メトリクスデータを収集するサーバPrometheus(Prometheus-Server)は、HMP-PCTOがMicrometerで取得したメトリクスデータを収集します。HMP-PCTOでは、送信先であるPrometheusに対応したExporterをMicrometerで実装することでPrometheusにメトリクスデータを送信できます。次に示す図はSQL-Participantを使用する場合です。TCC-Participantを使用する場合、Entity-ServiceをEntity-Moduleと読み替えてください。
|
|
評価対象ごとの取得手段を次の表に示します。
|
項番 |
評価対象 |
取得手段 |
|
|---|---|---|---|
|
1 |
システムの利用状況 |
Micrometerが標準で用意するライブラリでPrometheus-Serverに送信するメトリクスデータを生成します。 |
|
|
2 |
Java VMの利用状況 |
Micrometerが標準で用意するライブラリでPrometheus-Serverに送信するメトリクスデータを生成します。 |
|
|
3 |
HMP-PCTOの性能を評価するための指標 |
gRPC通信の性能 |
Micrometerが標準で用意するライブラリでPrometheus-Serverに送信するメトリクスデータを生成します。 |
|
4 |
送信処理の性能 |
HMP-PCTO内部で実施される非同期送信処理に関する項目について、Micrometerを使用して独自に作成し、この取得項目についてPrometheus-serverに送信するメトリクスデータを生成します。 |
|
|
5 |
機能固有の稼働統計情報 |
|
|
- 重要
-
メトリクスデータの取得条件
Micrometerのライブラリによって取得されるメトリクスデータには、取得条件を満たした場合だけ記録されるため、Prometheus-UIで閲覧できないことがあります。
メトリクスデータの取得条件については、Micrometerのライブラリのドキュメントを参照してください。
Prometheus-Server自体は永続化の手段を持たないため、さらに永続化を目的として外部に送信を行います。次の送信先があります。
-
Elasticsearch
Prometheus-ServerはRemote_write機能を使用してMetricbeatに送信し、MetricbeatがElasticsearchに送信します。
Prometheus-Serverが収集したメトリクスデータを閲覧するには、Prometheus-UIを使用します。詳細については、「9.4.3 メトリクス」を参照してください。