hadoop用のexporterを作ってみた。

https://github.com/wyukawa/hadoop_exporter

といってもNameNodeとResourceManagerの代表的なメトリクスだけです。

取得するメトリクスは
https://github.com/ryukobayashi/hadoop-metrics2
を参考にしました。

実装自体は
https://github.com/neezgee/apache_exporter
を参考に作りました。初めてのGoです。

作る前にPrometheusのメーリングリストhadoop用のexporterがあるか質問したんですが、
https://github.com/prometheus/jmx_exporter
を使えと言われました。

jmx_exporterだとjavaagent使うかjmxのポート開けるかしないといけなくてあんまりカジュアルに使えないというか、hadoopの場合はそんなことしなくてもメトリクス取れるんだからそれをそのままモニタリングする方が自然だよねということで自作しました。

NameNodeの方は/jmxを見ますが、ResourceManagerの方は/ws/v1/cluster/metricsを見てます。

Grafanaで見るとこんな感じ