布団の中にいたい

Elasticsearchいじったり、Androidアプリ書いたり。最近は数学の勉強が楽しくなってきました。

logstashのmonitoring apiを叩くためのgo用ライブラリを作った

logstashを動かした時にどうやって監視しようと思うと、まぁほぼほぼx-packを使ってkibanaで監視すると思います。 monitoringに関してはx-packもただで使えますしね。

そんな中でkibanaを使わないで確認したいと思い至ったので、monitoring apiを叩くgo用ライブラリを作ってみました。 monitoring apiは実験的なものみたいなので、いつ無くなるか分からないですが、現状であればこれで十分だと思います。

github.com

Monitoring Logstashのページに記載されている以下の4つのAPIを実装しています。

  • Node Info API
  • Plugins Info API
  • Node Stats API
  • Hot Threads API

基本的なapi clientの作成の仕方については、以下の記事を参考にさせていただきました。ありがとうございました。

GolangでAPI Clientを実装する | SOTA

構成自体はelasticsearchのapi clientであるelasticを参考にしています。 github.com

一応apiを一通り実装してはいるもののテストが致命的に少ないので若干動作が不安です。なので使ってみたいと思う方は適当になおしてプルリクを投げていただけると嬉しいです。