
最終回 マクロを生かしたrsyslogの活用例
Shin.鶴長
2009/1/9
UbuntuではSynapticを使って、rsyslogパッケージとともに、MySQLにログを格納するためのrsyslog-mysqlパッケージをインストールすることができます(画面1)。
![]() |
| 画面1 Synapticでrsyslog関連パッケージをインストールする(デスクトップメニューの「システム→システム管理→Synaptic パッケージマネージャ」で起動できます) |
rsyslog-mysqlパッケージのインストールで、MySQLを設定するためのウィザードが自動的に開始されます。ウィザード(画面2)でMySQLを準備するには、リスト9のとおり、事前にMySQL側でデータベースの作成とユーザー権限の追加を行っておく必要がります。
|
|
| リスト9 Ubuntuでrsyslog-mysqlパッケージを導入する前に必要なMySQLの準備 |
![]() |
| 画面2 rsyslog-mysqlパッケージをインストールした際に起動する設定ウィザード画面(MySQL管理用パスワードの入力、rsyslogユーザーのパスワード入力の順で行います) |
設定ウィザード終了後、テーブルが作成されているか確認します。なおUbuntuのrsyslog-mysqlパッケージでは、rsyslogのMySQLに関わる追加設定は「/etc/rsyslog.d/mysql.conf」で行います。設定方法は前述の「rsyslogの準備」と同様です。
|
|
| リスト10 自動生成されたテーブルを確認する |
ログの転送
続いて、ログをリモートサーバに転送する方法や、リモートからログを受け付ける方法を解説しましょう。rsyslogでは、シスログ転送で一般的に利用されるUDPに加え、信頼性の高いTCPを使ってログを送受信することができます。
■ログを受け取る(サーバ)側の設定
リモートクライアントからのログをUDPで受信する場合は「imudpモジュール」を、TCPで受信する場合は「imtcpモジュール」を組み込みます。それぞれデフォルトで514番ポートが使用されますが、ほかのサービスポートを使用する場合は、「$UDPServerRun」や「$InputTCPServerRun」でポート番号を指定します。
この際、不特定ホストのログを受信しないよう「$AllowedSender」でクライアントを制限することができます。クライアントの指定には、IPアドレスやネットワークアドレス、ドメイン名、ホスト名などを用いることができます。ただし、ホスト名をFQDNで指定する際は、DNSでIPアドレスが引けるよう事前に登録しておく必要があります。rsyslog起動時にIPアドレスが引けないホスト名は、$AllowedSenderの対象から除外されるようになっています(リスト11)。
|
|
| リスト11 ログを受け取る(サーバ)側のrsyslog.confの記述例 |
■ログを送信する(クライアント)側の設定
ログを送信するリモートクライアントの設定はリスト12のとおりです。UDPで転送するには「@」を、TCPで転送するには「@@」を、リモートサーバのアドレスの前にそれぞれ付けます。
|
|
| リスト12 ログを送信する(クライアント)側のrsyslog.confの記述例 |
リモートサーバにログを送信する際、転送パフォーマンスの悪化によってログの送信漏れが発生しないよう、スプールを使用することも可能です。スプールを使用することで、サーバにログを送信する前に一時的にログを蓄えることができます。
スプールを使用する場合は、リスト13のように「$WorkDirectory」でスプールディレクトリを指定します。ここで指定するディレクトリは事前に作成しておきます。
スプールをメモリに持たずにディスクに書き出すよう設定するには、「$ActionQueueType」で「Disk」を指定します。リモートサーバとの通信が切断した場合など、ログ送信の再試行回数は「$ActionResumeRetryCount」で指定できます。デフォルトは「0」で、再試行は行いません。また「-1」を指定した場合、再試行を永久に繰り返します。
|
|
| リスト13 スプールを使用する場合のrsyslog.confの記述例 |
|
|
| リスト14 スプールディレクトリの作成 |
ここで紹介した以外にも、オフピーク時にだけログを送信したり、送信サーバのダウンを検知して2番目のサーバに切り替えるといったことも可能です。そうした、より細かな設定方法については、付属ドキュメント「rsyslog_reliable_forwarding.html」や、rsyslog配布元の「Reliable Forwarding of syslog Messages with Rsyslog」に記されていますので、そちらを参考にしてください。
それぞれの長所を生かした活用を
以上、rsyslogの活用方法をいくつか紹介しました。
ディスクへの書き出しタイミングやディスクのチューニングに関しては、第3回で紹介したsyslog-ngの方が細かな設定が可能ですが、ログの転送方式ではrsyslogの方がバリエーションに富んでいます。単にメールやデータベースにログを送信するだけでなく、文字列一致などの条件指定も可能です。さらに、セキュリティを考慮して、シスログの転送にTLSを使用することもできます。
rsyslogのさらなる活用については、次のドキュメントを参考にしてください。
| 関連リンク: | |
| rsyslogのドキュメント http://www.rsyslog.com/doc |
|
| rsyslogの活用事例 http://wiki.rsyslog.com/index.php/Configuration_Samples |
|
次世代シスログデーモンのインストールと活用法テーマに、6回に渡って解説してきました。シスログはインエターネット創世記から長期にわたり使用されている伝統的なプロトコルですが、syslog-ngやrsyslogのような次世代を担う新たなデーモンにより、今後もインターネットを支える重要なプロトコルとしての役割を担っていくことでしょう。
|
2/2 |
|
||||
| ||||
| Linux Square全記事インデックス |
| Linux Squareフォーラム サーバ構築・運用関連記事 |
| 連載:Heartbeatでかんたんクラスタリング(連載中) オープンソースソフトウェアの「Heartbeat」を使ってHAクラスタを実現し、サービスを「落とさない」仕組みを実現します |
|
| 特集:Apache 2.2でWebサイトをパフォーマンスアップ! 最新安定版Apache 2.2は、何が変わったのか? 最新のApacheを新機能の使い方とともに解説する |
|
| 連載:実用 Apache 2.0運用・管理術(全8回) 本連載では、Apache 2.0の運用や管理方法を解説する。まず必須設定と基本的なセキュリティ対策を行い今後の運用に備える |
|
| 連載:実用
BIND 9で作るDNSサーバ(全15回) 本連載では、BIND 9の構築/運用方法を解説していく。実際に役立つことを目的に、セキュリティや大規模運用などのテーマを取り上げていく |
|
| 連載:実用qmailサーバ運用・管理術(全14回) 本連載を通して、qmailによるメールサーバの高度な構築・運用・管理術を紹介。SPAM対策やML管理からサーバでのウイルスチェックなどまで |
|
| 特集:Samba
3.0の全貌 改訂版 Samba 3.0リリースから8カ月。ここであらためて、Samba 3.0系列の新機能、インストール方法、国際化の現状を解説する |
|
|
TechTargetジャパン
- OSSライセンスの採用傾向に「変化」あり (2012/5/21)
OSS普及の一翼を担ってきたライセンス、GPLファミリー採用の割合が減少傾向にあるそうです。いったいどうして? - ここからFirefoxの反撃が始まる (2012/3/12)
2月のLinux SquareのランキングではFirefoxの記事がダントツのページビューを集め、トップに立ちました - CMakeでMySQLをビルドしてみる (2012/3/8)
ここまでの作業でCMakeを使う準備が整いました。今回はひとまずMySQLをビルドしてみます - MySQLのビルドに欠かせないCMakeを準備する (2012/3/2)
今回は、MySQLをビルドするために欠かせないツール「CMake」をインストールし、使う準備をします
|
|
キャリアアップ
スポンサーからのお知らせ
- - PR -
イベントカレンダー
- - PR -


