日次アーカイブ: 2012年08月08日

fluentとgrowthforecastが流行っていると聞いて試してみました。アクセスログの統計はawstatsなどを使っている方も多いと思いますが、ツールの提供する範囲でしか表やグラフを生成してくれません。しかし、自分が計測したい項目がそこになかった場合は、グラフを作るしかありません。これまでは敷居の高かったグラフ作成を、これら組み合わせで簡単に作ってしまいましょう。RRDtoolなど既存のツールを使って数字をグラフにするよりは、恐らくものすごく簡単だと思います。

fluentって?

メッセージングのコレクションサービス。フレームワークとして抽象化されており、各種プラグインを利用することで、様々なメッセージングを集約、伝搬することが出来る。
また転送時のデータ構造には MessagePack を採用しており、かなりの転送能力を誇る。

from はてな

growthforecastって?

kazeburoさんが作成されたツールで、様々な値をAPI経由でグラフ化することができる。

動作イメージとしては以下の概念図のようになります。
fluent+growthforecast example
今回は例題として、ApacheのアクセスログをfluentがJSON形式に変換し、そのログファイルをgrowthforecastがグラフ化するところまでやってみたいと思います。

あらかじめ手元の作業環境にApacheをインストールするか、他所のサーバからアクセスログ(combined形式)を任意のディレクトリにコピーしておいてください。

…続きを読む

今回は、こちらの作業の続きです。fluentでログが採れたところからの作業となります。いよいよグラフ化するところに入ります。RRDtoolはCentOSのパッケージからインストールするとうまく動かないとのことなので、GrowthForecastのみPerlを最新化しつつRRDtoolも独自にインストールします。

■ 何はなくとも下準備

GrowthForecastを動かすために、以下のパッケージをyumの標準リポジトリからインストールします。
[cc lang='bash' ]
[admin@mega21 log]$ sudo yum install glib2-devel gettext libxml2-devel pango-devel cairo-devel
[admin@mega21 log]$ cd
[/cc]

…続きを読む

wordpressをActive/Standbyで冗長化したはよいが、実は運用で悩んでいる。単に文字列だけのエントリを投稿するだけであれば、サーバの肩寄せなどせず、単にDBへポンポン放り込んでくれるからである。一方で、以下のような場合は肩寄せ運用をしなくてはならない。

    • 画像つきエントリの投稿
    • プラグインやテーマの追加、削除、アップデート
    • テーマの編集

これらの作業はすべて、Apacheがファイルシステムに書き込みを加えるという共通項がある。対策としては、

    • 書き込みを加える対象以外のApacheを止めて、台数分作業を繰り返す
    • wp-adminなどの特定ディレクトリだけ片寄せする
    • POSTだけ片寄せして、裏でrsyncやlsyncdを使って同期する

くらいであろうか。2~3台程度のサーバであれば、手オペが少々面倒くさいだけで済むが、片寄せを自動化するとなると、WordPressのURLの構造をきちんと理解しないといけないし、もしURL構造の仕様変更があったらそれに追随しなければならない。さりとて、DocumentRootをNASやiSCSIなどで共有したら、単一障害点になってしまう。。。

さらにもう1点、一番重要なのは、エントリの書き手に余計な負担を与えてしまうこと。「画像つきエントリ投稿したけりゃバックエンドのApacheを片方止めてくださーい」なんて、言えないですよねー。なので、ブログの冗長化は自己満足ならいいけど、仕事でやるんだったらここまで考えたほうがいいです。大手のブログの中の人はどうしているのだろう。。。