Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.

nginxのログを非スケーラブルに省メモリな方法で蓄積する

554 vues

Publié le

nginxのログを非スケーラブルに省メモリな方法で蓄積する

Publié dans : Internet
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

nginxのログを非スケーラブルに省メモリな方法で蓄積する

  1. 1. nginxのログを非スケーラブルに 省メモリな方法で蓄積する @gepuro
  2. 2. 動機 脱google analyticsをする。 リファラーやセッションはwebビーコンで取得できるようになったが、サイトの レスポンスなどは無い 個人のVPSはメモリが1Gしかない · · · 2/8
  3. 3. nginx リバースプロキシとして利用している。 一度アクセスをここに集めて、docker上で動くアプリに振り分けている。 3/8
  4. 4. ログの出力方法をltsvにする apacheみたいな出力フォーマットはパースが面倒なのでltsvにする· 4/8
  5. 5. nginx.conf (1/2) log_format ltsv 'domain:$hostt' 'host:$remote_addrt' 'user:$remote_usert' 'time:$time_localt' 'method:$request_methodt' 'path:$request_urit' 'query_string:$query_stringt' 'referer:$http_referert' 5/8
  6. 6. nginx.conf (2/2) 'request_time:$request_timet' 'protocol:$server_protocolt' 'size:$body_bytes_sentt' 'user_agent:$http_user_agentt' 'cookie:$http_cookiet' 'set_cookie:$sent_http_set_cookiet' 'upstream_addr:$upstream_addrt' 'upstream_cache_status:$upstream_cache_statust' 'upstream_response_time:$upstream_response_timet' 'status:$statust' 'bytes_sent:$bytes_sentt' 'body_bytes_sent:$body_bytes_sentt' 'forwardedfor:$http_x_forwarded_for'; 6/8
  7. 7. ログの監視と蓄積 tail -Fでログの監視をする sqliteへ保存 現在のメモリ使用量 · · · docker statsで確認 7.786MBと省メモリ - - 7/8
  8. 8. さいごに fluentdみたいな高機能な物を使うよりも、 まずは単純な仕組みで解決して、メ モリを節約。 個人のVPSで複数のサービスを動かす時は、ケチケチした運用が大事 8/8

×