lsyncとrsync時々fluentd

こんばんは、椛澤です。

同期に社畜と煽られても、すでに色々足りてないので甘んじて受けていれてます。

本当はめちゃくちゃ悲しいので、あんまり言わんといてやってください。

 

 

最近怖い事

あ、今日悪夢見ました。実家に強盗?泥棒はいって来たかと思ったら、カニバリズムな方が入って来て僕の腕が食べられました。もう胸に手を当てて眠れないね。

ということはどうでもよくて、最近怖い事があります。

それは、「あいつ●年目なのに●○もできねーのかよ」っていうことです。

上のセリフは、僕自身が先輩に対してよく使う言葉なのですが、これよくよく考えたら俺に降り掛かるのもそう遠くない未来だな、と感じたので、ふと寒気が走りました。

具体的には某3年目の先輩だったり、5年目の先輩だったりします。

 

実務に併せて言うと、もちろん担当範囲は決まっていてその分野に詳しいのは当たり前なんですが、

共通基盤(DBだったり、サーバ構成だったり、ログ、監視、メンテにおける手順)に対する知識、経験が欠落していたり、挙げ句そんなことやってたの?!とか言う先輩がいてため息をついていたのですが、自分も仕事任せられなかったらこうなるんだろうな、と。

 

そこで一度初心に返り、昨日よりも何か出来るようになった、何かに疑問を持てるようになった、何かを触った自分を具体的にまとめる必要があるなーと思った次第です。

ってことで、少しだけ更新の頻度をあげて行こう、って思いました。

 

lsyncdさわった

ということで、今日はlsyncdを触りました。

詳しい説明は


リアルタイムミラーリングツール導入(lsyncd+rsyncd) - Fedoraで自宅サーバー構築

lsyncd と rsync でホスト間でリアルタイムにファイルを共有する - ようへいの日々精進 XP

CentOS6.5でlsyncdを動かす - Qiita

 

この辺の説明が分かりやすいと思います。

それぞれの記事に書いてあるようにホスト間でリアルタイムにファイルを共有します。用途としては小さなファイルの同期。画像なんかがよく使われているそうです。

 

何がすごいって

今までrsyncしかしらなかったので、あるホストにあげたファイルを各ホストに配るのにはcrontabに登録したrsyncの実行だけで住ませていました。

crontabによる実行だと

・決まった時間のみ(非同期)に実行される

→無駄なrsyncが走る

→必要なタイミングで手動たたかなきゃいけない

なんて事がおきて、結構歯がゆい思いをしました。

(そもそもリアルタイム性が求められるのにcrontab使うなって話ですが。

(かといって、共有領域に対して頻繁I/Oはしらせるのはボトルネックになりますしね。

 

しかしlsyncdはlinuxカーネルのinotifyって言う機能を用いるので、対象のファイルシステムに対して操作が行われた事を監視してrsyncを走らせる事が出来ます。

なので厳密にリアルタイムかって言われると、あれですが、イベント駆動(今回の例で言うなら、ファイルがアップロードされたら)でリアルタイムベースでファイルの同期が行われます。これは感動

 

感動していたら...

某同期に熱のこもった感じでlsyncdはんぱねーよ!!と語ったところfluentdやれよとさらっと言われました。

fluentdってログをいい感じにまとめる奴じゃないっけ?

と思って少し調べました。

Fluentdで始めるリアルタイムでのログ有効活用 (1/4):CodeZine

今さら聞けないfluentd〜クラウド時代のログ管理入門(1):増えるログ、多様化するログをどう効率的に運用するか (1/2) - @IT

 

めっちゃログ管理やん。いや、俺の伝え方がまずかったんだろうか。

プラグインでファイルの入出力出来るから、多分そう言う使い方してるんだろうと思われたんかな。

 

Fluentdのお勧めシステム構成パターン

素敵なslideshareを見た感じも画像とかのファイル共有には適さなそう。

あくまでログのフィルタリング、分析、出力に適したツールな印象。あーでも使ってみたい。

 

今日はこんなところで