CA MOBILE エンジニアブログ

株式会社シーエー・モバイルのエンジニアブログです

にわっちのインフラ奮闘記vol5-ログの可視化

本ブログでは初となります。

-10kg以上ダイエットに成功したインフラG にわっち(ヽ´ω`)です。

 

ログの可視化が話題になってからだいぶ立ちますが、
弊社のコミュニケーションサービスのアクセスログを可視化してみました。

f:id:niwattitti:20151015103617p:plain

環境とミドルウェアのバージョン

  • centOS :6.4
  • Elasticsearch :1.4.1
  • Kibana :3.1.2
  • logstash :1.4
  • fluentd(td-agent) :0.10.55

できること・特徴

  • 時系列ごとのアクセス数がわかる

ピークの時間帯が分かりやすい

f:id:niwattitti:20151014103434j:plain

  • レスポンスコードの比率がわかる

クリックすることで対象のもの(例えば404)のものだけリスト化することも可能です。

f:id:niwattitti:20151014105345j:plain

  • ログの詳細情報表示

 表示させたいフィールドにチェックを入れると表の項目として表示できる

f:id:niwattitti:20151015102746p:plain

  • n秒以上のスロークエリを出せる

response_time:>500,000,000ns(0.5s)

範囲指定も可 res_time:[200000 TO 400000]

f:id:niwattitti:20151014105637j:plain

  • geo情報について

logstashデフォルトでgeoipが取れる。
fluentdはデフォルトでgeoipがとれないのでプラグインを入れる必要あり
kibana3はIPアドレスかアクセス元を地図表示できますが、
日本地図が非対応なのは残念です。

f:id:niwattitti:20151014105710j:plain

Elasticsearchのプラグインを利用することで、
容易にクラスタ状況やnodeの把握ができる。

f:id:niwattitti:20151015103644p:plain

利用したプラグイン

  • elasticsearch-head

上記したとおり。

  • fluent-plugin-elasticsearch

fluentでElasticsearchを利用するときに使う。

  • fluent-plugin-geoip

IPアドレスから経度緯度を取得するために利用する。

  • fluent-plugin-record-reformer

タグの情報をレコードの内容に変換する事ができる。
host名をレコードに入れ込むのに使用する。

※他にも監視対象が増えた時にfluent-plugin-forestを使えば
タグを動的に扱う事ができるので設定ファイルの肥大化を抑える事ができる。

 

構築してみた感想・ログを可視化したメリット

  • 見たいときに見たい情報を素早く見みることができる。
  • レスポンスタイムが悪いURLが分かる。
  • HTTPのステータスコードと時間帯による割合の確認ができる。
  • 海外からのアクセスが可視化されるので不正アクセスが疑わしい国を判断できる。
  • 新規リリース・デプロイ時に障害ポイントが素早く分かる。
  • fluentdとlogstashを併用するときはformatの項目名を統一する必要あり。

 

おわりに

社内でこんなログみたい・あれしたい・これしたい・設定見せて・インストール手順教えて等の要望に応えつつ、複数のサービスログを可視化していきたいと思いますヽ(=´▽`=)ノ