Linux含むUNIX系OSでログ取得といえばsyslogと相場が決まっている。
しかし、syslogはUDPにてログを取得しているため、必ずしも信頼性があるログが取れているとは言い難い事も事実。
また、DiskI/Oの方式が非効率的であり、実際は非常に動作が重かったりもする。
じゃあsyslog以外の選択肢は何がある?と言われた時、だいたい名前が挙がるのがDJB系のmultilogとsyslog-ng。
個人的にmultilogにはあまりいい思い出がないので、ちょっとsyslog-ngをインストールしてみる。
syslog-ngのいいところは
TCPを使用しているのでデータの取りこぼしがない
ログの出力先を細かに制御可能
root権限以外でも動作可能
それでいてsyslogが持っている機能は全て網羅し、なおかつログの内容によってアクションを起こすことも可能
とまあ至れり尽くせりな感じ。さすが「syslog-new generation」とネーミングされただけのことはある。
と言うことで、インストールの方法を・・・
まず、ソースをダウンロードしてきます。
BalaBit IT Ltd:http://www.balabit.com/
ダウンロード先:http://www.balabit.com/downloads/syslog-ng/2.0/src/
今回はsyslog-2.0.2を使用しましょう。
なお、必ずeventlogも必要になりますので一緒にダウンロードします。
まずはeventlogから。
tar zxvf eventlog-0.2.5.tar.gz
cd ./eventlog-0.2.5
./configure
make
make install
これでeventlogがインストールされました。
デフォルトインストール先:/usr/local/lib/pkgconfig
環境変数で上記ライブラリの場所を指定しておきます。そうしないとsyslog-ngのインストールが出来ません。
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
次にsyslog-ngをインストールします。
tar zxvf syslog-ng-2.0.2.tar.gz
cd ./syslog-ng-2.0.2
./configure –sysconfdir=/etc
make
make install
cofigureオプション、”–sysconfdir”はシステムコンフィグの配置先を指定する場合に使用します。
なるべく明示した方がいいでしょうから、ここでは分かりやすく”/etc”にしています。
インストールはここまで。
設定ファイルの書き方、起動の仕方は次回。