LoginSignup
4
4

More than 5 years have passed since last update.

【IBM Cloud k8s検証メモ】Kibanaによるアプリのログ分析

Last updated at Posted at 2017-09-19

k8sクラスタに展開されるコンテナのアプリを運用するには、個々のアプリのログを一箇所に集めて、横断的にログを監視したり、分析できる機能が必要です。 Bluemix k8sでは、コンテナ上のアプリが、stdout や stderr へ出力したメッセージを Elasticsearch へ転送して蓄積する機能、および Kibana で検索する機能が提供されています。(1) 今回は、ログの横断的な蓄積、ログ分析、ログに含まれるキーワード監視について検証します。

スクリーンショット 2017-09-17 8.04.41.png

このアプリケーション・ログ収集のための機能は、k8sクラスタを起動すると、自動的に Elasticsearch へログの転送と蓄積を開始し、デフォルトの無料プランでは、1日あたり500MB、3日間を検索することができます。 ログの容量や期間を超えた場合は、古いものから参照できなくなります。(ロールオーバー)

Log Analysis サービス

Elasticsearch に蓄積されたログを Kibana で参照したり、視覚化するためには、Bluemix カタログから Log Analysis サービスを作成する必要があります。

Bluemix カタログから、次のアイコンを探してクリックします。

スクリーンショット 2017-09-17 8.23.34.png

ウェブ画面の案内に従って、プランを選択して、作成を確定することで、Kibanaの画面へアクセスできる様になります。

スクリーンショット 2017-09-17 8.39.54.png

考慮点として、Bluemix k8sクラスタ は、地域でアカウント横断的に、ダッシュボードに表示されますが、この Log Analysis サービスは、Bluemix の Cloud Foundry のサービスとして提供されるため 組織とスペースの下に置かれます。 このため、IBM Cloud Log Analysis 概説チュートリアル (2) には、https://logging.ng.bluemix.net/ などの Kibana のウェブページに直接アクセスする様に記載されていますが、このケースでは、組織とスペースでフィルターされているため、変更しなければ参照できないケースがあります。 既に、Bluemix Cloud Foundry アプリとして、ログ分析サービスを利用していれば、注意が必要です。

スクリーンショット 2017-09-17 8.51.01.png

k8sクラスタとアプリのデプロイ

何かk8sクラスタ環境にデプロイされたアプリケーションが必要なので、Bluemix-k8s検証メモ】アプリをHTTPSとドメイン名でアクセスするを利用しました。 このアプリでは、curl などでアクセスすると、コンテナの標準出力へ、次の様なメッセージを出しています。 そこで、それぞれのPOD(コンテナ)で標準出力されているメッセージの数をカウントすることで、それぞれのPODへの振り分け状況をKibanaで視覚化して見たいと思います。

$ kubectl logs -f express-app-943621608-202zb
GET / 200 1.218 ms - 262
GET / 200 16.771 ms - 262
GET / 200 3.331 ms - 262
GET / 200 1.588 ms - 262
GET / 200 1.568 ms - 262
GET / 200 3.360 ms - 262
GET / 200 1.438 ms - 262
GET / 200 1.943 ms - 262
GET / 200 1.470 ms - 262

アプリのログ分析

Kibanaの設定は、ダッシュボードを使用した Kibana でのログの分析が参考になります。 文字ばかりで、少し分かり難いと感じれば、Qiita Kibanaで簡単! サクサク ビジュアライズしよう! がオススメです。

Kibana 初心者の僕でも、次の様なダッシュボード画面を作ることができました。

スクリーンショット 2017-09-19 10.13.07.png

オレンジの折れ線グラフ、緑の棒グラフが、k8sクラスタ上のトータルの HTTPS GET を受けた数、それ以外のグラフが、PODそれぞれのアクセス数です。

参考資料

(1) IBM Bluemix Container Service のロギング https://console.bluemix.net/docs/services/CloudLogAnalysis/containers/logging_containers_ov.html#logging_containers_ov
(2) IBM Cloud Log Analysis 概説チュートリアル https://console.bluemix.net/docs/services/CloudLogAnalysis/index.html#getting-started-with-cla
(3) Kibana でのログのフィルタリング https://console.bluemix.net/docs/services/CloudLogAnalysis/kibana/filter_logs.html#filter_logs

4
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4