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 - 投稿数: 380
下記のような形式はうけつけますでしょうか。
last("jmx["java.lang:type=Memory",HeapMemoryUsage.used]")
TNK - 投稿数: 4754
正常に処理されないとのことですが、エラーメッセージなどが表示
されるのであれば、それらをご提示ください。
アイテムキーの文字列から推測するに、コーテーションの問題では
ないでしょうか?
例えば、一方のアイテムですが、以下のようにアイテムキー全体を
ダブルコーテーションで括って、アイテムキー内のダブルコーテー
ションをバックスラッシュでエスケープしてみてください。
last("jmx[\"java.lang:type=Memory\",\"HeapMemoryUsage.used\"]",0)
ktta - 投稿数: 16
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 - 投稿数: 380
TNKさんのやり方で進んでいるように見えます。
元のアイテムの最後にも"Heap~"にも""はついていますか?
私の環境ではアイテムキーは下記になっています。
jmx["java.lang:type=Memory",HeapMemoryUsage.used]
もし上のようになっているのでしたら、下記を試す価値があると思います。
last("jmx[\"java.lang:type=Memory\",HeapMemoryUsage.used]",0)
ktta - 投稿数: 16
Yasumi様、TNK様
Yasumi様にご提示いただいた内容で再度修正したところ、正常に計算されました。
コーテーションの扱いという初歩的な質問となり失礼いたしました。
勉強になりました、ありがとうございました。