GNU/Linux >> Linux の 問題 >  >> Linux

CentOS / RedHat :ログ ファイル管理の初心者向けガイド

システム ログ デーモンは、アプリケーションまたはカーネルによって生成されたシステム メッセージのログを記録します。システム ログ デーモンは、リモート ロギングもサポートしています。メッセージはファシリティとプライオリティによって区別されます。原則として、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 フィールドは

を指定します rsyslog アクションについて

施設

施設 メッセージを生成しているプログラムまたはアプリケーションのタイプを指定するために使用されます。したがって、syslog デーモンがさまざまなソースを異なる方法で処理できるようにします。以下の表に、標準設備とその説明を示します:

施設 説明
auth/authpriv セキュリティ/承認メッセージ (プライベート)
クローン クロックデーモン (crond および atd メッセージ)
デーモン 個別の機能を持たないシステム デーモンからのメッセージ
カーン カーネル メッセージ
local0 – local7 ローカル使用のために予約済み
lpr ライン プリンター サブシステム
メール メールデーモンからのメッセージ
ニュース USENET ニュース サブシステム
syslog システム ログ デーモンによって内部的に生成されたメッセージ
ユーザー 一般的なユーザー レベルのメッセージ
uucp UUCP サブシステム

優先度

優先度 メッセージの は、そのメッセージの重要性を示します。以下の表は、標準の優先度とその意味を示しています:

優先度 説明
出現 システムが使用できません
アラート ただちに行動を起こす必要があります
クリティカル 危機的状況
エラー エラー状態
警告 警告条件
お知らせ 普通だがかなり重要
情報 情報メッセージ
デバッグ メッセージのデバッグ
rsyslog フィルタ オプションについて

ログ ローテーション

ログ ファイルは時間の経過とともに定期的に大きくなるため、定期的にトリミングする必要があります。 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 ユーザーにメールで送信されます。

rsyslog テンプレートについて


Linux
  1. CentOS / RHEL 7 :firewalld の初心者向けガイド

  2. CentOS/RHEL で /var/log/messages のデフォルトのアクセス許可を変更する方法

  3. CentOS/RHEL で監査ログとメッセージ ファイルがローテーションしない

  1. システム ログ ファイル /var/log/messages が自動的に削除またはトリミングされる (CentOS/RHEL)

  2. /var/log/messages ファイルの「segfault」メッセージとは

  3. CentOS / RHEL :cron の初心者向けガイド

  1. Linux – Syslog.confファイルを設定して、Iptablesメッセージを別のファイルに記録する方法は?

  2. Firefoxのログファイルを見つけますか?

  3. logrotate は /var/log/messages を圧縮しません