目次

syslog-ng

rpm作成

管理を容易にするために、まずはインストールパッケージを作成

eventlog

syslog-ngのインストールに必要

cd ..
yum --enablerepo=remi,epel,rpmforge -y install glib2-devel
yum --enablerepo=remi,epel,rpmforge -y install python26
yum --enablerepo=remi,epel,rpmforge -y install openssl-devel
wget http://www.balabit.com/downloads/files/syslog-ng/open-source-edition/3.4.1/source/eventlog_0.2.12+20120504+1700.tar.gz
tar xzvf eventlog_0.2.12+20120504+1700.tar.gz
cd eventlog-0.2.12+20120504+1700
./configure
make
checkinstall

syslog-ng

configureのオプションでは、confファイルのパス、mongodbプラグイン有効可など

cd ..
wget http://www.balabit.com/downloads/files/syslog-ng/open-source-edition/3.4.1/source/syslog-ng_3.4.1.tar.gz
tar xzvf syslog-ng_3.4.1.tar.gz
cd syslog-ng-3.4.1
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
./configure --sysconfdir=/etc/syslog-ng --enable-gprof --enable-mongodb --disable-ipv6 --with-pidfile-dir=/var/run
make
checkinstall
2014/02/17 15:00

Install

eventlog

作成したrpmからインストール

rpm -ivh /usr/src/redhat/RPMS/x86_64/eventlog-0.2.12+20120504+1700-1.x86_64.rpm

syslog-ng

作成したrpmからインストール

rpm -ivh /usr/src/redhat/RPMS/x86_64/syslog-ng-3.4.1-1.x86_64.rpm

起動スクリプトをコピーする

cp /root/syslog-ng-3.4.1/contrib/rhel-packaging/syslog-ng.init /etc/rc.d/init.d/syslog-ng
chmod 755 /etc/rc.d/init.d/syslog-ng

pid 用ディレクトリ

mkdir /usr/local/var

シンボリックリンク作成

ln -s /usr/local/sbin/syslog-ng /sbin

syslogの設定ファイルをsyslog-ngの設定ファイルにコンバートする ⇒ syslog2ng

mv /etc/syslog-ng/syslog-ng.conf /etc/syslog-ng/syslog-ng.conf.org
/root/syslog-ng-3.4.1/contrib/syslog2ng /etc/syslog.conf > /etc/syslog-ng/syslog-ng.conf 

設定ファイルの先頭にversionを追記しないと怒られる

vi /etc/syslog-ng/syslog-ng.conf
+) @version: 3.4

syslogを停止する

/etc/init.d/syslog stop

syuslogを自動起動しないようにする

chkconfig syslog off

syslog-ngを起動する

/etc/init.d/syslog-ng start

syslog-ngを自動起動するようにする

chkconfig syslog-ng on

ローテート

syslogのローテート設定をコピー(またはリネーム)して、syslog-ng用に設定する

# mv /etc/logrotate.d/syslog /etc/logrotate.d/syslog-ng
# vi /etc/logrotate.d/syslog-ng
/var/log/cron
/var/log/maillog
/var/log/messages
/var/log/secure
/var/log/spooler
{
    sharedscripts
    postrotate
        -) /bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true
        +) /bin/kill -HUP `cat /var/run/syslog-ng.pid 2> /dev/null` 2> /dev/null || true
    endscript
}