ログ監視はメールで

僕はシステム運用のログ監視にメールを使っている。syslogの専用ビューアもいいんだろうけど:

  1. 検索、転送、タグなど業務内容もメールの要件と一致している
  2. syslogをメールに転送するlogwatchやWindows EventLogをメールに転送するアプリも充実している(文字化け多いけど)
  3. 新たなサブシステムを学習、保守、運用しなくて済む

などがその理由かな。

ちょっと気をつけないと行けないのは、通常業務で利用するメールとは切り離す必要があるという事。結構なメール量になるので、他の業務への影響が出てしまうので。僕はその辺に気づくのが遅れて、いたい目に遭いました。それとそのメールシステムの監視や、遅延への対応ポリシーを事前に策定しておく事。まぁ、ログ監視はアラートと違うから、そこまでリアルタイム性は必要じゃないけどね。

Mail.app vs. RoundCube vs. Thunderbird vs. Zimbra

IMAPの性能限界を超えるメールの量になってしまい、いろいろと整理が必要になったので、その一環で試したメールクライアントをいろいろと試してみた結果をまとめてみました:

RoundCube

Ubuntu 9.10上でv0.3.1を実装して、OS Xから使っているのですが、IMAPサーバーと同じマシン上においているからか、非常に軽快で素敵です。ただ、以下の機能欠落が致命傷:

  1. UTF-8以外のエンコーディング(特にOutlook Expressユーザーがいる日本語環境では)
  2. (1)と関連して、件名でBase64のサポート
  3. (1)で関連して、返信/転送時の元メールのエンコーティング引き継ぎ
  4. 署名の位置指定
  5. キーボードバインディング
  6. 検索の条件と制度

(4)までは自分でなんとかなりそうなので、いつかパッチを公開してみます。(5)はハードルたかすぎかな。(6)はIMAPサーバー(Dovecot)が問題なのかも。

Thunderbird

Ubuntu上の3.0(Shredder)はなかなかさくさくなのですが、OS X上での3.01はなんかもっさり間がありました。2.0系の方がよかったかも。やっぱりどのアプリもクライアント側で検索をSQLiteで実装するのは限界があるみたいですね。今40万通ほどのメールを整理しようとしているのですが、やはりサーバー側でどうにかしないといけないみたい。

Mail.app

2万通ぐらいまでのメールなら、こちらがやっぱり一番しっくり来る。早いし、検索がいけてる。Todo管理の部分がもうちょっといけてたら、iCalも一緒に使うんだけどなぁ。

Zimbra

Prismで実装されたオフラインクライアント(Zimbra Desktop)は本当にごみに近いんだけど、Luceneなどのオープンソースコンポーネントで構築されたサーバーは行けてるので、メールの検索エンジンとしてウェブメールクライアントは使える。

結論

  • Ubuntu上でfetchmail+procmailでPOP3経由で拾ってきたメールを一度Dovecotにいれる。これにより、IMAP4経由でBlackBerryやMail.app、RoundCubeを使って、いつでもどこでも同じメールが見れる。
  • ThunderbirdはUbuntu上で使って、アカウント間の整理や、Macダウン時に使用。
  • 日々のメール処理はMail.appで行って、性能維持のために定期的にメールをアーカイブアカウントに移動し、インデックスを再構築する。メールの移動に使用するコマンドは:

find <メールフォルダ名> -mtime +14 -exec mv <アーカイブフォルダ名> {}

  • アーカイブされたメールはPOP3でZimbraに移動し、ZCSのウェブメールから検索や転送などを行う。

上記の設定ファイルをどこかにポストしますねー。

新サービス立ち上げに使用しているクラウドインフラ

最近新しいサービスを立ち上げるときにつかっているクラウドサービスを紹介します:

  1. DNSサーバー:everydns.net(Dyn, Inc.に買収されましたが)
  2. メールサーバー:Google Apps
  3. ファイル共有サーバー:Google Apps
  4. アプリサーバー(VPS):Slice Host

Google Appsを使う事によって、サービス開発時に使うWikiや書類作成ソフトも提供されるので、超便利です。