Glowroot APM プラットフォームの構成と起動設定

ソースコードのディレクトリ構成

Glowroot のソースリポジトリは、機能ごとにモジュールが明確に分割されています。主要なディレクトリとその役割は以下の通りです。

.
├── agent            # Java エージェントの実装本体
├── build            # ビルドスクリプトおよび設定
├── central          # データ収集・表示サーバー
├── common           | 共通ユーティリティライブラリ
├── common2          # 追加共通コンポーネント
├── ui               # フロントエンド資産(HTML/CSS/JS)
├── webdriver-tests  # Selenium による E2E テスト
└── wire-api         # 内部通信用 API 定義
  • agent: 対象アプリケーションにアタッチされ、パフォーマンスデータを収集する Java エージェント。
  • central: 収集されたデータを集約し、Web UI を通じて可視化するバックエンドサービス。
  • common / common2: 複数モジュールで共有される基底クラスやヘルパー機能。
  • ui: ユーザーインターフェースを構成する静的リソース。
  • webdriver-tests: ブラウザ自動化ツールを用いた統合テスト suite。
  • wire-api: エージェントと中央サーバー間の通信プロトコル定義。

実行環境の起動プロセス

システムを稼働させるには、エージェント側の設定と中央サーバーの起動が必要です。

エージェントの接続

監視対象の Java アプリケーションに対して、JVM 起動オプションとしてエージェントを指定します。環境変数を利用すると管理が容易になります。

export JAVA_OPTS="-javaagent:/opt/glowroot/agent.jar"
java $JAVA_OPTS -jar your-application.jar

上記のパスは、実際に配置したエージェント JAR ファイルの絶対パスに置き換えてください。

中央サーバーの起動

データ収集サーバーは standalone な Jar ファイルとして実行可能です。必要に応じてヒープメモリサイズを指定することを推奨します。

java -Xmx512m -jar central/dist/glowroot-central.jar

起動完了後、ブラウザで http://localhost:4000 にアクセスするとダッシュボードが表示されます。

UI 開発モード

フロントエンドの修正やデバッグを行う場合、サンドボックス環境を起動できます。これにより、ローカルホスト上で UI を独立して実行し、バックエンドへプロキシ接続できます。

mvn -pl ui exec:java -Dexec.mainClass=org.glowroot.ui.sandbox.UiSandboxMain

設定パラメータの管理

動作制御は、エージェント側と中央サーバー側でそれぞれ設定ファイルを用意します。

エージェント設定

エージェントの挙動は、主に agent/glowroot.properties または config.ini で定義されます。ここではログ出力レベルや、メトリクス収集のサンプリング間隔などを調整できます。変更を反映させるには、監視対象アプリケーションの再起動が必要です。

中央サーバー設定

サーバー側の設定は central/conf/application.conf に集約されています。データベース接続文字列、HTTP リスナーポート、認証機構などの構成を記述します。実行中に書き込み権限が必要な項目もあるため、プロセス実行ユーザーの権限管理に注意してください。設定変更後は中央サーバーサービスの再起動を行い、変更を有効化します。

タグ: glowroot java-apm jvm-monitoring performance-tuning

7月3日 17:46 投稿