キャッシュ レプリケーションの監視

Jira Data Center のキャッシュ レプリケーション

このページの内容

お困りですか?

アトラシアン コミュニティをご利用ください。

コミュニティに質問

キャッシュ レプリケーションについての統計情報は、メインの Jira ログ ファイル、atlassian-jira.log に記載されています。これらは、ローカル キューのサイズや、キャッシュ変更のレプリケーションの平均所要時間などの、キャッシュ レプリケーションの詳細を示しています。

記録される統計情報

各ノードは、キャッシュ レプリケーションの状態を示す統計情報を記録します。統計情報には 2 つのタイプがあります。

  • Total: ノードの開始以降に集計された統計情報。

    ログ ファイル内での表示
    Cache replication queue stats per node: {destination_node_id} total stats: {statistics_in_json}
  • Snapshot: 前回のスナップショットの取得後 (既定では 60 秒) に集計された統計情報。

    ログ ファイル内での表示
    Cache replication queue stats per node: {destination_node_id} snapshot stats: {statistics_in_json}

例:

3 ノード クラスタでは、ノード 1 に次の統計情報があります。

  • Total: ノード 1 からノード 2 へのレプリケーション
  • Total: ノード 1 からノード 3 へのレプリケーション
  • Snapshot: ノード 1 からノード 2 へのレプリケーション
  • Snapshot: ノード 1 からノード 3 へのレプリケーション


キャッシュ レプリケーションの監視

統計情報の例

統計は JSON 形式で表示されます。出力例は次のようになります。


統計情報の例を表示...
{
   "timestampMillis":1526489492166, 
   "nodeId":"i-02c18edad029cc01a",
   "queueSize":0,
   "startQueueSize":0,
   "startTimestampMillis":1523651486765,
   "startMillisAgo":2838005401,
   "closeCounter":0,
   "addCounter":320528,
   "droppedOnAddCounter":0,
   "criticalAddCounter":0,
   "criticalPeekCounter":2,
   "criticalRemoveCounter":0,
   "peekCounter":0,
   "peekOrBlockCounter":320528,
   "removeCounter":320528,
   "backupQueueCounter":0,
   "closeErrorsCounter":0,
   "addErrorsCounter":0,
   "peekErrorsCounter":0,
   "peekOrBlockErrorsCounter":2,
   "removeErrorsCounter":0,
   "backupQueueErrorsCounter":0,
   "lastAddTimestampMillis":1526489491576,
   "lastAddMillisAgo":590,
   "lastPeekTimestampMillis":0,
   "lastPeekMillisAgo":0,
   "lastPeekOrBlockTimestampMillis":1526489491576,
   "lastPeekOrBlockMillisAgo":590,
   "lastRemoveTimestampMillis":1526489491580,
   "lastRemoveMillisAgo":586,
   "lastBackupQueueTimestampMillis":0,
   "lastBackupQueueMillisAgo":0,
   "timeToAddMillis":{
      "count":320528,
      "min":0,
      "max":1368,
      "sum":393651,
      "avg":1
   },
   "timeToPeekMillis":{
      "count":0,
      "min":0,
      "max":0,
      "sum":0,
      "avg":0
   },
   "timeToPeekOrBlockMillis":{
      "count":320528,
      "min":0,
      "max":28113261,
      "sum":28375252091,
      "avg":88526
   },
   "timeToRemoveMillis":{
      "count":320528,
      "min":0,
      "max":1448,
      "sum":209845,
      "avg":0
   },
   "timeToBackupQueueMillis":{
      "count":0,
      "min":0,
      "max":0,
      "sum":0,
      "avg":0
   },
   "staleCounter":0,
   "sendCounter":320526,
   "droppedOnSendCounter":0,
   "timeToSendMillis":{
      "count":320526,
      "min":0,
      "max":1768,
      "sum":771778,
      "avg":2
   },
   "sendRuntimeExceptionCounter":0,
   "sendCheckedExceptionCounter":0
}

基本的な監視方法

これらの数個のパラメーターを監視することで、キャッシュ レプリケーションが正常に機能しているかどうかを確認できます。次の表の推奨値を確認し、お使いの環境で表示される内容と比較してください。


パラメータ 説明 推奨値
queueSize

キューの現在のサイズ (レプリケーションを待機しているキャッシュ変更の数)。

値は 0 に近づける必要があります。

これは、変更が正常にレプリケートされ、キューから削除されたことを示します。

startQueueSize + addCounter

ノードの開始時のキューの初期サイズと、それ以降にキューに追加された変更の数。

startQueueSize + addCounter は、sendCounter および removeCounter と等しくなるはずです。

これは、キューに追加されたすべての変更が正常にレプリケートされ、キューから削除されたことを示します。

sendCounter = removeCounter

他のノードにレプリケートされた変更の数、およびキューから削除された変更の数。

timeToAddMillis

ローカル キューに変更を追加および削除するのにかかる時間。

avg 値は 1 〜 10 ミリ秒に近い値になるはずです。

この値よりも極端に大きい場合、ローカル ホーム ディレクトリが格納されているストレージに I/O の問題が発生している可能性があります。 

timeToRemoveMillis

timeToSendMillis

RMI 経由でローカル キューから他のノードに変更を送信するのにかかる時間。


droppedOnAddCounter

droppedOnSendCounter

キューに追加できなかった変更や、他のノードにレプリケートできなかった変更の数。

値は 0 に近づける必要があります。

これは、すべての変更が正常にキューに追加され、他のノードにレプリケートされたことを示します。


パラメータ

以下の表は、統計情報で確認できるすべてのパラメーターを示します。


すべてのパラメーターを確認...
パラメータ 説明

timestampMillis

統計情報が生成されたときのタイムスタンプ。

nodeId 宛先ノード ID。
queueSize 現在のキュー サイズ (変更の数)。
startQueueSize

ノードが開始されたときの初期キュー サイズ。例えば、20 個の変更リクエストがキューに残っている状態でノードが再起動された場合、ノードが再度稼働すると、このパラメーターは 20 を示します。

startTimestampMillis

このノードでキューが開始されたときのタイムスタンプ。

startMillisAgo

キューがアクティブとなっている期間。

closeCounter

キューの終了後、1 に変更されます。ノードのステータスが offline に変更されると、キューは終了します。


addCounter

キューに加えられた変更の数。

droppedOnAddCounter

キューに加えることのできなかった変更の数。

criticalAddCounter

キューに加えることのできなかった変更の数。ログ ファイルの表示方法:

Critical state of local cache replication queue - cannot add: {cache-operation} to queue: {queue-name}, error: {error-message}
criticalPeekCounter

キューから読み込めなかった変更の数。ログ ファイルの表示方法: 

Critical state of local cache replication queue - cannot peek from queue: {queue-name}, error: {error-message}
criticalRemoveCounter

キューから削除できなかった変更の数。ログ ファイルの表示方法:

Critical state of local cache replication queue - cannot remove localQCacheOp: {cache-operation} from queue: {queue-name}, error: {error-message}.
peekOrBlockCounter

キューから読み込まれた変更の数。これらの変更は後ほどレプリケートされ、キューから削除されます。

removeCounter

キューから削除された変更の数。通常は、これらが正常にレプリケートされたことを意味します。

backupQueueCounter

キューについて作成されたバックアップの数。キューが破損し、読み取りや書き込みができなくなると、バックアップが作成されます。バックアップを作成した後、新しいキューが作成されます。ログ ファイルでの表示方法:

Re-created persistent cache replication queue for node: {destination-node} with id: {queue-name} in : {localq-home}
closeErrorsCounter

キューを終了できない場合に増加します。

addErrorsCounter

キャッシュ変更リクエストをキューに追加できない場合に増加します。

peekOrBlockErrorsCounter

キャッシュ変更リクエストをキューから読み込めない場合に増加します。

removeErrorsCounter

キャッシュ変更リクエストをキューから削除できない場合に増加します。

backupQueueErrorsCounter

キューのバックアップを作成できない場合に増加します。

lastAddTimestampMillis

キューに追加された最後のキャッシュ変更リクエストのタイムスタンプ。

lastPeekOrBlockTimestampMillis
lastPeekOrBlockMillisAgo

キューで読み込まれた最後のキャッシュ変更リクエストのタイムスタンプ。
lastRemoveTimestampMillis
lastRemoveMillisAgo

キューから削除された最後のキャッシュ変更リクエストのタイムスタンプ。

lastBackupQueueTimestampMillis
lastBackupQueueMillisAgo

作成された最後のバックアップのタイムスタンプ。


timeToAddMillis キューに変更を追加するのにかかる時間。
timeToPeekOrBlockMillis キューから変更リクエストを読み込むのにかかる時間。
timeToRemoveMillis

キューから変更リクエストを削除するのにかかる時間。

timeToBackupQueueMillis

キューのバックアップの所要時間。

staleCounter

変更の作成後に宛先ノードが再起動されたためにレプリケートされていない変更リクエストの数。ノードは、再起動後にデータベースから値をロードするため、これらの変更を配信する必要はありません。

sendCounter

正常にレプリケートされた変更の数。

droppedOnSendCounter

レプリケートできなかった変更の数。

timeToSendMillis 他のノードに変更をレプリケートするのにかかる時間 (ミリ秒)
sendRuntimeExceptionCounter

発生した回復不能なエラーの数。

sendCheckedExceptionCounter

発生した回復可能なエラーの数。


最終更新日 2019 年 7 月 9 日

この内容はお役に立ちましたか?

はい
いいえ
この記事についてのフィードバックを送信する
Powered by Confluence and Scroll Viewport.