Dropwizardは、高性能でopsに適したRESTfulWebサービスを開発するためのJavaフレームワークです。Site24x7プラグインを設定して、Dropwizardサーバーを監視し、パフォーマンス問題発生時にトラブルシューティングを行います。
このページでは、Dropwizardサーバーのパフォーマンス、可用性、使用統計を詳細に可視化するための、Dropwizardプラグインと監視メトリクスを設定する方法について説明します。
Dropwizardパフォーマンス監視メトリクス:
以下のような重要メトリクスを追跡し、情報に基づいたトラブルシューティングを行います:
Uptime
「Uptime」メトリクスは、Dropwizardサーバーの合計稼働時間を表示します(単位:ミリ秒)。Dropwizardサーバーが起動および稼働していることを確認することができます。
Maximum memory
「max_memory」メトリクスは、使用可能なメモリの最大量を表示します(単位:MB)。サーバーメモリの全体像を維持できます。
Heap used
「heap_used」メトリクスは、ヒープメモリの使用量を表示します(単位:MB)。サーバーメモリの全体像を維持できます。
Non-heap used
「non-heap_used」メトリクスは、非ヒープメモリの使用量を表示します(単位:MB)。
Metaspace used
「metaspace_used」メトリクスは、metaspaceでのメモリ使用量を表示します(単位:MB)。
Compressed class space used
「compressed-class-space_used」メトリクスは、compressed classes spaceでのメモリ使用量を表示します(単位:MB)。
Cache used
「code-cache_used」メトリクスは、キャッシュメモリの合計量を表示します。
Threads count
「threads_count」メトリクスは、JVMのスレッド合計数を表示します。
Runnable threads count
「threads_runnable_count」メトリクスは、JVMの実行可能なスレッド合計数を表示します。
Log count
「log_count」メトリクスは、Dropwizardサーバーで発生したイベントログの合計数を表示します。
Severity log count
「log_*_count」メトリクスは、重大度(debug、error、info、trace、warn)に基づいてイベントログの合計数を表示します。
Response count
「xxx-responses」メトリクスは、レスポンスコード(1xx, 2xx, 3xx, 4xx, 5xx)に基づいてレスポンスの合計数を表示します。
Total requests
「total_requests」メトリクスは、サーバーが受信したリクエストの合計数を表示します。
Get requests
「get_requests」メトリクスは、サーバーが受信したGETリクエストの合計数を表示します。
Post requests
「post_requests」メトリクスは、サーバーが受信したPOSTリクエストの合計数を表示します。
delete_requests
「delete_requests」メトリクスは、サーバーが受信したDELETEリクエストの合計数を表示します。
Connect requests
「connect_requests」メトリクスは、サーバーが受信したCONNECTリクエストの合計数を表示します。
Options requests
「options_requests」メトリクスは、サーバーが受信したOPTIONSリクエストの合計数を表示します。
Other requests
「other_requests」メトリクスは、サーバーが受信した他のすべてのタイプのリクエスト合計数を表示します。
Port connections
「*_connections_count」メトリクスは、各ポートで行われた接続の合計数を表示します。 例: 8080, 8443など
手順
- Site24x7アカウントにログインします。アカウントをお持ちでない場合は、こちら からサインアップへお進みください。
- Site24x7 Linuxエージェント の最新バージョンをダウンロードおよびインストールします。
- Dropwizardプラグインをインストールします。
- エージェントはDropwizardプラグインを実行し、Site24x7サーバーへデータをプッシュします。
前提条件:
- Dropwizardがサーバーにインストールされ、稼働していることを確認します。
Dropwizardプラグインのインストール:
- Site24x7 Linuxエージェントプラグインディレクトリー[/opt/site24x7/monagent/plugins/]下に、プラグイン用ディレクトリーを[dropwizard_jvm_metrics]、[dropwizard_event_metrics]、 [dropwizard_connection_metrics] という名前でそれぞれ作成します。
cd /opt/site24x7/monagent/plugins/
sudo mkdir dropwizard_jvm_metrics
sudo mkdir dropwizard_event_metrics
sudo mkdir dropwizard_connection_metrics
- GitHubリポジトリーから[dropwizard_jvm_metrics.py]ファイルをダウンロード し、ディレクトリー[dropwizard_jvm_metrics]に配置します。
cd dropwizard_jvm_metrics
sudo wget https://raw.githubusercontent.com/site24x7/plugins/master/dropwizard_jvm_metrics/dropwizard_jvm_metrics.py
- GitHubリポジトリーから [dropwizard_event_metrics.py] ファイルをダウンロード し、ディレクトリー[dropwizard_event_metrics]に配置します。
cd dropwizard_event_metrics
sudo wget https://raw.githubusercontent.com/site24x7/plugins/master/dropwizard_event_metrics/dropwizard_event_metrics.py
- GitHubリポジトリ―から[dropwizard_connection_metrics.py]ファイルをダウンロード し、[dropwizard_connection_metrics]に配置します。
cd dropwizard_connection_metrics
sudo wget https://raw.githubusercontent.com/site24x7/plugins/master/dropwizard_connection_metrics/dropwizard_connection_metrics.py
Dropwizardプラグインの設定:
Dropwizardプラグインのファイル位置- /opt/site24x7agent/monagent/plugins/dropwizard_jvm_metrics/dropwizard_jvm_metrics.py
- 監視設定を変更する場合は、プラグインディレクトリーへ移行し、変更が必要なファイルを編集します。
- プラグインスクリプトで指定されているデフォルトのpythonパスは、[#!/usr/bin/python]です。代替えのpythonパスを作成する場合は、shebang(シバン)文字[#!]が前に付いた既存パスに置き換えます。
- Configセクションで変更を行います(以下例)。
例 :
HOST = "localhost"
ADMINPORT = "4848"
メトリクスを追加で監視:
- メトリクスを追加で監視するには、プラグインファイルを編集し、監視が必要なメトリクスを新しく追加します。
- 新しく追加したメトリクスを表示するには、プラグインファイルのプラグインバージョン値をインクリメントします(例:デフォルトのプラグインバージョンをPLUGIN_VERSION = 「1」から PLUGIN_VERSION = 「2」に変更)。
関連プラグイン:
- RabbitMQプラグイン - RabbitMQデータベースのパフォーマンスメトリクスを監視します。
- MongoDBプラグイン - MongoDBデータベースのパフォーマンスメトリクスを監視します。
- Kafkaプラグイン - Kafkaサーバーのパフォーマンスを分析します。
- Nagiosプラグイン - Site24x7では、Nagiosサーバーを実行する必要なしに、何千ものNagiosプラグインを実行することができます。
- Out-of-the-boxプラグイン - 豊富な連携リストでアプロケーション全体を監視します。
- カスタムプラグインの作成 – カスタム Linux および Windows プラグインを作成し、カスタム属性を監視します。