syslog は、Linux 環境でシステムおよびプログラム メッセージをログに記録するための一般的な標準です。このサービスはシステム ログ デーモンを構成し、Linux カーネル メッセージに加えて、任意のプログラムがログ (デバッグ、セキュリティ、通常の操作) を実行できます。
原則として、syslog によって処理されるログは、Linux システムの /var/log/ ディレクトリにあります。
# ls /var/log boot.log cloud-init-output.log firewalld maillog rhsm tallylog anaconda btmp cron gdm maillog-20151219 samba tuned audit btmp-20151219 cron-20151219 grubby messages secure wpa_supplicant.log auth.log choose_repo.log dmesg grubby_prune_debug messages-20151219 secure-20151219 wtmp yum.log chrony dmesg.old lastlog pm-powersave.log spooler xrdp.log
一部のログは、cups、samba、httpd などのサブディレクトリの下にダンプされます。 /var/log の下のログのうち、/var/log/messages カーネル/コア システム ログがそこに保持されるため、最も一般的なものです。通常、カーネル モジュールもそこにダンプします。したがって、問題の診断/監視のために、/var/log/messages を調べることが主要なログ ファイルです。
ログは毎週ローテーションされます (既存のログの名前を filename.number 順に変更します):
# 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
週ごとにローテーションされるログ ファイルは、4 週間が経過すると削除されます (合計ログは 5 週間にまたがります)。この回転メカニズムは、crond と logrotate によって提供されます。
syslogd のより信頼性の高い拡張バージョンである rsyslog パッケージによって提供される rsyslogd もあります。詳細については、rsyslog パッケージをインストールし、rsyslogd のマニュアル ページを確認してください。
サービス コントロール
syslog サービスを開始するには、以下のコマンドのいずれかを使用します:
# service syslog start # /etc/init.d/syslog start
syslog サービスを停止するには、以下のコマンドのいずれかを使用します:
# service syslog stop # /etc/init.d/syslog stop
ランレベルとサービスの可用性を確認するには:
# chkconfig --list syslog syslog 0:off 1:off 2:on 3:on 4:on 5:on 6:off
サービスが無効になっている場合は、次の方法でサービスを有効にすることができます:
# chkconfig --list syslog syslog 0:off 1:off 2:off 3:off 4:off 5:off 6:off # chkconfig syslog on # chkconfig --list syslog syslog 0:off 1:off 2:on 3:on 4:on 5:on 6:off
構成
syslogd サービスの構成ファイルは /etc/sysconfig/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".
そこには、次の 2 つの異なるオプション グループがあります。
klogd – カーネル ログ デーモン :Linux カーネルからのメッセージをキャッチしてファイルに記録するデーモンです。
syslogd – システム ログ デーモン :その他のメッセージ傍受とロギング。
デフォルトの構成ファイルには、さらに説明できるいくつかのオプションがリストされています。
syslogd オプション:
- -m 間隔 :インターバル分ごとに「MARK」とラインを入れます。 「-m 0」は「MARK」を完全に無効にします
- -r :syslog サービスでインターネット ドメイン ソケットを使用してネットワークからメッセージを受信する機能を有効にするために使用されます。
- -x :ログがネットワークから (-r オプションを介して) 到着すると、作成されたログに送信元アドレスが提供されます。アドレスは DNS で検索されます。リモート ログが頻繁に発生する場合 (通常、リモート サイトに問題がある場合)、DNS ルックアップに時間を費やすことはお勧めできません。このオプションは、DNS ルックアップを無効にするために使用できます。
- -S :詳細ログ
- -d :syslogd のデバッグ モード
klogd オプション:
- -2 :行を生のテキストで 1 回印刷し、アドレスをシンボルに変換してもう一度印刷します。これは、ksymoops が元のデータを処理するために必要です。
- -x :System.map ファイルを読み取らないように EIP 変換 (OOPS 用) を行わない (ダンプ速度の向上)
- -d :klogd のデバッグ モード
- -c n :コンソール メッセージのデフォルトのログ レベル
ウマスク :SYSLOG_UMASK は、生成されたログ ファイルのデフォルトのアクセス権限/権限を制御します。