JMX監視項目の計算について

JMX監視でZabbix標準搭載の「Template App Apache Tomcat JMX」を用いて監視を実装しています。
本テンプレート内の項目についてはデータ取得できていることを確認しているのですが、
テンプレート内のJMX項目で取得した値を組み合わせて計算アイテムを作成することは可能でしょうか。

具体的には、以下の項目を用いてHeapMemory使用率を算出したいと考えております。

・HeapMemory使用量のキー
jmx["java.lang:type=Memory","HeapMemoryUsage.used"]

・HeapMemory量のキー
jmx["java.lang:type=Memory",HeapMemoryUsage.max]

上記を計算アイテムで組み合わせて以下のような項目を作成しましたが正常に処理されません。
last(jmx["java.lang:type=Memory","HeapMemoryUsage.used"],0)/last(jmx["java.lang:type=Memory","HeapMemoryUsage.max"],0)

JMXで取得したデータはlast()などの関数で計算できないのでしょうか。

コメント表示オプション

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

下記のような形式はうけつけますでしょうか。

last("jmx["java.lang:type=Memory",HeapMemoryUsage.used]")

ユーザー TNK の写真

正常に処理されないとのことですが、エラーメッセージなどが表示
されるのであれば、それらをご提示ください。

アイテムキーの文字列から推測するに、コーテーションの問題では
ないでしょうか?

例えば、一方のアイテムですが、以下のようにアイテムキー全体を
ダブルコーテーションで括って、アイテムキー内のダブルコーテー
ションをバックスラッシュでエスケープしてみてください。

last("jmx[\"java.lang:type=Memory\",\"HeapMemoryUsage.used\"]",0)

ユーザー ktta の写真

Yasumi様、TNK様ご回答ありがとうございます。
お二人にご教授いただいた内容を反映いたしましたが、
やはりfunctionにおいてエラーが発生してしまいます。

Yasumi様からご提示いただいた修正を加えた結果↓
Incorrect function 'last' expression. Check expression part starting from: "jmx["

TNK様からご提示いただいた修正を加えた結果↓
Incorrect function 'last' expression. Check expression part starting from: "HeapMemoryUsage.used"

last()関数がキーに対応していないのでしょうか。

ユーザー Yasumi の写真

TNKさんのやり方で進んでいるように見えます。
元のアイテムの最後にも"Heap~"にも""はついていますか?
私の環境ではアイテムキーは下記になっています。
jmx["java.lang:type=Memory",HeapMemoryUsage.used]

もし上のようになっているのでしたら、下記を試す価値があると思います。
last("jmx[\"java.lang:type=Memory\",HeapMemoryUsage.used]",0)

ユーザー ktta の写真

Yasumi様、TNK様

Yasumi様にご提示いただいた内容で再度修正したところ、正常に計算されました。
コーテーションの扱いという初歩的な質問となり失礼いたしました。
勉強になりました、ありがとうございました。