ログ管理方法


ログ管理方法について説明します。巷ではfluentd, elastic search, kibanaが流行っていますが、このサイトではlogrote, rsyslogなどの古くから存在する概念についても説明します。新旧の両方を知っていれば、適切なログ管理手法を選択できるはずです。

なお、私はfluentd (td-agent) に対してトラウマがあるため、他のサイトと比べてfluentd (td-agent) に対する否定的な意見が多いです。fluentd(td-agent)そのものは悪い子ではないので、私の否定的な意見は話半分に聞き流して下さい。

logger_image_001

ログ管理方法

logrote 設定方法

WEB業界では、いつも設計を後回しにされるログローテーション(ログ消し込み)です。ダメ、ゼッタイ、ログローテ後回し。

rsyslogd (syslogd) 設定 – ログ管理方法

fluentd登場以前のログ転送方法のデファクトスタンダードでした。fluentd登場以降でも、信頼性や運用上の配慮に関して言えばfluentdよりもrsyslogの方が優れています。用途に応じてrsyslogとfluentdを使い分けましょう。

意外と知られていませんが、rsyslogには夜間転送機能, ログ除外機能, rate limitなどの運用を配慮した細やかな機能が備わっています。

fluentd(td-agent)のインストールと設定

fluentdはログ転送とログ解析の機能を提供するソフトウェアです。rsyslogに比べて学習コストが低く、設定ファイルも直感的です。そのせいもあり、インフラエンジニアだけでなくアプリ開発者にも人気のあるソフトウェアです。

しかし、信頼性に難があるので過信は禁物です。fluentdはマーケティングデータのような多少の破損が許されるログに限定して使用しましょう。もし、信頼性が欲しいのならばrsyslogを使用するべきです。もっと言えば、決済系などの絶対に破損が許されないようなデータならば、rsyslogよりも信頼性の高い方法(RDBMS保存など)を検討しましょう。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする