@johtaniの日記 2nd

@johtani ‘s blog 2nd edition

JJUGナイトセミナーで話しました

7/25にJJUGナイトセミナーでElastic Stackの紹介とAPMのJava Agentの紹介をしたので、補足のブログです。 (久々に書くな。。。)

スライドとサンプルアプリのリポジトリはこちら。

サンプルアプリ

勉強会の頭でサンプルアプリへのアクセス用QRコードを用意して質問してもらう感じにしました。

アプリ自体が質問の受付と、そこにある質問に対して聞きたいかどうかのVoteができる仕組みになっています。 セッション最後にこの画面をみながら答えました。 手を挙げていただくよりも、匿名(名前入れるようになってますが、実名である必要はない)で登録できるし、 みんなが聞きたいかどうかもわかるので便利だなぁと。

元は、Elastic{ON} 2018であった「Docker & Kubernetes Log Collection and Monitoring with Beats and Elasticsearch」のサンプルアプリです。 これをSpring Bootに移植して、ちょっとだけサンプルコードを追加したものになります。

構成とかの補足

スライド、GitHubのリポジトリのREADMEにある図は、k8s上のサンプルアプリケーションの構成だけでした。 ElasticsearchとKibanaを含めた図はこんな感じです。

k8s上の各種Beats、APM Serverは一旦Elastic CLoud Elasticsearch Service(AWS Tokyoリージョンにデプロイ)に対してデータを投げます。 で、KibanaはGKE(k8s on GCP)で動かして、実際に勉強会ではkubectl proxyで接続してから表示していました。 この構成にしている理由は次の理由です。

  • Elastic CloudのElasticsearchクラスターにデータを投げている理由
    • クラスターの起動が簡単。
    • データを永続化したい。k8sのアプリは必要がなくなったらデータを削除したいから。
    • k8sのdeploymentを書く手間を省く
    • 普段使ってるので。。。
  • KibanaをGKEで動かした理由
    • Elastic Cloudでは「現時点(7/29現在)」で、KibanaでAPM専用のUIを起動できない
    • ローカルである必要はない

といったところです。 Elastic Cloudのインスタンスを起動したままにしておけば、デモをしなくても、このタイミングのログ、メトリクスを 再利用して話をすることも可能です。

まとめ

ということで、簡単ですが、構成の補足でした。 勉強会では告知したのですが、今後の勉強会はトピックスごとでやりたいなと。ということで、どんなトピックスに興味があるのか、スピーカーの応募にはどんなツールが話しやすいかなどといったことのアンケートを集めております。ぜひご協力ください! また、アンケート、このブログに関する質問がある場合は、@johtani、もしくはブログへのコメントでお願い致します。

Comments