Version 3.x をインストール
執筆時点の最新版は、Version 3.2.2ですので、これを使います。
なお、オープンソース版(OSS)と有償版がありますが、ここでは、OSS版を使います。
- VPS にログインする。
- コンパイルに必要なパッケージを予めインストールする。
# yum -y install glib2-devel pkgconfig
- gcc も必要です。契約したばかりの VPS の場合はインストールしていない事も多いので、以下のコマンドでインストールします。
# yum -y install gcc
- gcc も必要です。契約したばかりの VPS の場合はインストールしていない事も多いので、以下のコマンドでインストールします。
- Eventlog をダウンロードして、インストールする。
$ wget http://www.balabit.com/downloads/files/syslog-ng/sources/3.2.2/source/eventlog_0.2.12.tar.gz $ tar xzvf eventlog_0.2.12.tar.gz $ cd eventlog-0.2.12/ $ ./configure $ make # make install
- Syslog-ng をダウンロードして、インストールする。
$ wget http://www.balabit.com/downloads/files/syslog-ng/sources/3.2.2/source/syslog-ng_3.2.2.tar.gz $ tar xzvf syslog-ng_3.2.2.tar.gz $ cd syslog-ng-3.2.2 $ export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig $ ./configure --sysconfdir=/etc/syslog-ng --enable-gprof --disable-ipv6 --with-pidfile-dir=/var/run $ make # make install
- ServersMan@VPS を VPS として使う場合は、有効な IPv6 アドレスがあるので、–disable-ipv6 オプションを付けなくても構いません。
- –with-pidfile オプションで、.pid ファイルの場所を指定します。
- –sysconfdir オプションにより、/etc/syslog-ng/syslog-ng.conf が設定ファイルとなります。
- 今のバージョンは自動的に最小構成の syslog-ng.conf を生成しておいてくれますが、他にも modules.conf と scl.conf を用意するので、/etc の下に Syslog-ng 専用のディレクトリを用意します。
設定 (1 of 2)
以下のような設定をします。
- /usr/local/var ディレクトリが無ければ作成する。
# mkdir /usr/local/var
- シンボリックリンクを作る。
# ln -s /usr/local/sbin/syslog-ng /sbin
- これは、自動起動設定用のファイルの Syslog-ng の起動パスが /sbin/syslog-ng になっているためです。
- 自動起動するようにする
# cp contrib/rhel-packaging/syslog-ng.init /etc/init.d/syslog-ng # chmod 755 /etc/init.d/syslog-ng # chkconfig --add syslog-ng
- logrotate の設定を変更する。
# cp fedora-packaging/syslog-ng.logrotate /etc/logrotate.d/syslog-ng # rm /etc/logrotate.d/syslog
- /etc/logrotate.d/syslog ファイルは必ず削除してください。
設定 (2 of 2)
Syslog-ng を make install したときに自動的にインストールされている /etc/syslog-ng/syslog-ng.conf では、 全ての Syslog メッセージが /var/log/message に保存されてしまいますが、元々入っている Syslogd の代わりにはなっています。
ですが、Cent OS 5.x では、syslog は /var/log/secure や /var/log/maillog など、facility等でフィルタしてファイルに保存されていますので、 それと同じようになるように変更します。
ただし、用意されている設定ファイルは Syslog-ng Version 2.x 以前のもので、Syslog-ng Version 3.x では変更が必要です。
実は設定ファイルを修正しなくても、互換性があるので Syslog-ng の起動は出来るのですが、様々なエラーメッセージが表示されます。
そこで、新しいバージョン用の表記に直します。
- VPS へログイン
- ディレクトリを移動して、ベースとなる設定ファイルをコピー。
# cd syslog-ng-3.2.2 # cp contrib/fedora-packaging/syslog-ng.conf /etc/syslog-ng/syslog-ng.conf
- 既存の syslog-ng.conf を上書きします。
- 以下のファイルを編集する。
# vi /etc/syslog-ng/syslog-ng.conf @version: 3.2 # ファイルの先頭に追加します。 @include "scl.conf" # Source Configuration Library (SCL) を有効にします。 options { flush_lines (0); # sync を flush_lines にします。 (途中略) source s_sys { system(); # file( ... と unix-... を置き換えます。 internal(); # udp(ip(0.0.0.0) port(514)); }; (途中略) destination d_mail { file("/var/log/maillog" flush_lines(10)); }; # sync を flush_lines にします。
- file (“/proc/kmsg” log_prefix(“kernel: “)); unix-stream (“/dev/log”); を system(); に置き換えられるのは、Version 3.2.x 以降です。
- system() ドライバ は Syslog-ng のプラットフォームに合わせて内容が変化する関数のようなもので、その実体は、/usr/local/share/include/scl/system/plugin.conf で定義されており、/usr/local/share/include/scl/system/generate-system-source.sh が SCL(Source Configuration Library) のメカニズムで実行されます。
- system() ドライバを使うために、最初に @include “scl.conf” しています。
- destination d_mail { file(“/var/log/maillog” flush_lines(10)); }; の flush_lines(10)の部分は消してしまっても問題無いと考えています。この設定では、ファシリティが mail の syslog は全て10秒後にバッファリングされてから記録されることを意味します。
- file (“/proc/kmsg” log_prefix(“kernel: “)); unix-stream (“/dev/log”); を system(); に置き換えられるのは、Version 3.2.x 以降です。
Syslog と Syslog-ng の切替
最後に今動いている Syslog を止めて、Syslog-ng を起動します。
# chkconfig syslog off # service syslog stop # chkconfig --del syslog # servcie syslog-ng start
残念ながら、依存関係があるため、syslog パッケージを削除することはできません。
前のページ 次のページ
関連するコンテンツ
- LogZilla を Cent OS にインストールする
- PPTP を Cent OS 5.x にインストールする ~N-06C の VPN 事情
- セカンダリMX (MTA) を構成する
- 正規の格安SSL証明書で、My WebDAVサーバ
- VMware Tools を VMware Player でインストール
コメントを残す