Dropwizard監視

Site24x7を使用してDropwizardサーバーを監視し、問題を常に把握します。

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 プラグインを作成し、カスタム属性を監視します。