~Linux、MySQLからAJAXまでrsyslogの設定方法rsyslogの方法についてまとめました。※目次をクリックすると目次の下部にコンテンツが表示されます。・rsyslogは、sysklogdと置き換わる強化されたマルチスレッドのsyslogデーモン。・rsyslogはsysklogdと同じ機能を持ちながら、強化されたフィルタリング、暗号化で保護されたメッセージのリレー、各種設定オプション、TCPまたはUDPプロトコルによる転送のサポートにより拡張する。・rsyslogとsysklogdは互換性がある。・設定ファイルは/etc/rsyslog.conf。・グローバル指示文で、rsyslogdデーモンに適用する設定オプションを指定。・すべてのグローバル指示文は、ドル記号($)で始まらなければならない。・モジュールに関するリファレンスhttp://www.rsyslog.com/doc/v8-stable/configuration/modules/index.html1入力モジュール・接頭辞:im・様々なソースからメッセージを収集。2出力モジュール・接頭辞:om・様々な対象にメッセージを格納する機能を提供。ネットワーク上でのメッセージの送信、データベースへのメッセージの格納やその暗号化など。3フィルターモジュール・接頭辞:fm・指定されたルールに従ってメッセージをフィルター。4パーサモジュール・接頭辞:pm・メッセージパーサを使用して受信メッセージの内容を構文解析。5メッセージ修正モジュール・syslogメッセージの内容を修正する。6文字列ジェネレータモジュール・接頭辞:sm・メッセージの内容を基にして文字列を生成し、rsyslogにより提供されるテンプレート機能とよく動作する。7ライブラリモジュール・他のロード可能なモジュールに機能性を提供。・必要な場合にrsyslogにより自動的にロードされ、ユーザーは設定できない。ルール設定syslogメッセージを選択するフィルターとフィルターマッチ時に実行する内容を指定するアクションからなる。・形式FACILITY.PRIORITY●FACILITY・メール関連などある特定のsyslogメッセージを生成するサブシステムを指定。・下記キーワードから指定auth、authpriv、cron、daemon、kern、lpr、mail、news、syslog、user、uucp、local0~local7●PRIORITY・syslogメッセージの優先度を指定。・下記キーワードから指定debug、info、notice、warning、err、crit、alert、emerg。・優先度の前に等号を付けることによって、その優先度のみを選択。優先度の前に感嘆符(!)を付けると、それ以外の優先度を選択。これらの2つの拡張子を使用しない場合は、指定した優先度以上が選択される。・アスタリスク(*)を使用して、すべてのファシリティ/優先度を定義することができる。・複数のファシリティと優先度を定義するには、カンマで区切る。・timegeneratedやsyslogtagなどのプロパティによってsyslogメッセージをフィルターできる。“STRING”●PROPERTY・timegenerated、hostname、msgなど。プロパティのリストは下記参照。/usr/share/doc/rsyslog-5.8.10/property_replacer.html●COMPARE_OPERATION・下記比較処理を指定。contains、isequal、startswith、regex、ereregex●”STRING”・比較対象となる値を指定。・rsyslog自身のスクリプト言語を使用。値を返す場合に実行される動作を表す。2)アクションルールはフィルターとアクションで構成され、アクションはフィルターされたメッセージで実行する内容を指定する。・syslogメッセージが保存されるログファイルを指定。・ネットワーク上でsyslogメッセージを送受信できる。この機能により、1台のマシン上で複数ホストのsyslogメッセージを管理することができる。・形式@[(OPTION)]HOST:[PORT]アットマーク(@)は、UDPを使用。TCPを使用するには、@@を使用。●OPTION・zなど。このオプションを使用すると、zlib圧縮可能でNUMBERで圧縮レベルを指定。複数のオプションを定義するにはカンマで区切る。●HOST・選択したsyslogメッセージを受信するホストを指定。●PORT・ホストマシンのポートを指定。@@example.com:183出力チャンネル・主にログファイルのローテーションでログファイルが拡張できる最大サイズを指定するために使用される。ACTIONNAME:出力チャンネルの名前を指定。FILE_NAME:出力ファイルの名前を指定。MAX_SIZE:指定されたファイルが拡張できる最大サイズ。ACTION:最大サイズに到達した時に取るべき動作を指定。・相手のユーザー名を指定するだけで、そのユーザーにsyslogメッセージを送信できる。・複数のユーザーを指定するには、各ユーザー名をカンマで区切りる。・system()呼び出しを使用してシェル内でプログラムを実行。・実行するプログラムを指定するには、そのプログラムの前にキャレットの記号(^)を付ける。指定後、受信したメッセージをフォーマットしてそれを1行のパラメーターとして指定した実行ファイルに渡すテンプレートを指定する。例)templateテンプレートでフォーマットされ、test-programプログラムに渡す。・データベースライターの動作を使用して、直接データベーステーブルに書き込む。・形式:PLUGIN:DB_HOST,DB_NAME,DB_USER,DB_PASSWORD;[TEMPLATE]PLUGIN:データベースの書き込みを処理する指定プラグインを呼び出す。DB_HOST:データベースのホスト名を指定。DB_NAME:データベースの名前を指定。DB_USER:データベースのユーザーを指定。DB_PASSWORD:データベースユーザーが使用するパスワードを指定。メッセージを修正するテンプレートの使用を指定。・MySQL、PostgreSQLなど対応。・MySQL、PostgreSQLのデータベースライター機能を使用するには、rsyslog-mysql、rsyslog-pgsqlパッケージをそれぞれインストールする。/etc/rsyslog.conf設定ファイルにモジュールロードの設定を追加する。モジュールの詳細については、”モジュール”を参照。別の方法として、omlibdbモジュールで提供される汎用のデータベースインターフェースも使用することができる。このモジュールは現在コンパイルされていない。・各セレクターごとに、複数のアクションを指定することができる。・1つのセレクターに複数の動作を指定するには、各動作を別々の行に書き込み、それらの先頭にアンパサンドの記号(&)を付ける。例)ユーザーjoeに送信、テンプレートtempで処理し、test-program実行ファイルに渡す。コメントをキャンセルメールアドレスが公開されることはありません。コメントデータの処理方法の詳細はこちらをご覧ください。