ログ

第4回 rsyslogの導入


UNIX系OSのシステムロギングをおよそ20年の長きにわたって支えてきた「syslogd」にも、限界が見えつつあります。その限界を打ち破る機能を備えた新しいシスログデーモンを紹介します。(編集部)

Shin.鶴長
2008/10/31

 前回までの2回にわたり「syslog-ng」のインストール方法と特徴を解説しました。syslog-ngはキャリアクラスの信頼性や豊富な機能を持ちますが、それと引き替えにsyslogdとの互換性を犠牲にしていました。一方、今回紹介する「rsyslog」は、syslog-ng同様、多くの機能と高い信頼性を実現しながら、syslogdの設定をそのまま使用することができます。

 今回から2回にわたり、次世代syslogデーモンのもう1つの候補「rsyslog」を取り上げます。まず今回は、rsyslogのインストール方法を解説します。

rsyslogの特徴

 「reliable(信頼できる)シスログデーモン」という名前が示すように、rsyslogは高い信頼性を実現することを目標に開発されています。そのために、シスログのTCP転送(syslogdは信頼性が低いUDP)やデータベースへのログ保存などの機能が実現されています。

 rsyslogの特徴、syslogdやsyslog-ngとの違いは第1回「syslogdの限界と次世代シスログデーモン」を参照してください。

 syslog-ngはopenSUSEに採用されていますが、一方rsyslogもFedoraで標準採用されているなど(標準採用されたのはFedora 8以降です)、一部では標準化が進んでいます。Fedora以外のディストリビューションでも、パッケージ管理ツールを使って容易にインストールすることができます。

 バイナリパッケージが用意されていないプラットフォームやカスタムインストールを実行する場合も、Linuxならば、ソースコードから手軽にインストールすることもできます。

注意:以降はrootユーザーにて作業を行います。Ubuntuのようにrootユーザーが直接使用できない場合には、sudoコマンドを使用します。

rsyslogのインストール

 ここでは、ソースからインストールする方法とバイナリパッケージを使ってインストールする方法の2つについて解説します。前述のように、Fedoraではバージョン8以降、rsyslogがインストールされているため、特に作業の必要はありません。それ以外のCentOSやUbuntuを例にインストール方法を紹介します。

 まず、CentOS5.2にrsyslogをソースからインストールする方法を解説します。その後、Ubuntuにバイナリパッケージを使ってインストールする方法を解説します。

ソースからのインストール

 CentOS 5.2を例に、ソースファイルを使ってインストールする方法を解説します。ここではCentOSを取り上げますが、Red Hat互換といわれるほかのディストリビューションなら同様の作業でインストール可能です。

・ダウンロードとインストール

 rsyslogの配布元(http://www.rsyslog.com/)からソースアーカイブをダウンロードします。

 ホームページ中央、「rsyslog 3.18.5 (v3-stable) released」リリース記事中の「Download:」の下に示されたURLをクリックし、次のページに進みます。次ページの「Download this file now!」をクリックすると、ダウンロードが始まります。「Main Menu」の「Downloads」からもダウンロード可能ですが、開発版(devel、beta)もリストアップされるため、今回使用する安定版(stable)を探し当てるのに手間取るかもしれません。

 ソースアーカイブを展開し、configure、makeを実行してインストールを行います。ここではインストール先はデフォルトの「/usr/local」を使用しています。変更するにはconfigure実行時に「--prefix=/」という形でオプションを追加します。そのほかのオプションは「# configure --help」で確認し、適宜追加します。

# wget http://www.rsyslog.com/Downloads-req-getit-lid-133.phtml
# tar xvfz rsyslog-3.18.5.tar.gz
# cd rsyslog-3.18.5
# ./configure
# make
# make install
リスト1 rsyslogのインストール

 以上の操作で、次のようにファイルが配置されます。

/usr/local
|-- sbin
|  `-- rsylog       ←プログラム本体
|-- lib
|  `-- rsyslog       ←ライブラリ
`-- share
  |-- info
  `-- man
    |-- man5
    |  `-- rsyslog.conf.5 ←confファイルのためのマニュアル
    `--- man8
       `-- rsyslogd.8   ←rsyslogのマニュアル
ファイルの配置先(/usr/localにインストールした場合)

・設定ファイルの準備

 次に、自動起動スクリプトや設定ファイルを用意します。Red Hat互換ディストリビューションでは、ソースアーカイブに同梱されたファイルを使用することができます。以下はCentOSでの作業例ですが、Red Hatでも同様の作業が可能です。

 Red Hat互換ディストリビューション向けの自動起動スクリプトや設定ファイルは、ソースディレクトリ中のredhatに納められています。ディレクトリを移動し、作業を行います。

 初めに設定ファイル「rsyslog.conf」を/etcにコピーします。次に、自動起動スクリプト「rsyslog.init」に修正を加えた後、/etc/init.dにコピーします。ログファイルのローテションを定期的に実施するlogrotateのための設定ファイルも用意されているため、併せて作業します。作業内容は次のとおりです。

(rsyslogdのソースディレクトリで作業します)

# cd redhat/
# cp rsyslog.conf /etc/          ←設定ファイルのコピー
# cp rsyslog.sysconfig /etc/sysconfig/rsyslog
     ←設定ファイル(rsyslogdの起動オプション)のコピー
# cp rsyslog.log /etc/logrotate.d/rsyslog ←ログファイルをローテションする

logrotateのための設定ファイルのコピー

# vi rsyslog.init
     ←起動スクリプトの修正

(「自動起動スクリプトの修正」を参考に)
# chmod +x rsyslog.init          ←実行権の設定
# cp rsyslog.init /etc/init.d/rsyslog
     ←自動起動スクリプトのコピー
リスト2 自動起動スクリプトと設定ファイルの用意

25行目 rsyslogdのパスを変更
前) [ -x /sbin/rsyslogd ] || exit 5
後) [ -x /usr/local/sbin/rsyslogd ] || exit 5

26行目 rklogdを使用しないためコメントアウト
前) [ -x /sbin/rklogd ] || exit 5
後)# [ -x /sbin/rklogd ] || exit 5

39行目 rsyslogdのパスを変更
前) daemon rsyslogd $SYSLOGD_OPTIONS
後) daemon /usr/local/sbin/rsyslogd $SYSLOGD_OPTIONS

42・43行目 rklogdを使用しないためコメントアウト
前) echo -n $"Starting kernel logger (rklogd): "
daemon rklogd $KLOGD_OPTIONS

後)# echo -n $"Starting kernel logger (rklogd): "
# daemon rklogd $KLOGD_OPTIONS

49〜51行目 rklogdを使用しないためコメントアウト
前) echo -n $"Shutting down kernel logger (rklogd): "
killproc rklogd
echo

後)# echo -n $"Shutting down kernel logger (rklogd): "
# killproc rklogd
# echo

61行目 rklogdを使用しないためコメントアウト
前) status rklogd
後)# status rklogd
リスト3 自動起動スクリプトの修正内容

第3回へ
1/2

Index
新世代syslogデーモン徹底活用
 第4回 rsyslogの導入
Page 1
rsyslogの特徴
rsyslogのインストール
ソースからのインストール
  Page 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系列の新機能、インストール方法、国際化の現状を解説する

MONOist組み込み開発フォーラムの中から、Linux関連記事を紹介します

TechTargetジャパン

Linux Square フォーラム 新着記事

@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

RSSフィード

キャリアアップ



- PR -
@IT Sepcial

イベントカレンダー

PickUpイベント

- PR -
もっと見る
- PR -

お勧め求人情報

ホワイトペーパーTechTargetジャパン

@IT Sepcial
ソリューションFLASH