etcdは、マシンのクラスターデータを信頼性の高い方法のもと保管する、オープンソースの分散キー値ストアです。プラグインを設定して、etcdサーバーを分析および最適化します。キーインジケーターを通して、etcdサーバーが継続的に機能していることを確認し、十分な情報に基づいた上でのトラブルシューティングを行います。
このページでは、etcdサーバーのパフォーマンス、可用性、使用統計を詳細に可視化するための、etcdプラグインと監視メトリクスを設定する方法について説明します。
Etcdパフォーマンス監視メトリクス:
サポートしているキーメトリクスは以下の通りです:
Successful/failed updates
「update_success」および「update_fail」メトリクスは、etcdサーバーが受信した更新リクエストの成功、失敗率をそれぞれ表示します。
Successful/failed creates
「create_success」および「create_fail」メトリクスは、etcdサーバーが受信した作成リクエストの成功、失敗率をそれぞれ表示します。
Successful/Failed compares and swaps
「compare_and_swap_success」および「compare_and_swap_fail」メトリクスは、etcdサーバーが受信した比較および交換リクエストの成功、失敗率をそれぞれ表示します。
Successful/failed compares and deletes
「compare_and_delete_success」および「compare_and_delete_fail」メトリクスは、etcdサーバーが受信した比較および削除リクエストの成功、失敗率を表示します。
Expire count
「expire_count」メトリクスは、etcd設定の期限切れのキーの合計数を表示します。
Watchers
「Watchers」メトリクスは、etcd設定のwatcher合計数を表示します。
Append requests recieved
「self_recv_appendreq_cnt」メトリクスは、ノードが処理した追加リクエストの合計数を表示します。
Requests per second recieved
「self_recv_pkg_rate」メトリクスは、1秒間に受信するノードの合計数を表示します。このメトリクスは、followerノードの場合にのみ機能します。leaderノードの場合、値は常に0になります。
Bytes per second recieved
「self_recv_bandwidth_rate」メトリクスは、1秒間にノードが受信するバイトの合計数を表示します。このメトリクスは、followerノードの場合にのみ機能します。leaderノードの場合、値は常に0になります。
Requests sent
「self_appendreq_cnt」メトリクスは、ノードが送信した追加リクエストの合計数を表示します。
Requests per second sent
「self_send_pkg_rate」メトリクスは、1秒間にノードが送信するリクエストの合計数を表示します。このメトリクスは、leaderノードの場合にのみ機能します。followerノードの場合、ノード値は常に0です。
Bytes per second sent
「sendbandwidthrate」メトリクスは、1秒間にノードが送信するバイトの合計数を表示します。このメトリクスは、leaderノードの場合にのみ機能します。Followerノードの場合、ノード値は常に0です。
手順
- Site24x7アカウントにログインします。アカウントをお持ちでない場合は、こちら からサインアップへお進みください。
- 現在使用しているOSに応じて、最新バージョンの [Site24x7 Linuxエージェント] または [Site24x7 Windowsエージェント] をダウンロードおよびインストールします。
- etcdプラグインをインストールします。
- エージェントはetcdプラグインを実行し、Site24x7サーバーにデータをプッシュします。
前提条件:
- OSがLinuxの場合、etcdデータベースから統計を取得するために、Pythonモジュール[psycopg2]が必要です。
EtcdプラグインLinuxのインストール:
- Site24x7 Linuxエージェントのプラグインディレクトリー[/opt/site24x7/monagent/plugins/]に移行し、ディレクトリー[etcd_store]を作成します。
cd /opt/site24x7/monagent/plugins/
sudo mkdir etcd_store
- GitHubリポジトリーから[etcd_store.py]ファイルをダウンロード し、ディレクトリー[etcd_store]に配置します。
cd etcd_store
sudo wget https://raw.githubusercontent.com/site24x7/plugins/master/etcd_store/etcd_store.py
- 同様に、Site24x7 Linuxエージェントのプラグインディレクトリー[/opt/site24x7/monagent/plugins/]に、ディレクトリー[etcd_self]を作成します。
cd /opt/site24x7/monagent/plugins/
sudo mkdir etcd_self
- GitHubリポジトリーから[etcd_self.py]ファイルをダウンロード し、ディレクトリー[etcd_self]に配置します。
cd etcd_self
sudo wget https://raw.githubusercontent.com/site24x7/plugins/master/etcd_self/etcd_self.py
EtcdプラグインWindowsのインストール:
- [etcd_store]という名前のディレクトリーを作成し、Site24x7 Windowsエージェントプラグインディレクトリー[C:\Program Files\Site24x7\WinAgent\monitoring\Plugins\]に配置します。
cd C:\Program Files\Site24x7\WinAgent\monitoring\Plugins\
mkdir etcd_store
- GitHubリポジトリーから[etcd_store.ps1]ファイルをダウンロード し、ディレクトリー[etcd_store]に配置します。
cd etcd_store
wget https://raw.githubusercontent.com/site24x7/plugins/master/etcd_store/etcd_store.ps1
- 同様に、Site24x7 Windowsエージェントのプラグインディレクトリー[C:\Program Files\Site24x7\WinAgent\monitoring\Plugins\]へ移行し、ディレクトリー[etcd_self]を作成します。
cd C:\Program Files\Site24x7\WinAgent\monitoring\Plugins\
mkdir etcd_self
- GitHubリポジトリーから[etcd_self.ps1]ファイルをダウンロード し、[etcd_self]ディレクトリーに配置します。
cd etcd_self
wget https://raw.githubusercontent.com/site24x7/plugins/master/etcd_self/etcd_self.ps1
Etcdプラグインの設定:
以下はLinuxインストールの例です。
- プラグインスクリプトで指定されているデフォルトのpythonパスは、[#!/usr/bin/python]です。代替えのpythonパスを作成する場合は、shebang(シバン)文字[#!]が前に付いた既存パスに置き換えます。
- etcdプラグインのホストおよびポート値を設定します。
Eg :
HOST = "localhost"
ADMINPORT = "4848"
- 変更を保存し、エージェントを再起動します。
/etc/init.d/site24x7monagent restart
メトリクスを追加で監視:
- メトリクスを追加で監視するには、Linuxインストール用の[etcd_self.py]および[etcd_store.py]ファイルを編集し、監視が必要なメトリクスを新しく追加します。Windowsインストールの場合は、[etcd_store.ps1]および[etcd_self.ps1]を編集します。
- 新しく追加したメトリクスを表示するには、変更を行ったファイルのプラグインバージョン値をインクリメントします(例: デフォルトのプラグインバージョンをPLUGIN_VERSION = 「1」から PLUGIN_VERSION = 「2」に変更)。
関連プラグイン:
- Redisプラグイン - Redisデータベースのパフォーマンスメトリクスを監視します。
- MongoDBプラグイン - MongoDBデータベースのパフォーマンスメトリクスを監視します。
- Memcachedプラグイン - Memcachedサーバーのパフォーマンスを分析します。
- Nagiosプラグイン - Site24x7では、Nagiosサーバーを実行する必要なしに、何千ものNagiosプラグインを実行することができます。
- Out-of-the-boxプラグイン - 豊富な連携リストでアプリケーション全体を監視します。
- カスタムプラグインの作成 - カスタム Linux および Windows プラグインを作成し、カスタム属性を監視します。