6. ログファイルの管理

システムおよびアプリケーションのログファイルは大量のデータを生成し、それがハードディスクに保存されます。時間の経過とともに、これらのファイルは管理不能なサイズに成長し、システム管理者にいくつかの課題をもたらします。この Linux チュートリアルのレッスンでは、効果的なログ管理のための初心者向けガイドを提供します。

肥大化するログの課題

ログファイルが大きくなると、貴重なディスクスペースを消費します。これを放置すると、パーティションが一杯になり、システムの不安定化やアプリケーションの障害を引き起こす可能性があります。さらに、単一の巨大なログファイルから特定の情報を検索するのは、遅く非効率的です。最新のデータにアクセスできるようにしつつ、古いエントリをアーカイブまたは破棄するための、ログを管理する戦略が必要です。

ログローテーションとは?

この問題の解決策は、ログローテーションと呼ばれるプロセスです。Linux システムでこのタスクに使用される最も一般的なユーティリティはlogrotateです。このツールはログファイルの管理プロセスを自動化します。ログローテーションには通常、以下の手順が含まれます。

  • 現在のログファイルの名前を変更する(例:app.logapp.log.1になる)。
  • 新しいエントリのために新しい空のログファイルを作成する。
  • ディスクスペースを節約するために古いログファイルを圧縮する(例:app.log.1.gz)。
  • 一定数のローテーション後に最も古いログファイルを削除する。

この自動化されたログ管理により、ログが管理しやすいサイズに保たれ、ディスクスペースが効率的に使用されることが保証されます。

logrotate の仕組み

logrotateユーティリティは高度に設定可能であり、通常は cron ジョブによって毎日自動的に実行されるようにスケジュールされています。そのメインの設定ファイルは/etc/logrotate.confですが、個々のアプリケーションのログ設定は通常、/etc/logrotate.d/ディレクトリ内の個別のファイルに格納されます。これらの設定ファイルにより、ログをローテーションする頻度、保持する古いログの数、圧縮するかどうかなど、さまざまなLinux ログのルールを指定できます。他のツールも存在しますが、logrotateは Linux の世界におけるログローテーションの標準です。

ログインして学習進捗を保存

サインイン

演習

練習あるのみです!ログファイル管理および関連するシステム管理タスクの理解を深めるための実践的なラボをいくつか紹介します。

  1. Linux でログファイルと設定ファイルを表示する - logrotateのようなツールによって管理されるシステムログや設定ファイルを含むテキストファイルを効率的に表示および移動するための、必須の Linux コマンドラインスキルを練習します。
  2. 迅速な脅威検出 - サイバーセキュリティ分析のための必須の Linux コマンドラインスキルを学びます。tailおよびheadコマンドを使用して最新のログエントリを迅速に抽出し分析し、高リスクな技術環境における迅速な脅威検出をシミュレートします。
  3. tar を使用した Linux でのバックアップの作成と復元 - システム管理タスクのハンズオン経験を積みます。古いログのアーカイブの一部となることが多いディレクトリのバックアップを行います。

これらのラボは、概念を実際のシナリオに適用し、Linux でのログファイルの管理と対話に対する自信を構築するのに役立ちます。

クイズ

ログローテーションと Linux ログの管理に使用される主要なユーティリティは何ですか?小文字の英語で回答してください。