DSE Advanced Replication(DSE拡張レプリケーション)のメトリクス

ソース・ノード上のDSE Advanced Replication(DSE拡張レプリケーション)メトリクスは、ソース・クラスターのそのノードの現在のステータスを参照します。

cassandra-env.sh

cassandra-env.shファイルの場所は、インストールのタイプによって異なります。
パッケージ・インストール /etc/dse/cassandra/cassandra-env.sh
tarボール・インストール installation_location/resources/cassandra/conf/cassandra-env.sh

各ソース・ノードのメトリクスを収集して、ソース・クラスター内のそのノードの現在のステータスを確認します。メトリクス機能を使用するには、ソースとデスティネーションの構成が稼働している必要があります。「使用開始」を参照してください。

JMXアクセスの確保

メトリクスは、DataStax Enterprise JMXシステムに格納されます。JMXアクセスが必要です。
  • プロダクション環境では、DataStaxはJMXユーザーの認証を推奨しています。「JMX認証の構成」を参照してください。
  • ローカルJMXアクセスを有効にするには、以下の手順を実行します。localhostアクセスは、テストおよび開発環境で役立ちます。
  1. ソース・ノードで、 cassandra-env.sh を編集し、ローカルJMXを有効にします。
    JVM_OPTS="$JVM_OPTS -Djava.rmi.server.hostname=localhost"
    LOCAL_JMX=yes
  2. ソース・ノードで、DataStax Enterpriseを停止して再起動し、ローカルJMXの変更を認識させます。

コマンドラインでメトリクスを表示する

コマンドラインにメトリクスを表示するには、dse advrepコマンドライン・ツールを使用します。ソース・ノードがコマンドラインの前提条件を満たしていることを確認します。
  1. ソース・ノードで以下のコマンドを実行します。
    dse advrep --jmx-port 7199 metrics list
    ------------------------------------------
    |Group         |Type               |Count|
    ------------------------------------------
    |Tables        |MessagesDelivered  |1002 |
    ------------------------------------------
    |ReplicationLog|CommitLogsToConsume|1    |
    ------------------------------------------
    |Tables        |MessagesReceived   |1002 |
    ------------------------------------------
    |ReplicationLog|MessageAddErrors   |0    |
    ------------------------------------------
    |ReplicationLog|CommitLogsDeleted  |0    |
    ------------------------------------------
    
    -------------------------------------------------------------------------------------------------------------------------------------------------
    |Group         |Type                 |Count|RateUnit     |MeanRate            |FifteenMinuteRate    |OneMinuteRate      |FiveMinuteRate         |
    -------------------------------------------------------------------------------------------------------------------------------------------------
    |ReplicationLog|MessagesAdded        |1002 |events/second|0.012688461014514603|9.862886141388435E-39|2.964393875E-314   |2.322135514219019E-114 |
    -------------------------------------------------------------------------------------------------------------------------------------------------
    |ReplicationLog|MessagesDeleted      |0    |events/second|0.0                 |0.0                  |0.0                |0.0                    |
    -------------------------------------------------------------------------------------------------------------------------------------------------
    |ReplicationLog|MessagesAcknowledged |1002 |events/second|0.012688456391385135|9.86403600116801E-39 |2.964393875E-314   |2.3230339468969963E-114|
    -------------------------------------------------------------------------------------------------------------------------------------------------
    |ReplicationLog|CommitLogMessagesRead|16873|events/second|0.21366497971804438 |0.20580430240786005  |0.39126032533612265|0.2277227124698431     |
    -------------------------------------------------------------------------------------------------------------------------------------------------
    
    -------------------------------------
    |Group       |Type            |Value|
    -------------------------------------
    |Transmission|AvailablePermits|30000|
    -------------------------------------

メトリクスへのアクセス

JMXを使用してメトリクスにアクセスします。jconsoleなどのJMXツールを使用すると、拡張レプリケーションでMBeanにアクセスできます。上記のポート7199は、ホスト名またはIPアドレスとともに使用されます。
[MBeans]タブを選択し、左側のナビゲーション・フレームでcom.datastax.bdp.advrep.v2.metricsを探します。
ここに示す例は、com.datastax.bdp.advrep.v2.metrics:type=ReplicationLog,name=MessagesAddedの属性を表示します。

パフォーマンス・メトリクス

メトリクスは、com.datastax.bdp.advrep.v2.metricsパスの下にJMX MBeanとして公開され、論理的に複数のメイン・グループに分割されます。各グループは、アーキテクチャー・コンポーネントを参照します。メトリクス・タイプは、以下のとおりです。
Counter
単純にインクリメントとデクリメントを行う64ビット整数。
Meter
イベント・セットの発生率を測定します。
Histogram
データ・ストリーム内の値の分布を測定します。
Timer
あるタイプのイベントの期間のヒストグラムと発生率の測定です。
Gauge
値の瞬間的な測定値です。
次のグループのメトリクスを使用できます。また、メトリクスはテーブル別でも提供されています。各メトリクスの説明が提供されています。
注: DSE 5.0(V1)のメトリクスも使用できます。これらのメトリクスについては、DSE 5.0のドキュメントを参照してください。

ReplicationLog

ReplicationLogグループのメトリクス:
メトリクス名 説明 メトリクス・タイプ
MessagesAdded レプリケーション・ログに追加されたメッセージの数と、メッセージが追加されたレート(レプリカ別)。 Meter
MessagesAcknowledged レプリケーション・ログから確認応答を受け取った(および削除された)メッセージの数。エラーが発生した場合、確認応答は1または1+nになります。 Meter
MessagesDeleted レプリケーション・ログから削除されたメッセージの数(無効なメッセージと、チャネルTRUNCATE操作後に削除されたメッセージを含む)。 Meter
MessageAddErrors レプリケーション・ログにメッセージを追加するときに発生したエラーの数。 Counter
CommitLogsToConsume 消費される必要のある、拡張レプリケーション・メッセージが書き込まれているコミット・ログの数。 Counter
CommitLogMessagesRead レプリケーション・ログに追加されたコミット・ログ・メッセージの数。コミット・ログ・メッセージは、コレクションが有効になっているソース・テーブルに関するメッセージである場合に読み取られます。 Meter
CommitLogMessagesDeleted レプリケーション・ログに追加した後にコミット・ログから削除されたコミット・ログ・メッセージの数。CommitLogMessagesReadと同様に、このメトリクスは、拡張レプリケーションが有効になっているテーブルのメッセージにのみ関与します。 Meter

Transmission

Transmissionグループのメトリクス:
メトリクス名 説明 メトリクス・タイプ
AvailablePermits 送信に使用可能なグローバル許可の現在の数。 Gauge

AdvancedReplicationHub-[destinationName]-metrics

AdvancedReplicationHub- [destinationName] -metricsグループのメトリクスは、DSE Javaドライバーによって自動的に提供されます。
デスティネーションごとのメトリクスの例の一部を以下に示します。
メトリクス名 メトリクス・タイプ
known-hosts Counter
connected-to Counter
open-connections Counter
requests-timer Timer
connection-errors Counter
write-timeouts Counter
read-timeouts Counter
unavailables Counter
other-errors Counter
retries Counter
ignores Counter
詳細については、DSE Javaドライバーのドキュメントを参照してください。

テーブルごとのパフォーマンス・メトリクス

テーブルごとにパフォーマンス・メトリクスを表示するには、JMXを使用します。Tablesの左側のナビゲーション・フレームの[com.datastax.bdp.advrep.v2.metrics]タブの下でテーブルを選択して、メトリクスを調べます。
たとえば、キースペースdemoのテーブルsensor_readingsMessagesReceivedメトリクスにアクセスするには、以下のパスを参照します。
com.datastax.bdp.advrep.v2.metrics:type=Tables,scope=demo.sensor_readings,name=MessagesReceived
テーブルごとに使用できるメトリクスを以下に示します。
メトリクス名 説明 メトリクス・タイプ
MessagesReceived このテーブルのソース・クラスターから受信したメッセージの数。 Counter
MessagesDelivered デスティネーションにレプリケートされたソース・テーブルのメッセージの数。 Counter
MessagesDeleted レプリケーション・ログから削除されたメッセージの数(無効なメッセージと、チャネルTRUNCATE操作後に削除されたメッセージを含む)。 Counter