JMX agentでhadoopのNameNodeから値を取得したときのメモ
hadoop 0.20.3
zabbix 2.0.0
結局はJMXがbindするIPを指定するのが難しくJMX agentとリモートホストの疎通がうまくとれなかったので
別の方法(zabbix agentのuserparameter)でモニタリングしてます。
以下、備忘録として。
事前準備としてhadoopのjmxを有効にしておく。zabbixも--enable-javaでビルドしておく。
zabbixではitemを作っていく事になるが、keyの指定はtypeで「JMX agent」を指定してkeyに
jmx[
を記述する。
object name、attribute nameはjconsoleでjmxに接続してとなんとなく分かる。
attribute nameは「属性」となっていることもある。
以下、keyに入れた値。
- BlocksTotal
jmx["hadoop:service=NameNode,name=FSNamesystemState","BlocksTotal"]
- FilesTotal
jmx["hadoop:service=NameNode,name=FSNamesystemState","FilesTotal"]
- CapacityUsed
jmx["hadoop:service=NameNode,name=FSNamesystemState","CapacityUsed"]
- CapacityRemaining
jmx["hadoop:service=NameNode,name=FSNamesystemState","CapacityRemaining"]
- CapacityTotal
jmx["hadoop:service=NameNode,name=FSNamesystemState","CapacityTotal"]
- NumDeadDataNodes
jmx["hadoop:service=NameNode,name=FSNamesystemState","NumDeadDataNodes"]
- NumLiveDataNodes
jmx["hadoop:service=NameNode,name=FSNamesystemState","NumLiveDataNodes"]