Schema Registry のモニタリング

Looking for Schema Management Confluent Cloud docs? You are currently viewing Confluent Platform documentation. If you are looking for Confluent Cloud docs, check out Schema Management on Confluent Cloud.

Schema Registry からは、Java Management Extensions(JMX)を通じてさまざまなメトリクスが報告されます。さらに、metric.reporters 構成オプションで、プラグ可能な統計情報レポーターを追加して、統計情報が報告されるように構成することもできます。利用できるメトリクスを確認するには、jconsole を使用して JMX MBeans を表示するのが最も簡単です。

Schema Registry には、2 種類のメトリクスが存在します。グローバルメトリクスでは、サービスの全体的な正常性をモニタリングすることができます。一方、エンドポイントごとのメトリクスでは、各 API エンドポイントのリクエストメソッドがモニタリングされます。エンドポイントごとのメトリクスは、プレフィックスとして先頭にエンドポイントの名前が付きます(例: subjects.get-schema )。これらのメトリクスを利用することで、プロキシがどのように使用されているかを把握し、具体的なパフォーマンスの問題を追跡することができます。

ちなみに

Kafka では、JMX の認証がデフォルトでは無効になっています。環境変数を使用して、これらのデフォルトをオーバーライドする必要があります。各プラットフォームコンポーネントに対しては、 JMX のデフォルトをオーバーライドするオプション<component-name>_JMX_OPTS の形式をとります。Schema Registry に対するデフォルトの JMX オプションをオーバーライドするには、SCHEMA_REGISTRY_JMX_OPTS という環境変数を使用します。

グローバルメトリクス

MBean: kafka.schema.registry:type=jetty-metrics

connections-active
アクティブな TCP 接続の総数
connections-accepted-rate (2.0 以降では非推奨)
  • 1.x: 受け付けられた TCP 接続の平均レート(1 秒あたりのレート)
  • 2.x: connections-opened-rate と同じ
connections-opened-rate
開かれた TCP 接続の平均レート(1 秒あたりのレート)
connections-closed-rate
終了した TCP 接続の平均レート(1 秒あたりのレート)

MBean: kafka.schema.registry:type=master-slave-role

master-slave-role
この Schema Registry インスタンスの現在のロール。1 は、このインスタンスがプライマリであることを示し、0 はセカンダリであることを示します。

エンドポイントごとのメトリクス

各エンドポイントのリクエストメソッドで利用できるメトリクスは以下のとおりです。また、すべてのリクエストに対するメトリクスが、それぞれのグローバルインスタンスに集計されます。そうした集計インスタンスの名前に、プレフィックスは付きません。

MBean: kafka.schema.registry:type=jersey-metrics

<endpoint>.request-byte-rate
1 秒あたりの着信リクエストのバイト数
<endpoint>.request-error-rate
HTTP エラー応答になったリクエスト数の 1 秒あたりの平均値
<endpoint>.request-latency-avg
リクエストのレイテンシの平均値(ミリ秒)
<endpoint>.request-latency-max
リクエストのレイテンシの最大値(ミリ秒)
<endpoint>.request-rate
1 秒あたりの HTTP リクエスト数の平均値
<endpoint>.request-size-avg
リクエストのサイズの平均値(バイト)
<endpoint>.request-size-max
リクエストのサイズの最大値(バイト)
<endpoint>.response-byte-rate
1 秒あたりの発信応答のバイト数
<endpoint>.response-rate
1 秒あたりの HTTP 応答数の平均値
<endpoint>.response-size-avg
応答サイズの平均値(バイト)
<endpoint>.response-size-max
応答サイズの最大値(バイト)

エンドポイント

以下の表は、すべての API エンドポイントメソッドの一覧です。名前は、各 API 操作に直観的に対応しているはずです。完全なメトリック名を作成するには、エンドポイントごとのメトリック名に、いずれかのエンドポイント名をプレフィックスとして付けます。たとえば、GET /brokers API 呼び出しのレートを見つけるには、エンドポイント名 brokers.list とメトリック名 request-rate とを組み合わせて brokers.list.request-rate とします。

compatibility.subjects.versions.verify POST /compatibility/subjects/{subject}/versions/{version}
schemas.ids.get-schema GET /schemas/ids/{id}
subjects.get-schema POST /subjects/{subject}
subjects.list GET /subjects
subjects.versions.get-schema GET /subjects/{subject}/versions/{version}
subjects.versions.get-schema.only GET /subjects/{subject}/versions/{version}/schema
subjects.versions.list GET /subjects/{subject}/versions
subjects.versions.register POST /subjects/{subject}/versions