StatsDは、アプリケーションメトリクスを集計および要約するためにEtsyが開発、リリースしたデーモンです。StatsD監視ツールを設定してStatsDパフォーマンス問題におけるトラブルシューティングや、アプリケーションメトリクスの収集処理をシームレスに行います。
このページでは、StatsDサーバーのパフォーマンス、可用性、使用統計を詳細に可視化するための、StatsDプラグインと監視メトリクスを設定する方法について説明します。
StatsDパフォーマンス監視メトリクス:
以下のような重要メトリクスを追跡して、情報に基づいたトラブルシューティングを行います:
Health
「Health」メトリクスは、StatsD設定の現在の状態ステータスを表示します。StatsDインストールの可用性や、機能の全体像が把握できます。
Time before last message
「messages.last_msg_seen」メトリクスは、StatsD設定がメッセージを受信するまでにかかった時間を表示します(単位:秒)。
Bad lines seen
「messages.bad_lines_seen」メトリクスは、StatsDインストールの起動後にメッセージに表示されたbad lineの合計数を表示します。
Gauges count
「gauges.count」メトリクスは、StatsD設定で現在設定されているゲージの合計数を表示します。
Timer count
「timers.count」メトリクスは、StatsD設定内の現在のタイマー合計数を表示します。
Counter count
「counters.count」メトリクスは、StatsD設定内の現在のカウンター合計数を表示します。
Uptime
「Uptime」メトリクスは、StatsD設定を断続的に監視し、StatsDサーバーが機能していた合計時間を表示します。
Graphite flush length
「graphite.flush_length」メトリクスは、Graphite監視ツールに送られた、文字列の長さの合計を表示します。
Last Graphite exception
「graphite.last_exception」メトリクスは、graphiteへのFlash中、最後にスローされた例外のUnixタイムスタンプを表示します。
Graphite flush time
「graphite.flush_time」メトリクスは、graphiteへのデータ送信にかかる時間を表示します。
Last Graphite flush
「graphite.last_flush」メトリクスは、graphiteへのFlash中における、最後の正常なUnixタイムスタンプを表示します。
手順
- Site24x7アカウントにログインします。アカウントをお持ちでない場合は、こちら からサインアップへお進みください。
- Site24x7 Linuxエージェント の最新バージョンをダウンロードおよびインストールします。
- StatsDプラグインをインストールします。
- エージェントはStatsDプラグインを実行し、Site24x7サーバーにデータをプッシュします。
前提条件:
- このプラグインでは、StatsDデータベースから統計を取得するために、Pythonモジュール[psycopg2]以降が必要です。
StatsDプラグインのインスト―ル:
Linuxユーザーの場合:
Windowsユーザーの場合:
- Site24x7 Linux エージェントプラグインディレクトリー[/opt/site24x7/monagent/plugins/]に、ディレクトリー[statsd]を作成します。
cd /opt/site24x7/monagent/plugins/
sudo mkdir statsd
- GitHubリポジトリーから [statsd.py]ファイルをダウンロード し、ディレクトリー[statsd]に配置します。
cd statsd
sudo wget https://raw.githubusercontent.com/site24x7/plugins/master/statsd/statsd.py
- Site24x7 Windowsエージェントプラグインディレクトリー[C:\Program Files\Site24x7\WinAgent\monitoring\Plugins\]で、ディレクトリー[statsd]を作成します。
cd C:\Program Files\Site24x7\WinAgent\monitoring\Plugins\
mkdir statsd
- GitHubリポジトリーから [statsd.ps1]ファイルをダウンロード し、ディレクトリー[statsd]に配置します。
cd statsd
wget https://raw.githubusercontent.com/site24x7/plugins/master/statsd/statsd.ps1
StatsDプラグインの設定:
以下は、Linuxのインストール例です。
- プラグインスクリプトで指定されているデフォルトのpythonパスは、[ #!/usr/bin/python]です。代替えのPythonパスを作成する場合は、shebang(シバン)文字[#!]が前に付いた既存パスに置き換えます。
- StatsDプラグインのホストおよびポートの値を設定します。
Eg :
host = "localhost"
port = "8126"
- 変更を保存し、エージェントを再起動します。
/etc/init.d/site24x7monagent restart
メトリクスを追加で監視:
- メトリクスを追加で監視するには、[statsd.py]ファイルを編集し、監視が必要なメトリクスを新しく追加します。
- 新しく追加したメトリクスを表示するには、[statsd.py]ファイルのプラグインバージョン値をインクリメントします(例:デフォルトのプラグインバージョンをPLUGIN_VERSION = 「1」から PLUGIN_VERSION = 「2」に変更)。
関連プラグイン:
- Redisプラグイン - Redisデータベースのパフォーマンスメトリクスを監視します。
- MongoDBプラグイン - MongoDBデータベースのパフォーマンスメトリクスを監視します。
- Memcachedプラグイン - Memcachedサーバーのパフォーマンスを分析します。
- Nagiosプラグイン - Site24x7では、Nagiosサーバーを実行する必要なしに、何千ものNagiosプラグインを実行することができます。
- Out-of-the-boxプラグイン - 豊富な連携リストでアプリケーション全体を監視します。
- カスタムプラグインの作成 – カスタム Linux および Windows プラグインを作成し、カスタム属性を監視します。