私が担当した案件ではなかったのですが、syslog-ng 3.7.1のインストールがうまくいかないということで、導入のお手伝いをしました。バグがあったりインストールの詳しい情報がなかったりと苦戦しましたが、インストールと初期動作確認までなんとかできたので、ナレッジとして投稿します。
ちなみに初投稿なので、記載の未熟さについてはご容赦ください。
#【syslog-ngって何?】
名前からsyslog関係であることは分かりますが、私も良く知りませんでした。
Wikipediaによると
syslog-ngは、Syslogプロトコルのオープンソースの実装である。オリジナルのsyslogdの機能はもちろんのこと、リッチなフィルタリング機能や柔軟な設定オプション、TCPでのログ転送など、さまざまな機能がサポートされている。syslog-ngは現在、Balabit IT Securityにより開発されている。
とのことです。
従来のsyslogdの問題点を解消し、安全性や信頼性を向上させる機能が多く追加されているようです。ngは「next generation」の意味だそうですが、1998年から開発されていたようなので、もはや次世代ではないですね。知らなかった私は恥ずかしいです。。。
syslog-ng公式ページで確認すると2015年11月24日時点でバージョンは3.7.2が最新のようです。
#【導入OS】
案件は「Red Hat Enterprise Linux 6.6」でしたが、OSが入手できなかったので、検証環境はほぼ同じ「CentOS 6.6」で実施しました。
#【導入SW】
syslog-ngを導入するにあたり下記が必要になります。
バージョンは今回インストールに成功した構成です。
ソフトウェア名 | バージョン | ダウンロード先 |
---|---|---|
eventlog | 0.2.12 | ダウンロード |
libffi | 3.2.1 | ダウンロード |
glib | 2.46.2 | ダウンロード |
Python | 2.7.10 | ダウンロード |
json-c-devel | 0:0.11-12.el6 | yum |
syslog-ng | 3.7.1 | ダウンロード |
#【インストール手順】
1.eventlog(0.2.12)インストール
・以下のコマンドを順に実行してインストールします。
tar xfvz eventlog_0.2.12.tar.gz
cd eventlog-0.2.12
./configure
make && make install
2.libffi(3.2.1)インストール
・以下のコマンドを順に実行してインストールします。
tar xfvz libffi-3.2.1.tar.gz
cd libffi-3.2.1
./configure
make && make install
3.glib(2.46.2)インストール
・以下のコマンドを順に実行してインストールします。
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
tar Jxf glib-2.46.2.tar.xz
cd glib-2.46.2
./configure
make && make install
4.Python(2.7.10)インストール
・以下のコマンドを順に実行してインストールします。
※「./configureから**/lib"**」までは一つのコマンドです。
tar Jxf Python-2.7.10.tar.xz
cd Python-2.7.10
./configure --enable-shared \
--prefix=/usr/local \
LDFLAGS="-Wl,--rpath=/usr/local/lib"
make && make install
5.json-c-devel(0:0.11-12.el6)インストール
・以下のコマンドを実行してインストールします。
yum install json-c-devel
6.syslog-ng(3.7.1)インストール
・以下のコマンドを順に実行してインストールします。
tar xfvz syslog-ng-3.7.1.tar.gz
cd syslog-ng-3.7.1
./configure
configureを実行し、Makefile作成後、以下の手順を実行しないとmakeでエラーになります。
※バグのようです。こちらに対処法が載っていました。
vim modules/afsocket/transport-mapper-unix.c
33行目の「typedef」を削除
38行目の「TransportMapperUnix」を削除
make && make install
これでsyslog-ng 3.7.1のインストールは完了です。
#【初期設定手順】
1.自動起動設定
・以下のコマンドを順に実行して自動起動設定を実施します。
cp contrib/init.d.RedHat /etc/rc.d/init.d/syslog-ng
chmod 755 /etc/rc.d/init.d/syslog-ng
vim /etc/rc.d/init.d/syslog-ng
※以下を先頭行から順に追記します。
#!/bin/bash
# chkconfig: - 85 15
※以下は同じ設定項目を書き換えます。
INIT_PROG="/usr/local/sbin/syslog-ng"
chkconfig --add syslog-ng
chkconfig syslog-ng on
service syslog-ng start
これでsyslog-ngが起動します。
#【初期動作確認】
・以下のコマンドを順に実行して動作確認を実施します。
logger "test"
tail /var/log/messages
messagesに"test"が出力されていれば初期動作確認は完了です。
あとは適宜環境に合わせてカスタマイズしてください。