zapcat使用でTemplate_Javaのアイテムをコマンドラインで採取するには

フォーラムにはいつもお世話になっております。

以前zapcatによるjvmのパフォーマンス情報取得について質問させて頂き、現在も問題なく監視できています。

今回、採取した値を加工して新たな値を算出するためのスクリプトを作成したいと考えております。
それにあたり
・jmx[java.lang:type=MemoryPool,name=PS Old Gen][Usage.used]
・jmx[java.lang:type=MemoryPool,name=PS Old Gen][Usage.committed]
をそれぞれコマンドラインで単発で採取したいと考えています。

そこで、以前紹介頂いたcmdlinejmxclient.jarを使うかcurlを使うパターンで採取する方法以外で、
コマンドラインから、Template_Linuxのアイテムを採取するような感じでTemplate_Javaのアイテムを採取することは可能でしょうか。
zabbix_get -s {エージェントのIPアドレス} -p {エージェントのport番号} -k {キー}

本家フォーラムのスレッド中盤で似たような質問がありましたが、「Zapcat agent is not a regular Zabbix agent」とあったため、なんとか知恵をお借りできればと思います。
http://www.zabbix.com/forum/showthread.php?t=8626

コメント表示オプション

お好みのコメント表示方法を選び「設定の保存」をクリックすると変更が反映されます。
ユーザー kodai の写真

こんにちは。

試していないのですが、ZapcatはZabbixエージェントと同様の動きをするはずですので、以下のようにzabbix_getを実行すると取得できないでしょうか?

<code>zabbix_get -s <IPアドレス> -p <Zapcatのポート番号(デフォルト10052)> -k <キー></code>

キーのところは""で囲む必要があるかもしれません。

ユーザー sgym の写真

kodai様

ご返信ありがとうございます。

zabbix_get --helpを叩いて、用法を再確認してみると最終行に、
Example: zabbix_get -s127.0.0.1 -p10050 -k"system.cpu.load[all,avg1]"

とも書いてありましたので、スペースなど気を付けて全部で3つのコマンドを試してみましたが、返却される値は全て同じでした。

■試したコマンド
zabbix_get -s [b]IPアドレス[/b] -p 10052 -k jmx[java.lang:type=MemoryPool,name=PS Old Gen][Usage.used]
zabbix_get -s [b]IPアドレス[/b] -p 10052 -k "jmx[java.lang:type=MemoryPool,name=PS Old Gen][Usage.used]"
zabbix_get -s[b]IPアドレス[/b] -p10052 -k"jmx[java.lang:type=MemoryPool,name=PS Old Gen][Usage.used]"

■返却値
ZBX_NOTSUPPORTED

ユーザー KAZ の写真

sgymさん

正しくzapcatをインストールスると、curlもcmdlinejmxclient.jarも必要ないのですが…

下記の最後(2009-4-13)にzapcatのインストール方法をアップしてます。(curlもcmdlinejmxclient.jarも不要)
[url=http://www.zabbix.jp/modules/newbb/viewtopic.php?topic_id=223&forum=6&post_id=1086#forumpost1086]Re: JMX監視について[/url]

すいませんが、確認して頂けますか?

ユーザー sgym の写真

KAZ様

お世話になります。

申し訳ございません。書き方が悪かったです。
zapcatはご紹介頂いた手順でインストールしてcurl、cmdlinejmxclient.jarも使わず監視しています。

今回はzabbix_getで単純にコマンドを叩いて、Template_Javaのアイテムの値が返ってこないかと思い、

そこで、以前紹介頂いたcmdlinejmxclient.jarを使うかcurlを使うパターンで採取する方法以外で、

と付け加えて質問させて頂いた次第です。誤解を生んでしまい、申し訳ないです。

ユーザー KAZ の写真

sgymさん

なるほど……本家を確認してきました。
Zapcatはzabbix_getを使用できないみたいです。

確認はtelnetで行うように書いてあります。

[url=http://www.zabbix.com/forum/showthread.php?t=8626]Zapcat 1.3 released, adds templates for Java, Hibernate and Tomcat servlet containers[/url]

ユーザー sgym の写真

KAZ様

やはりtelnetで採取するしかないのですね。一発で採取できればと思ったのですがやはり厳しいですね。

$ telnet localhost 10052
を叩いた後に、キーである
jmx[java.lang:type=MemoryPool,name=PS Old Gen][Usage.used]
を叩いて採取します。

ありがとうございました。