Riak監視

total allocated memoryやnumber of active GET/PUT FSMsなどの重要メトリクスを使用して、Riak監視を容易に行います。

Riakは、高い可用性、フォールトトレランスおよびスケーラビリティを実現するオープンソースNOSQLデータベースです。Riakプラグインをインストールおよび設定し、重要メトリクスを追跡することにより、情報に基づいたトラブルシューティングの決定が行えます。

このページでは、Riakサーバーのパフォーマンス、可用性、使用統計を詳細に可視化するための、Riakプラグインと監視メトリクスを設定する方法について説明します。

 

Riakパフォーマンス監視メトリクス:

幅広いメトリクスを通して、注意を要する危険なエラー通知を受け取ります。メトリクスのグラフで予期せぬ傾向を追跡し、迅速にトラブルシューティングを行います。サポートしているメトリクスは以下の通りです:

Number of protocol buffer connections

pbc_connects および pbc_active メトリクスは、それぞれプロトコルバッファー接続(PBC)の合計数と、アクティブなPBC数を表示します。

Memory allocated for atom storage

memory_atom および memory_atom_used メトリクスは、それぞれ現在割り当てられているメモリー合計量と、アトムストレージで使用されているメモリーの合計量を表示します。

Memory allocated for Binaries

Riakは、値が単純にバイナリとしてディスクに保管されるkey/valueストアです。memory_binaryメトリクスは、バイナリに使用されるメモリーの合計量を表示します。

 

Memory allocated for Erlang

RiakはErlang仮想マシン上で動作します。Erlang VMを適切に調整し、Riakのパフォーマンスを最適化するためには、Erlang Code(memory_code), Erlang Term Storage (memory_ets) および Erlang processes (memory_processes) に割り当てられた合計メモリーの統計が重要になります。

Number of GET FSMs

GET FSM sibling statsは、GETリクエストの際にこのノードが遭遇したsiblingの数を表示します。 node_get_fsm_in_rate および node_get_fsm_out_rate メトリクスでは、それぞれSidejobによってエンキュー/デキューされたGET FSMの平均数を表示します。

Number of PUT FSMs

FSM time statsは、PUT Finite State Machine(FSM)コードをトラバースするのに必要な時間(単位:マイクロ秒)と、一般的なノードステータスの図を表示します。node_put_fsm_active_60sメトリクスは、直前までアクティブだったPUT FSMの数を表示します。node_put_fsm_in_rate および node_put_fsm_out_rate メトリクスは、それぞれSidejobによってエンキュー/デキューされたGET FSMの平均数を表示します。node_put_fsm_rejected_60sメトリクスは、Sidejobのオーバーロード防止のため直前に拒否されたPUT FSMの数を表示します。

Vnode index operations

仮想ノード(vnodes)は、Riakリング内のパーティションを管理するプロセスです。各Riakノードには、複数のvnodeがあります。vnode_gets および vnode_puts メトリクスは、それぞれ特定のノード上のvnodeによって調整されたGET操作とPUT操作の数を表示します。また、セカンダリインデックス書き込み (vnode_index_writes)、読み込み (vnode_index_reads) 、削除 (vnode_index_deletes) に関与している直前のローカルレプリカ数を表示します。

 

手順

  • Site24x7アカウントにログインします。アカウントをお持ちでない場合は、こちら からサインアップへお進みください。
  • Site24x7 Linuxエージェント の最新バージョンをダウンロードおよびインストールします。
  • Riakプラグインをインストールします。
  • エージェントはRiakプラグインを実行し、Site24x7サーバーにデータをプッシュします。

前提条件:

  • Riakがサーバーにインストールされ、稼働していることを確認します。
  • Riakプラグインの拡張では、[/stats] url ('http://127.0.0.1:8098/stats') を使用して、パフォーマンスメトリクスを取得します。デフォルトで、Riakサーバーはインストール中に設定されます。されない場合は、設定を行う必要があります。

Riakプラグインのインストール:

sudo mkdir riak
sudo wget https://raw.githubusercontent.com/site24x7/plugins/master/riak/riak.py
sudo /etc/init.d/site24x7monagent restart
  • Site24x7 Linuxエージェントのプラグインディレクトリー[/opt/site24x7/monagent/plugins/]に、[riak]という名前のディレクトリーを作成します。
  • GitHubリポジトリーから [riak.py] をダウンロードし、[riak]ディレクトリーに配置します。
  • プラグインスクリプトで指定されているデフォルトのpythonパスは、[ #!/usr/bin/python]です。代替えのPythonパスを作成する場合は、shebang(シバン)文字[#!]が前に付いた既存パスを置き換えます。
  • RIAK_HOST、RIAK_PORT、RIAK_STATS_URI、RIAK_USERNAME および RIAK_PASSWORDの値を変更して、設定と一致させます。
  • サーバーエージェントは、Site24x7 Webクライアントの[プラグイン]タブから、Riakサーバーのパフォーマンス統計情報をレポートします。プラグインがSite24x7 Webクライアントにリストされていない場合は、エージェントを再起動してください。

メトリクスを追加で監視:

  • メトリクスを追加で監視するには、[riak.py]ファイルを編集し、監視が必要なメトリクスを新しく追加します。
  • 新しく追加されたメトリクスを表示するには、[riak.py]ファイルのプラグインバージョン値をインクリメントします(たとえば、デフォルトのプラグインバージョンをPLUGIN_VERSION = 「1」から PLUGIN_VERSION = 「2」に変更します)。
 

関連プラグイン:

  • GlassFishプラグイン - GlassFishサーバーのパフォーマンスメトリクスを監視します。
  • ActiveMQプラグイン - Apache ActiveMQインスタンスのパフォーマンスメトリクスを監視します。
  • CouchDBプラグイン - Apache CouchDBデータベースのパフォーマンスを分析します。
  • RabbitMQプラグイン - RabbitMQサーバーのパフォーマンスを監視します。
  • Out-of-the-boxプラグイン - 豊富な連携リストでアプリケーション全体を監視します。
  • カスタムプラグインの作成 – カスタム Linux および Windows プラグインを作成し、カスタム属性を監視します。