Skyland Ventures tech ブログ

渋谷のVenture Capital Skyland Venturesのいま一番イケてる投資先、nanameue,IncとKaumoの共同技術ブログ

fluentdはじめました

こんばんは!kaumoのエンジニアインターンの「ふじとら」です。 今回はログ収集&監視のためにfluentdを導入したことについて書きたいと思います。

kaumoでは以下のような構成でつくりました。

f:id:skytechblog:20160219230418p:plain

<!-- kaumoの宣伝ここから -->
これは明日の社内勉強会のために作成しているスライドです。
kaumoでは毎週土曜日に社内勉強会をしています!
先週はぬっかーさんのansible、その前はれんれんさんのインフラでした。
<!-- kaumoの宣伝ここまで -->

定番の構成ですね!! サービス拡大やトラフィックが増えても簡単に増設できるのでしばらくはこれで大丈夫かなと思います。 現状まだテスト段階ですが、本格的に運用するとなるとスタンバイ用のサーバも必要ですね

この環境を作るときに苦戦したことが5つあります。

  • webサーバのポート解放のしわすれ
  • buffer_chunk_limit等のバッファ周りの設定
  • formatで指定する正規表現
  • S3のバケットを作るときにリージョン指定してなかったのでエラー(パケット自体はデフォの米国東部 (バージニア北部)なのに設定ファイルのs3_regionでは東京を指定していた)
  • format ltsv指定してるのに取得されない(time_format指定し忘れ)

基本的なことばかりです...

ちなみにnginxのログ取得するformatの正規表現はこうなりました

/^(?<host>[^ ]*) [^ ]* (?<user>[^ ]*) \[(?<time>[^\]]*)\] "(?<method>\S+)(?: +(?<path>[^ ]*) +\S*)?" (?<code>[^ ]*) (?<size>[^ ]*)(?: "(?<referer>[^\"]*)" "(?<agent>[^\"]*)")?$/
いかがでしょうか。

正規表現苦手なのでめっちゃ時間かかりました...が、本番環境はnginx.confでltsv形式が指定されていたので結局使いませんでした。