JBoss Data Gridを監視してみよう

2013年9月11日(水)
高橋 丈

JBoss CLI(Command Line I/F)

2つめの方法はJBoss CLIです。JDGには管理I/FとしてCUIベースでのコマンド操作をすることが出来ますが、この機能を使ってJDGの属性の取得や操作を行う方式になります。
なお、本機能は最新のJDG6.1から提供された機能であり、現時点ではTech Preview扱いとなっています。そのためWindows環境ではうまく動きませんのでご了承ください。

以下のコマンドで本機能を起動することが出来ます。

$ cd $JDG_HOME/bin
$ ./jdg-cli.sh –-connect=remoting://localhost:9999/local/default

--connectパラメータでCLIで操作するJDGのノードやキャッシュの指定を行います。上記の例では、”remoting” プロトコルを利用して ”localhost” のノードへつなぎ、”local” というキャッシュコンテナにある ”default” というキャッシュに対する操作として、接続を行っています。

接続すると以下のコンソール表示になります。

[remoting://localhost:9999/local/default]>

helpコマンドを利用することでどのようなコマンドが用意されているかを見ることが出来ます。エントリの格納や確認するコマンド等、たくさんのものが用意されています。

[remoting://localhost:9999/local/default]> help
abort
begin
cache
clear
・・・<中略>・・・
stats
upgrade
version
[remoting://localhost:9999/local/default]>

各コマンドが何か分からない場合には、help で各コマンドの機能概要を確認することも出来ます。下記では例としてstatsコマンドの確認を行っています。

[remoting://localhost:9999/local/default]> help stats

SYNOPSIS
  stats [--container | cachename]

DESCRIPTION
  Shows statistics about the specified cache or about the active cache
  manager

ARGUMENTS
  cachename
  (optional) the name of the cache for which information will be
  printed. If omitted, information about the current cache will be
  shown. If the --container option is specified, then information
  about the current container will be shown instead.
[remoting://localhost:9999/local/default]>

例えば、上記のstatsコマンドを利用すると、以下のようにJDGの属性を取得することが出来ます。

[remoting://localhost:9999/local/default]> stats
Statistics: {
  evictions: 0
  averageReadTime: 0
  stores: 7
  hits: 7
  removeMisses: 0
  hitRatio: 0.875
  removeHits: 0
  statisticsEnabled: true
  numberOfEntries: 4
  timeSinceReset: 994
  misses: 1
  readWriteRatio: 1.1428571428571428
  elapsedTime: 994
  averageWriteTime: 0
}
LockManager: {
  numberOfLocksAvailable: 0
  concurrencyLevel: 500
  numberOfLocksHeld: 0
}
[remoting://localhost:9999/local/default]>

本機能では、キャッシュに対する包括的なオペレーションが出来るようになっており、状態取得だけではなくキャッシュ操作に向いています。そのため、テスト用のデータを投入したり、取得して確認するような処理を、プログラムを書かずに簡単に実現できます。

JBoss Operations Network for JDG

最後がJBoss Operations Network(通称JON)を使った方法になります。こちらは各JDGインスタンスに監視用のエージェントを組み込み、様々なメトリックを一定の間隔で収集、これらの情報をブラウザからグラフィカルに監視することが出来ます。

図3:JBoss Operations Network for JDG画面1

各メトリックのその時点での数値を静的に見るだけでなく、グラフとして一定時間内の傾向を確認することも出来ます。

図4:JBossOperations Network for JDG画面2

この方法では、監視だけでなくインスタンスの起動/停止という管理に関してもブラウザから行うことが出来るため、実運用環境での監視/管理への利用に最適な方式と言えます。
また、JONではJDGだけでなく他のJBoss製品を含め、多数のノードを一元的に監視/管理できるので、EAPやJDGが混在している100台規模のインスタンスをまとめて監視/管理することも出来ます。これにより、さらに運用効率を上げることも可能でしょう。
なお、JONの構築には監視対象となるJDGだけではなく、JON自体やJONが利用するDBのインストールと構築も必要になるため、本記事では行いません。

いかがでしたでしょうか? これで、JDGのテストや運用時にどのような機能を使って監視や管理が行えるか、ご覧頂けたかと思います。実際の運用では、今回ご紹介した方式の延長として、JMX MBeanを使ってメトリクスを取るようなスクリプトを外部で書いたりするようなこともあります。

次回は、JDGの使い方に戻って、ライブラリモードというこれまでご紹介した以外の方法での利用について解説したいと思います。ご期待ください。

レッドハット株式会社
JBossサービス事業部 ソリューションアーキテクト
SIerでWeb系フレームワーク構築やコンサルティング業務に携わった後、日本BEAシステムズ、日本オラクル等の外資系ベンダでミドルウェアのプリセールスに従事。2011年より現職。自動車/自転車等のスピードが出るものが好き。

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています