syslogdLogwatchSwatchを用いたログ関連の操作

 

syslogd

syslogdLinuxカーネルや、各種サービス・ソフトウェアのログを取るサービスである。syslogdによって記録されたログを見る事によってシステムの状態を把握する事ができる。管理者にとって、これを見る事は欠かせない作業の一つである。

ほとんどのサービスはsyslogdを利用してログを出力するが、ApacheSambaなどのように独自にログを生成するソフトウェアもある。

 

syslogdに関係するファイルは次のとおり

     /var/log/フォルダ

・ /etc/logrotate.conf

     /etc/syslog.conf

     /etc/sysconfig/syslog

 

 

ログはシステムの運用・管理のための重要な手がかりとなる。

デフォルトでは、ログは/var/log/ディレクトリ以下に置かれる。

代表的なログファイルとして、

/var/log/messages       システムに関する様々な情報

/var/log/wtmp              ログイン情報。lastコマンドで参照できる

/var/log/maillog                      メールに関する情報

/var/log/secure             セキュリティ関連

/var/log/httpd/access_log            Webサーバへのアクセスログ

/var/log/dmsg              デバイスの状態

 

ログはすぐに肥大化するので、ログを分割する機能を持っている。デフォルトでは1週間ごとに分割される。その際、それまでのものが「messages」なら「messages.1」という名前に変わり、新しい0バイトの「messages」が生成される。ちなみに「messages.1」だったものは「messages.2」に変わる。分割されて残しておくファイル数は「messages.4」までとなっている。これらの設定はデフォルトであり、分割の周期やファイル数を変更したければ/etc/logrotate.confファイルをいじれば良い。

 

■ログを他のマシンに送信する

syslogdは自分の中にログを作るのではなく、他のPCにログを溜める事もできる。普段は/etc/syslog.confにて/var/log/messagesに保存するように設定されている。それを@192.168.0.1などのように書き換える事によって、192.168.0.1にログを送るようになる。

 

# 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                  @192.168.0.1

 

# 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/sysconfig/syslogの中のSYSLOGD_OPTIONS=”-m 0”という一行に-rを追加する。

# 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 -r"

# 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"

 

これで、以後ログを送信するマシンにはログは溜まらず、受信する側のマシンの/var/log/messagesにログが溜まる事になる。

 

Logwatch

Logwatchは最近のRed Hatには標準搭載されている定期的にログを監視してくれるツールである。動作としては文字列を監視し、特定のパターンの文字列がログに現れたら通知してくれる。

設定ファイルは/etc/log.d/conf/logwatch.conf

 

ログファイルの格納されているディレクトリ

LogDir = /var/log

 

ログファイルのレポートメールを送信したい場合、rootに置き換えてメールアドレスを記述

変更しない場合はroot宛にレポートが送信

MailTo = root

 

Yesにするとメール送信が行なわれなくなるかわりにコンソール上にLogwatchの出力結果が表示される

Print = No

 

コメントアウトを外すとメール送信やレポート出力が行なわれず、指定のファイルにレポートが保存される

#Save = /tmp/logwatch

 

Archivesの#を外すと圧縮された過去のログファイルも一緒に解析してくれる

Archivesを有効にしたらRangeも有効にし、日付の範囲を指定

#Archives = Yes

#Range = All

 

いつのログを解析するかを指定。All、Today、Yesturdayの3種類から選択

Range = yesterday

 

詳細度を設定。Low、Med、Highもしくは0-10の数字のどれかを指定

Detail = Low

 

特定のサービスのログのみを抜き出してチェックしたい場合にはこのパラメータを変更

/etc/log.d/scripts/services/にある実行ファイル名を指定できる

Service = All

 

解析するログファイル名を指定できるが、その前にService=Allの記述があれば無効

#LogFile = messages

 

★Swatch

Swatchはメモリ上に常駐し、ログの監視をするソフトウェアである。ジャンルとしてはIDS(侵入検知システム)もしくは不正アクセス監視システムだと捉えればよいだろう。厳密にはIDSではないが、syslogが吐き出したログを対象にマッチングをかけるので、ログをよく知っているなら非常に便利なソフトウェアである。

日ごろからLinxuをインターネットに繋げて稼動させていれば、syslogに様々なアクセス状況が記録される。様々なシステムを抱える管理者にとって、これらのログを全て監視し続けるのはかなり現実的では無い。そのため、専用のツールを使って、ある程度はモニタリングさせる事になる。

■インストール

このソフトウェアはPerlで書かれているので、インストール時にパールモジュールが必要となる。

以下のファイルを入手し、カーネルにインストールしておく必要がある。

CPAN(http://search.cpan.org)で以下の4つのファイルを検索し、ダウンロードする。

File-Tail-0.98.tar.gz

Date-Calc-4.3.tar.gz

TimeDate-1.10.tar.gz

Time-HiRes-01.20.tar.gz

 

 

 

 

 

 

 

 

 

 




100MB無料ホームページ可愛いサーバロリポップClick Here!