システム ログ デーモンは、アプリケーションまたはカーネルによって生成されたシステム メッセージのログを記録します。システム ログ デーモンは、リモート ロギングもサポートしています。メッセージはファシリティとプライオリティによって区別されます。原則として、syslog によって処理されるログは、Linux システムの /var/log/ ディレクトリにあります。
# ls /var/log acpid cron.1 maillog.3 rpmpkgs.3 spooler.3 anaconda.log cron.2 maillog.4 rpmpkgs.4 spooler.4 anaconda.syslog cron.3 messages sa squid anaconda.xlog cron.4 messages.1 samba tallylog audit cups messages.2 scrollkeeper.log vbox boot.log dmesg messages.3 secure wtmp boot.log.1 faillog messages.4 secure.1 Xorg.0.log boot.log.2 gdm oracle-validated secure.2 Xorg.0.log.old boot.log.3 httpd pm secure.3 YaST2 boot.log.4 lastlog ppp secure.4 yum.log btmp mail prelink setroubleshoot conman maillog rpmpkgs spooler conman.old maillog.1 rpmpkgs.1 spooler.1 cron maillog.2 rpmpkgs.2 spooler.2
一部のログは、cups、samba、httpd などのサブディレクトリの下にダンプされます。 /var/log の下のログの中で、/var/log/messages が最も一般的なログです。これは、カーネル/コア システム ログが保持されているためです。通常、カーネル モジュールもそこにダンプします。したがって、問題の診断/監視のために、/var/log/messages を調べることが主要なログ ファイルです。
システム ログ デーモン/サービスとその構成ファイルは、使用する Linux のバージョンによって異なります。例:
RHEL 5: syslogd - /etc/syslog.conf RHEL 6: rsyslogd - /etc/rsyslog.conf
Rsyslog
Rsyslog は、古い syslog-ng デーモンと競合するために RHEL6 を開始する新しいログ デーモンです。 syslog-ng よりも rsyslog デーモンが提供する利点のいくつかは次のとおりです。
<強い>1.信頼できるネットワーキング
– Rsyslog は、信頼性の高い UDP の代わりに TCP を使用します。 TCP は確認応答と再送信機能を使用します。
– rsyslogd が特定の宛先にメッセージを配信できない場合、Rsyslog デーモンを使用すると、メッセージ配信用に複数の宛先ホスト/ファイルを指定できます。
<強い>2.精度
– メッセージの優先度と元の機能ではなく、ログ メッセージの任意の部分でメッセージをフィルタリングすることができます。
– syslog デーモンがログに記録するメッセージの正確なタイムスタンプをサポートします。
<強い>3.その他の機能
– TLS 暗号化
– SQL データベースにログを記録する機能。
rsyslog.conf
構成ファイル – /etc/rsyslog.conf rsyslogd デーモンは、すべてのメッセージを処理するために使用されます。構成ファイルは、基本的に次の 2 つのことを提供するルール ステートメントを提供します:
<強い>1.セレクター– 照合するメッセージ。
– セレクターは、ドット (.) で区切られた機能と優先度で構成されます (例:mail.info)
2.アクション
– 一致したメッセージをどうするか
– 通常、メッセージをログに記録する宛先 (ローカル マシンまたはリモート ホスト上のファイル)
セレクターとアクション
セレクターは、ファシリティとプライオリティの 2 つで構成されています。一致するメッセージを指定します。 action フィールドは、一致したメッセージに適用するアクションを指定します。例:
kern.debug /var/log/kernlog
– カーネルと優先度デバッグの機能を持つメッセージは、ファイル /var/log/kernlog に記録されます。
– 優先度ステートメントはセレクターで階層化されています。 Rsyslog は、指定された優先度以上のすべてのメッセージに一致します。そのため、デバッグ優先度以上のカーネルからのすべてのメッセージがログに記録されます。デバッグは優先度が最も低く、ファシリティ kern を持つすべてのメッセージが一致します。
– これを行う別の方法は、アスタリスク (*) を使用することです。例:
kern.* /var/log/kernlog
– 複数のセレクターをセミコロンで区切って 1 行に指定できます。これは、同じアクションを複数のメッセージに適用する必要がある場合に便利です。
– ファイルがアクション フィールドにリストされている場合、一致したメッセージがファイルに書き込まれます。
– FIFO などの他のデバイスが存在する可能性があります。 、端末などにメッセージを書き込む。 action フィールドは
施設
施設 メッセージを生成しているプログラムまたはアプリケーションのタイプを指定するために使用されます。したがって、syslog デーモンがさまざまなソースを異なる方法で処理できるようにします。以下の表に、標準設備とその説明を示します:
施設 | 説明 |
---|---|
auth/authpriv | セキュリティ/承認メッセージ (プライベート) |
クローン | クロックデーモン (crond および atd メッセージ) |
デーモン | 個別の機能を持たないシステム デーモンからのメッセージ |
カーン | カーネル メッセージ |
local0 – local7 | ローカル使用のために予約済み |
lpr | ライン プリンター サブシステム |
メール | メールデーモンからのメッセージ |
ニュース | USENET ニュース サブシステム |
syslog | システム ログ デーモンによって内部的に生成されたメッセージ |
ユーザー | 一般的なユーザー レベルのメッセージ |
uucp | UUCP サブシステム |
優先度
優先度 メッセージの は、そのメッセージの重要性を示します。以下の表は、標準の優先度とその意味を示しています:
優先度 | 説明 |
---|---|
出現 | システムが使用できません |
アラート | ただちに行動を起こす必要があります |
クリティカル | 危機的状況 |
エラー | エラー状態 |
警告 | 警告条件 |
お知らせ | 普通だがかなり重要 |
情報 | 情報メッセージ |
デバッグ | メッセージのデバッグ |
ログ ローテーション
ログ ファイルは時間の経過とともに定期的に大きくなるため、定期的にトリミングする必要があります。 Linux は、ユーザーの介入なしでこの機能を提供するユーティリティを提供します。 logrotate プログラムを使用して、ログ ファイルのローテーションを自動化できます。基本的な logrotate 構成は、構成ファイル /etc/logrotate.conf で行われます。 .構成ファイルでは、ログをローテーションする頻度や保持する古いログの数などのオプションを設定できます。
# cat /etc/logrotate.conf weekly rotate 4 create include /etc/logrotate.d /var/log/wtmp { monthly minsize 1M create 0664 root utmp rotate 1 }
上記の logrotate 構成ファイルに従って、ログは毎週ローテーションされます (既存のログの名前を filename.number の順序に変更します):
最小サイズ 1M – ファイル サイズが 1 MB 以上の場合、logrotate が実行され、メッセージ ファイルがトリミングされます。
rotate 4 – ローテーション中に最新の 4 つのファイルを保持します。
作成 – 指定された権限と所有権でローテーション中に新しいファイルを作成します。
含める – デーモン固有のログ ローテーション設定については、ここで説明したファイルを含めます。
# ls -l /var/log/messages* -rw------- 1 root root 1973 Jun 10 15:07 /var/log/messages -rw------- 1 root root 10866 Jun 6 04:02 /var/log/messages.1 -rw------- 1 root root 19931 May 30 04:02 /var/log/messages.2 -rw------- 1 root root 238772 May 23 04:02 /var/log/messages.3 -rw------- 1 root root 171450 May 14 18:29 /var/log/messages.4
– logrotate デーモンは、主にファイル /etc/logrotate.conf からすべての構成を読み取り、/etc/logrotate.d/ からデーモン固有の構成ファイルを含めます。
– logrotate デーモンと古いログのローテーションおよび削除により、ログ ファイルの圧縮が可能になります。
– デーモンは /etc/cron.daily/logrotate から毎日実行されます。
ログウォッチ
– RHEL システムには、logwatch パッケージも同梱されています。
– Logwatch は、ログを分析して興味深いメッセージを特定するために使用されます。
– Logwatch は、一般的なサービスのログファイルを分析し、管理者に結果を電子メールで送信するように構成できます。
/>– 不審なアクティビティに対して、時間単位または夜間単位で構成できます。 RHEL システムのデフォルトでは、夜間に実行され、レポートが root ユーザーにメールで送信されます。