プロが教えるわが家の防犯対策術!

初めて質問します。
簡単な事なのかもしれませんが、よく分からずに困っています。私自身が良く分かっていないため、質問内容が的を得ていないかもしれませんが、もしご存知であれば是非御回答いただけたらと思います。

現在、syslog-serverを使うようにclient-PC1台が設定されていています。
ここにclient-PC1台を増やしたいのですが、syslog.confの設定が良く分かりません。
今まで使っていたclient-PC側のsyslog.confには、user.xxxは@loghostに上げるように設定されており、syslog-server側のsyslog.confにはuser.xxxは/フォルダ/ファイルとされていました。
それで、もう一台client-PC1台を増やしたときに、両client-PCからのsyslogが同じファイルに保存される事になっては困るので、client-PC側のsyslog.confにあるuser.xxxの名前をuserooo.xxxと変更したところsyslogが上がらなくなってしまいました。(名前の変更はいろいろと試してみました…)

結局、私が質問したいのは次の一点です。
2台のclient-PCから上げられるsyslogをそれぞれのファイルに保存できるようにするにはどのように設定したらよいのでしょうか?

ご回答のほどよろしくお願いします。

A 回答 (1件)

?無理じゃないですか?



syslogによって記録されたログの各行には、
ホスト名も入ってますから、ごっちゃになった
ログからgrepか何かで、欲しいホストのログだけ
抽出すれば良い、と思っていたので、
ホストごとにファイルを作るなんて考えたことも
なかったです。もしかしたら、何か方法が
あるのかなあ。いや、syslog.confの書き方から
考えて、方法はないように思いますよ。

syslog.confの第1コラムのセレクタフィールドの
user.*とかをuserooo.*にしてみた、と書かれていますが、
ピリオドの前後のワードは、システムに予約されて
いるものしか使えません。したがって、useroooなどの
ように勝手に名前をつけることはできません。

syslog.confのmanを見ればすぐ分かることですが、
ピリオドの前が"facility"と言って、ログを吐いた
プログラムの種類を表します。ログを吐いたホストを
特定するfacilityはありません。後ろが"priority"で、
その名の通り重要度や緊急性を表します。

で、第2コラムのアクションフィールドでは、
セレクタフィールドで指定した種類のログに対する
アクションを規定します。/で始まるファイル名を
指定するとファイルへのセーブ、@ホスト名で
ログホストのsyslogdへ送信、|名前付きパイプ名で
名前付きパイプへの送信、あと、指定したユーザの
コンソール画面へログを表示、ttyに表示、などの
アクションがあります。

さて、そうすると、
A.ログホスト側で特定のホストから来たログだけを
  選んで、別個のアクションを取る
B.ログを送るクライアント側のsyslog.confで、
  ログホストが取るアクションを規定する
C.ログを送るクライアント側のsyslog.confで、
  ログホストが解釈するfacilityを規定する
といういずれも不可能であることが分かると思います。
したがって、クライアントホストごとに異なるファイルに
保存するのは無理なんじゃないかと思います。

ひとつ方法を提案すると、ログファイルをgrepして
ホストごとのログファイルをつくるスクリプトをつくって、
cronで定期的に実行する、というのはどうでしょう?
    • good
    • 0
この回答へのお礼

御回答ありがとうございます。
本当に助かりました。なるほど…そういったものなのですね!
是非、cronを作ってみたいと思います。
本当にありがとうございました。

お礼日時:2001/08/24 09:33

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!