設定時にいくつか引っかかったのでメモ。
1) 謎のログ
syslog-ngに切り替えてしばらくしてから/var/log/messagesを見ていたら↓のようなログで埋まってました
Dec 4 11:54:46 xxxxxxxx syslog-ng[27081]: STATS: dropped 0調べたところ、ネットワーク越しに送られてきたパケットが指定時間内でいくつ無視されたか報告する物らしいですが、デフォルトが10分刻みでそれはさすがに短いので、optionsの中でstats(86400);として1日に1回ずつ報告するようにしました。
2) パーミッション
何も指定しない場合syslog-ngでは作成するパーミッションは600ですが、コレじゃちょっと都合の悪いファイルがあったのでパーミッションを変更しました。
やり方は以下の通り
destination d_foo { file("/var/log/bar" perm(0604));};なお、パーミッションの他に作成するユーザなども指定できます。
Table 3-7. Available options for file()
4) プログラム
Destination driversでprogram()を指定した場合、syslog-ng起動と同時にプログラムを開きっぱなしにするようです。
なんで、psなどではずーっと動いている用に見えますので、要注意です。
(渡すプログラム側でも何らかの対応いるのかもしれませんが、perlでダイアモンド演算子使って読み込んでいる分にはちゃんと動いているようなので検証してません(笑))
お手数でなかったら教えてください。
2台SUN Solaris 2.8のマシンがあります。
syslog-ng同士でのホストからログサーバへのログは問題なく送られています。が、ホストがsyslogの場合、ログサーバがsyslog-ngでもログの収集は可能でしょうか?
以上宜しくお願い致します。
Posted by: Masami at 2004年05月28日 10:23可能です。
syslog-ng側は
source s_udp { udp(); };
destination d_host { file("/var/log/HOSTNAME"); };
filter f_host { level(info..emerg); };
log { source(s_udp); filter(f_host); destination(d_host); };
っていう感じです。
syslog側の設定についてはこちらをご覧ください。
http://www.atmarkit.co.jp/fsecurity/rensai/unix_sec08/unix_sec01.html
ありがとうございます!できました。
早速Ciscoでも試してみます。
それは良かったです( ̄▽ ̄)ノ
syslog-ngではキャリッジリターン付きのsyslogでもCR除去してログに書き込んでくれるので、外部機器からの受信には大変重宝しています。