LoginSignup
26
27

More than 5 years have passed since last update.

kibana4 nginxのアクセスログをレスポンスタイム別でグラフ化する

Last updated at Posted at 2015-10-30

最終形 nginxパフォーマンスグラフ

こんな感じのグラフを作成する事がゴール。
nginxのアクセスログを集計して、request_timeの範囲毎に色分けしてグラフ化したい。

  • 遅いレスポンスが全体のどのくらいを占めているか
  • 特定の時間だけ遅いなどが起きていないか
  • 長期的にレスポンスの悪化が起きていないか
  • deploy直後でレスポンスが悪くなっていないか
  • 障害時のユーザー影響の直感的な理解

とか、色々と確認する時に見える化しておく事は重要。

スクリーンショット 2015-10-30 10.12.15.png

手順

Visualizeでグラフを作成

グラフタイプを選択

今回は、Vertical bar chartで作成する。
新しいクエリを作成するので、次の画面では、From a new searchを選択する。
スクリーンショット 2015-10-30 10.19.19.png

X軸を設定

Select buckets typeのX-Axisを選択して、AggregationにDate Histogramを指定する。
Applyを押すと反映されるが、この時点では全ログが一色で表示されている状態になる。
スクリーンショット 2015-10-30 10.24.40.png

グラフにフィルターを適用する

kibana3とここが大きく変わった気がするが、ここでAdd Sub Aggretationを選択、Split Barsを選ぶ。
Split Barsなので条件によってBarを分割する事が出来る。
Sub AggregationはFiltersを選び、Queryを入れるところが出てくるのでここに条件を入れる。
今回は、request_time毎にQueryを設定しているので以下のように8個のQueryを入れた。ここは分割したい条件で色々と変えられる。
スクリーンショット 2015-10-30 10.28.45.png

しかし、これ、普通にクエリをappendする様な方式じゃ駄目だったんだろうか。以前まではそんな方式だったと思うんだが。。。
実はそっちのやり方もあるのだろうか。ご存知の方いましたら教えてください。

保存

ここまで来たら、右上の保存アイコンで保存する。
(保存アイコンていつまでフロッピーなんだろうか。。。)

Dashboardに貼付けて保存

Dashboardに移動すると、プラスボタンで先ほど保存したグラフが選べるので選択して表示する、マウスで動かせたり大きさを変更出来たりしてここはkibaba3に比べると相当便利になっていると感じる。

環境

今回は自分で色々と設定するのが面倒だったので、AWSのelasticsearch serviceを利用。
当初の想定だと、elasticsearchだけ提供されていると思ったらが、kibanaも付いてきて感動した。
インフラエンジニアのお仕事が無くなる一方だが、本来のパフォーマンスのチェックとチューニングというお仕事に時間を使えてありがたい。

nginxのログは、各webサーバーでltsvで出力して、fluentdでelasticsearchに突っ込んでいる。
elasticsearchに突っ込むまではこの辺りが詳しく書いてある。
http://blog.zoncoen.net/blog/2013/11/11/logging-system-with-fluentd-elasticsearch-kibana3/

まとめ

kibana3の黒い画面に慣れていて最初は戸惑うが、4もなかなか色々と設定出来たり相変わらずUIはカッコいいので使い倒したらもっと良くなるのではないかなと思う。

26
27
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
26
27