前の記事:«
次の記事: »

ちょっと前にCentOS5.2 がリリースされたのですが、新しく追加されたパッケージの情報に rsyslog (rsyslogd) があった。
CentOS5.2 以降(Redhatがそうなったということなのですが) では これまでの syslog (syslogd) がスタメンを外されて rsyslog が標準の ログ収集デーモンとして採用ということらしい。
 

なので手元のCentOS5 で動いていた syslog を rsyslog に入れ替えてみることにした。
 
多少細かい設定は こちら→ rsyslog.confの設定項目 参考になります。
 
 

"yum install rsyslog" とすると "rsyslog-2.0.0-11.e" が引っかかった、ついでにカーネルロガーも必要バージョンにアップデートされる模様。
rsyslog公式 を見ると、 rsyslogd は現在バージョン2とバージョン3 の2系統がある模様、yumでは v2 が入るけど、どう違うのか。
 
ざっとドキュメント見たところ v2 はほぼ従来の syslog 互換で v3 は機能のモジュール化をしている?
v3 で置き換える場合はコンフィグに従来のsyslogでやっていた機能を提供するモジュールを組み込むよう記述すべしとのこと。
 

ドキュメントからちょっと引用、まあ大体こんな感じ

Rsyslogd understands stock syslogd syntax, so you can simply copy over /etc/syslog.conf to /etc/rsyslog.conf. Note since version 3 rsyslog requires to load plug-in modules to perform useful work
引用元:公式のインストールガイド

 
 
 

さてrsyslogdをインストールしたらコンフィグを確認してみる、"/etc/rsyslog.conf" と "/etc/sysconfig/rsyslog" だ。
ついでに従来のsysylog.conf や syslconfigのsysylog と比較の為両方書き出してみる。
 

"/etc/syslog.conf" の中身、今回のサーバでは全くいじってないのでデフォルト。
# Log all kernel messages to the console.
# Logging much else clutters up the screen.
#kern.* /dev/console
 
# Log anything (except mail) of level info or higher.
# Don't log private authentication messages!
*.info;mail.none;authpriv.none;cron.none /var/log/messages
 
# The authpriv file has restricted access.
authpriv.* /var/log/secure
 
# Log all the mail messages in one place.
mail.* -/var/log/maillog
 
 
# Log cron stuff
cron.* /var/log/cron
 
# Everybody gets emergency messages
*.emerg *
 
# Save news errors of level crit and higher in a special file.
uucp,news.crit /var/log/spooler
 
# Save boot messages also to boot.log
local7.* /var/log/boot.log

 

"/etc/rsyslog.conf" の中身(yum でインストールしてデフォルト)
# Log all kernel messages to the console.
# Logging much else clutters up the screen.
#kern.* /dev/console
 
# Log anything (except mail) of level info or higher.
# Don't log private authentication messages!
*.info;mail.none;authpriv.none;cron.none /var/log/messages
 
# The authpriv file has restricted access.
authpriv.* /var/log/secure
 
# Log all the mail messages in one place.
mail.* -/var/log/maillog
 
 
# Log cron stuff
cron.* /var/log/cron
 
# Everybody gets emergency messages
*.emerg *
 
# Save news errors of level crit and higher in a special file.
uucp,news.crit /var/log/spooler
 
# Save boot messages also to boot.log
local7.* /var/log/boot.log

両者特に空白の長さ以外には違いがない、問題もなさそう。
 
 

"/etc/sysconfg/syslog" の中身、これもデフォルト
# Options to syslogd
# -m 0 disables 'MARK' messages.
# -r enables logging from remote machines
# -x disables DNS lookups on messages recieved with -r
# See syslogd(8) for more details
SYSLOGD_OPTIONS="-m 0"
# Options to klogd
# -2 prints all kernel oops messages twice; once for klogd to decode, and
# once for processing with 'ksymoops'
# -x disables all klogd processing of oops messages entirely
# See klogd(8) for more details
KLOGD_OPTIONS="-x"
#
SYSLOG_UMASK=077
# set this to a umask value to use for all log files as in umask(1).
# By default, all permissions are removed for "group" and "other".

 

"/etc/sysconfg/rsyslog" の中身、yum でインストールしたまま
# Options to syslogd
# -m 0 disables 'MARK' messages.
# -rPortNumber Enables logging from remote machines. The listener will listen to the specified port.
# -x disables DNS lookups on messages recieved with -r
# See syslogd(8) for more details
SYSLOGD_OPTIONS="-m 0"
# Options to klogd
# -2 prints all kernel oops messages twice; once for klogd to decode, and
# once for processing with 'ksymoops'
# -x disables all klogd processing of oops messages entirely
# See klogd(8) for more details
KLOGD_OPTIONS="-x"

こちらはUMASKの記述がなくなってる、デフォルトで077になっているんだろうか。あとちょっと注釈が丁寧。
UMASKはローテーションが起こったときに分かると思うので後で確認の予定。
 
 

まあ取り立てて大きく違いなしと確認したので、そのままsyslogdを停止してrsyslogd を起動する。
メールなどのログが従来どおりの場所に記録されているのを確認、ちゃんと動作しています。
 
 

自動起動を入れ替えて、 syslogd と rsyslogd の差し替え完了。

chkconfig syslog off
chkconfig rsyslog on

 
 

あとはローテーションかなと "/etc/logrotate.d/syslog" を編集しようと開いてみると、
/var/log/messages /var/log/secure /var/log/maillog /var/log/spooler /var/log/boot.log /var/log/cron {
sharedscripts
postrotate
/bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true
/bin/kill -HUP `cat /var/run/rsyslogd.pid 2> /dev/null` 2> /dev/null || true
endscript
}

きっちり先回りで設定済みだった。むむ。。
 
 

念のため"rpm -ql rsyslog" でrpmパッケージを確認すると、ちゃんと "/etc/logrotate.d/syslog" がいてる。
 

結局のところ、ただ差し替えるだけならなんの苦労も無いようですね。

前の記事:«
次の記事: »
add to hatena hatena.comment (5) add to del.icio.us (0) add to livedoor.clip (1) add to Yahoo!Bookmark (0) Total: 6

トラックバック

このブログ記事に対するトラックバックURL:

この記事へのコメント

コメントはまだありません。

Comment feed

この記事へのトラックバック

トラックバックはまだありません。

コメントする ※管理者が確認してから表示されます

Comments links could be nofollow free.

他のサイト

■OSC関西@神戸
資料公開中

はてなの別館
・犬の話
・家の話
・政治の話

※注意

I
KOBE×
BUSINESS.

これは個人ブログです、内容についてアイクラフト(株)は責任を負いません。
にほんブログ村 IT技術ブログへSawanoblogのフィード
人気ブログランキングへ
この日記のはてなブックマーク数
はてなRSSに追加
Googleに追加
My Yahoo!に追加
livedoor Readerに追加
goo RSSリーダーに追加
フィードメーター - SawanoBlog.
MCP
MCTS
CCNA

ミニブログとか

あわせて読みたいブログパーツ
  • CactiからWindowsの情報を、ありものだけでグラフ化してみる
    画像:mibブラウザより


    ToDo:ブログのレイアウト変更をちょっと進める
    画像:予定レイアウト


    初詣で六甲八幡神社へ
    写真:八幡神社参道


    マネークリップの使い方「Clip this Way!」
    写真:「clip this way」(こうやって使うのよ)


    WindowsDNSサーバが大量のUDPポートを待ち受けるように実装変更
    画像:ついでに「netstat -nba」で待ち受けているプロセスを表示、たしかにDNS


    液晶モニタ壊れたので三菱のワイド買ってきた、初の「1680x1050」
    画像:1680x1050フルサイズ
  • Amazon用