/mt-plugin-fluent

Movable Type plugin to support Fluentd.

Primary LanguagePerl

このMovable Typeプラグインは、Movable Type上の各種動作ログや、記事やウェブページの変化を Fluentd サーバに送信します。

想定する用途

  • 複数のMovable TypeのログやエラーをElasticSearchに集約し、障害の監視や問題の迅速な調査に役立てる
  • Movable Typeの利用状況をInfluxDBに投入し、ほぼリアルタイムにパフォーマンスや利用傾向を解析する
  • ブログ記事とウェブページのデータが、変化したり、削除されたりしたらAWSCloudSearchに投入し全文検索を実現する

Fluentdを通して繋がるシステムであれば、その他にもさまざまな組み合わせでの活用が考えられます。

動作環境とインストール

動作環境

  • Movable Type 6.2以上
  • Fluentdが動作するサーバに通信可能であること(基本的には同一サーバ上での稼働を推奨)

インストール

プラグインファイルをアップロードしただけでは動作しません。必ずプラグインの設定を確認してください。

  1. plugins/Fluentdディレクトリをお使いのMovable Typeのpluginsディレクトリにアップロードします。
  2. Movable Typeにアクセスすると、初回だけアップデータが起動します。
  3. システム全体のプラグイン設定と、ブログごとのプラグイン設定で適切な設定を行います。

注意点

  • PSGIFastCGIによりMovable Typeを利用している環境では、システム全体のプラグイン設定の変更後にサービスの再起動が必要です。

機能

共通の設定項目

以下の各機能は、デフォルトで無効とされています。プラグインの設定画面から明示的に有効にしてください。

それぞれの設定には、タグを設定でき、利用を選択したときこの項目は指定が必須となります。これはFluentdのメッセージタグです。

記事やウェブページの再構築時にログを送信する

全文検索エンジンへの投入や、他のデータベースシステムにデータを同期するような用途を想定しています。

各ブログやウェブサイトのプラグイン設定で動作を定義します。

どのようなデータを送信するかは、JSONを出力するテンプレートモジュールを作成して定義します。テンプレートモジュールは複数作成することができ、ブログやウェブサイトごとにどのモジュールを利用するか選択することができます。

プラグインのインストールにより、Fluentd用の記事とウェブページのJSONログというシステム全体のテンプレートモジュールが作成され、このモジュールがデフォルトで選択されます。

Fluentdに送信するデータを変更したい場合は、このテンプレートを変更するか、別のテンプレートモジュールを作成し、プラグイン設定上で指定してください。

ログ・エラー・パフォーマンスなどを送信する

解析や監視、調査を行う用途を想定しています。

システム全体のプラグイン設定で動作を定義します。

  • ログ Movable Typeのログ一覧画面に表示されるアプリケーションログを送信します。
  • 利用状況 Movable Typeを操作するユーザーや、個々のリクエストパラメータ(__mode_typeなど)と、そこから導出されるユーザ名やブログ名を送信します。
  • 発生エラー Movable Typeのエラーハンドラに渡されたエラーを送信します。
  • パフォーマンス Movable Typeが計測するパフォーマンスデータを送信します。この設定は大量のデータをFluentdに送信するため、管理画面の動作に時間を要するようになります。