Windows7でsyslogサーバ




Thu Feb 9 19:19:25 2012

ついでなのでWindows7でsyslogサーバを使用する方法を書いておく。

1.windows用のsyslogサーバをインストールする
2.cygwinを使う
3.virtual pc等を使用してlinuxを入れてsyslogを設定する

2.が一番簡単かつ汎用性がありそうなので2.をやってみる。

cygwinでは、syslog-ng というデーモンが使える。
ただのsyslogは無いようだ。ngとはnext generationの略らしい。

cygwinのセットアップで Adminの中にある。
ちなみに左上に検索窓があるのでsyslogと入れると探せる。

それから cygrunsrvという、サーバを操作するコマンドがあるのでこれも入れておく。

cygwinを起動して

# syslog-ng-config 

を実行すると何か聞かれるので yes と答える。

その後、サービスを起動する。

cygrunsrv -S syslog-ng

この時、cygwinを「管理者として実行」していないと、以下のエラーになる。

cygrunsrv: Error starting a service: OpenService: Win32 error 5:
アクセスが拒否されました。

管理者として実行してサーバを起動する。
/var/log/messages に、syslog-ngが起動したというメッセージが記録されるはず。

この状態では、ネットワーク経由のログを受信できない。
もしWindowsのファイアウォールを有効にしていたら、無効にするか、udp 514を許可する。

そして、/etc/syslog-ng/syslog-ng.conf で、ネットワークからの受信を許可する行がコメントアウトされて無効になっているので、コメントを取る。

# uncomment this line to open port 514 to receive messages
#source(s_network);

サービスを停止し再起動する。

Thu Feb 9 19:22:35 2012

今日初めて知ったのだが、「管理者として実行」は、ショートカットのプロパティを開いて「互換性」のところで「管理者としてこのプログラムを実行する」という設定がある。