Linuxログ管理(ログ構成、ログローテーション)

Linuxログ管理

  運用および保守担当者にとって、どのシステムが管理されていても、ログファイルの監視、呼び出し、管理はその重要な部分です。サーバーの問題の解決は、システム(エラー)ログの表示から始まります。この記事では、Linuxシステムでのログ管理について見ていきます。

ログ管理

ログ管理の概要

 ログの紹介

  システムログは、システムハードウェアチェック、カーネルアクション、ソフトウェアの起動、ユーザーアクションなどのさまざまな情報を記録するファイルです。システムログを通じて、システムのヘルスステータスの判断、システムの問題の検出、攻撃の証拠の発見などを行うことができます。

 Linuxシステムのログサービス

  古いシステムログは主にsyslogサービスによって完了、新しいシステムはより強力なrsyslogサービスによって置き換えられsyslogますが、2つの操作方法は基本的に同じです。

ログサービスがオンになっているかどうかsystemctlを確認しコマンドを使用してサービスを確認して開始します

#查看服务是否启动
systemctl list-units | grep rsyslog
#若没有启动,则启动服务
systemctl start rsyslog.service

 一般的なログとその機能

Linuxのシステムログは主に/var/logディレクトリに格納され、主なファイルとその機能を次の表に示します。

ログファイル名 効果
cron システムタイミングタスク関連のログ
カップ 情報ログを印刷する
dmesg システムブートカーネルのセルフdmesgチェック情報を記録し、コマンドを使用して表示します
btmp エラーメッセージをログインするためのログ(バイナリファイルはvimで表示できません。lastbコマンドを使用してください)
wtmp ログイン、ログアウト、シャットダウン情報のログを記録します(vimでは表示できません。lastコマンドを使用します)。
最後のログ 各ユーザーの最終ログイン時刻を記録し、lastlogコマンドを使用して表示します
メールログ メール情報を記録する
マッサージ システムのほとんどの重要な情報を記録します。問題がある場合は、このファイルをチェックしてください(記録レベル情報、以下に説明)
安全な 主にユーザーアカウントと承認に関連する検証と承認関連の情報を記録する

さらに、一部のシステムインストールアプリケーションサービスは、デフォルトでこのディレクトリにログを記録しますが、rsyslogサービス管理を使用する代わりに、アプリケーションには独自のログ管理サービスがあります。ソースパッケージを介してインストールされたアプリケーションサービスログは、そのインストールディレクトリに記録されます。

 ログファイルの形式

基本的なログ形式には、主に4種類のコンテンツが含まれます

  1. イベントの時間
  2. イベントが発生したホスト名
  3. イベントが発生したサービスまたはプログラム(またはカーネル)(プロセスPIDを含む)
  4. イベント内容

ログ管理サービスのrsyslog構成

 ログ管理サービスの構成形式

rsyslogサービスの設定ファイルは/etc/rsyslog.conf

構成ファイルの形式:サービス名[接続記号]ログレベルログレコードの場所

その中で:

  • サービス名は、システムにインストールされているサービスの名前です。複数のサービス名が同じレベルを使用する場合は、コンマで区切ることができます

  • 2つのルールの間(主に除外に使用)、セミコロンを使用して区切ります。詳細についてはサンプルを参照してください

  • 接続記号は以下に示され、ログレベルも以下に示されます。

  • ログの場所はファイルの絶対パスだけではなく、次の方法があります

    ログの場所 サンプル概要
    絶対ファイルパス / var / log / messages
    システムデバイスファイル / dev / lp0(プリンター出力を使用)
    リモートホストに転送 @ 192.168.0.2:123
    ユーザー名 rootまたは*(すべてのユーザーを意味します)
    ログを無視(記録しない)

 ログサービス管理の主なサービス名

サービス名 説明
auth ユーザーアカウントのセキュリティと認証情報(authprivとは異なります)
authpriv ユーザーアカウントのセキュリティと認証情報(プライベート)
cron システムタイミングタスク
デーモン さまざまなデーモン
ftp FTPデーモン関連のログ
カーン カーネルはログを生成します
lpr ログを印刷
郵便物 メール送受信ログ
ニュース ニュースサーバー関連のログ
Syslog rsyslogサービスによって生成されたログ
ユーザー ユーザーカテゴリログ

 ログサービス構成ファイルコネクタ

ジョイナー 説明
* すべてのユーザーレベルを表します
後で指定されたログレベルよりも高いレベル(含む)のログが記録されます
。= 後で与えられるものと等しい等級
。! グレードは後で与えられるものと等しくありません

 ログレベル

ログレベルは上から下に増加します

ログレベル 説明
デバッグ 一般的なデバッグ情報
情報 基本的な通知情報
通知 一般的な注意情報
警告 一般的な警告メッセージ。現在、システムの動作には影響ありませんが、将来的に問題が発生する可能性があります
間違い 一部のシステム機能に影響を与える可能性があるエラーメッセージ
クリティカル 致命的な致命的なエラー、エラーメッセージよりも深刻
アラート 警告ステータス情報、処理されない場合、システムの損傷を引き起こす可能性があります
出現する システムは利用できません

また、.noneはログが記録されないことを意味し、一般的に除外状況で使用されます

 ログサービスの構成例

auth,authpriv.*                 /var/log/auth.log #逗号分隔表示两个服务同样等级,都为所有
*.*;auth,authpriv.none          -/var/log/syslog #所有服务的所有信息,但排除了上面两个服务

ログローテーション

  先頭からのすべてのレコードが1つのファイルに記録されている場合、必然的に読み取りと書き込みが遅くなり、占有率が増加し、1つのファイルの損傷によってすべてのログが失われるリスクさえも増加します。この問題を解決するために、Linuxシステムはログローテーション方式を採用し、一定期間前のレコードを別のアーカイブファイルに切り取ってパッケージ化し、メインログファイルは新しい開始から記録を開始します。

 ログファイルの名前付け(ローテーション)ルール

  • 構成ファイルに「dateext」パラメーターがある場合、ログはファイルサフィックスとして日付を使用し、ログファイル名は重複せず、古いファイルの名前は変更されません
  • このパラメータを指定しないと、ログファイルの名前が変更されます。たとえばmessages新しいファイルが有効になると、古いファイルが変更されmessages.1、元のmessages.1ファイルが変更されmessages.2、など、時期尚早のファイルが圧縮され、最大シリアル番号を超える古いファイルが削除されます。

ログローテーションの設定ファイルは/etc/logrotate.confで、特定の情報は/etc/logrotate.dログローテーション情報を設定できるディレクトリに保存することもできます。特定のパラメーターのman logrotateヘルプを参照してください

パラメータ 説明
毎日 日ごとに回転
毎週 日ごとに回転
毎月 月ごとにローテーション
n回転 nは数値、保持するログファイルの数、0はバックアップなしを意味します
圧縮する 古いログを圧縮する
作成[モード] [所有者] [グループ] create 0640 root admなどの新しいログ許可モード、所有者、およびグループを作成します。

特定のファイルの設定は、次のような特別な構文に含める必要があります。

# no packages own wtmp -- we'll rotate it here
/var/log/wtmp {
    
    
    missingok
    monthly
    create 0664 root utmp
    minsize 1M
    rotate 1
}

中かっこを使用して、特定のファイル名の後に設定を囲みます。次の設定は、1つのファイルに対してのみ有効です。

おすすめ

転載: blog.csdn.net/Zheng__Huang/article/details/108286741