opamp_sando's blog

クソザコが割りと適当なことを書くためにある備忘録です。あとたまに普通の日記も書きます

rsyslogのログ転送メモ

rsyslogでログ転送する方法のメモ。別にググれば資料でるからここにわざわざ書きなおす意味って薄いよね?
まあいいか。

rsyslogではTCP/UDPどちらでもログ転送が可能。syslogは多分UDPだけなのかな。
一般に514番ポートを利用する。

サーバー側の設定

ログを受け取る側の設定ファイルには

TCPの場合

$ModLoad imtcp

$InputTCPServerRun 514
$AllowedSender TCP, 127.0.0.1,192.168.48.150/24

のようにimtcpモジュールのロードとTCPサーバーのポート番号指定及び送信してくるクライアント(Sender)の限定をしておく。

同様にUDPでも

$ModLoad imudp

$InputUDPServerRun 514
$AllowedSender UDP, 127.0.0.1,192.168.48.150/24

のようにできる。

送信側の設定

送信側では単にログを送るだけで良い。

簡単なのでUDPの場合TCPの場合両方まとめて記述する。 また、ここでは例として"192.168.48.146/24"がrsyslogのログ受け取り側(サーバー)とする。

#TCPで送信する場合の例
auth.*   @@192.168.48.146:514

#UDPで送信する場合
auth.*   @192.168.48.146:514

送信されたログはサーバー側のrsyslog.confにしたがってファイルなどに保存される。

工夫

どのホストからのログかをきちんと判別するようにしておかないと、どのサーバーのログなのかがわからない。
ログデータ中にhostnameを埋め込むこともできるがログが混在してしまうので

$template logrotate, "/var/log/%hostname%/%$year%/%$month%/%$day%-log.txt"

というようなテンプレートを例えば作って活用するとホストごとにログを分けてくれるようになるため、便利かもしれない。

参考資料

http://www.server-world.info/query?os=CentOS_6&p=rsyslog

http://i.sios.com/products/oss/redhat/tech_news/2012/12/20128rsyslog.html

参考になりました。

(最近隣の部屋がうるさい上にネット回線が激遅なので引っ越したいと思う今日このごろ)

Firefox ブラウザ無料ダウンロード