ホームページ >運用・保守 >Linuxの運用と保守 >Linux システムでログ管理ツールを使用する方法

Linux システムでログ管理ツールを使用する方法

WBOY
WBOYオリジナル
2023-06-18 11:52:041195ブラウズ

Linux オペレーティング システムでは、ログ管理は非常に重要な仕事であり、特にシステム管理者にとって、さまざまな問題を効果的に診断して解決するのに役立ちます。この記事では、一般的に使用されるいくつかのログ管理ツールと、Linux システムでのそれらの使用方法を紹介します。

  1. Syslog-ng
    Syslog-ng は、ユーザーがさまざまなデバイスやアプリケーションからログ データを集約し、必要に応じてリモート サーバーに送信したりローカルに保存したりできるようにする、強力で高度にカスタマイズ可能なログ エンジンです。 。

Syslog-ng のインストール:
Debian または Ubuntu システムでは、次のコマンドを使用して Syslog-ng をインストールできます:

sudo apt-get update
sudo apt - get install syslog-ng

CentOS または RHEL システムでは、次のコマンドを使用してインストールできます:

sudo yum install syslog-ng

Syslog-ng を構成します。
Syslog-ng を構成する前に、まず構成ファイルを作成する必要があります。このファイルでは、さまざまなデバイスやアプリケーションからのメッセージを処理する方法を定義し、これらのメッセージをどのリモート サーバーまたはローカル ファイルに送信するかを指定できます。

以下は設定ファイルのサンプルです:

@バージョン: 3.27
@include "scl.conf"

192.168.1.1

からのすべてのログを受け入れる

ソース s_network {
tcp(ip("192.168.1.1") ポート(514));
udp(ip("192.168.1.1") ポート(514));
};

ローカル ログを受け入れる

source s_local {
system();
Internal();
};

ログをローカル ファイルに書き込む

destination d_local {
file("/var/log/messages" dir_perm(0750) create_dirs(yes) perm(0640) owner(root) group(adm));
};

リモート サーバーにログを送信します。

destination d_remote {
udp("192.168.1.2" port(514));
};

s_network からのすべてのデータを送信し、 s_local のログは d_local と d_remote に送信されます。

log {source(s_network, s_local); destination(d_local, d_remote); };

  1. Logrotate
    Logrotate は、ユーザーがログ ファイルを自動的に保持および管理できるようにする、一般的に使用されるログ管理ユーティリティ。これは、古いログ ファイルを定期的にアーカイブまたは削除し、新しいログ ファイルを作成することによって機能します。

Logrotate のインストール:
Debian または Ubuntu システムでは、次のコマンドを使用して Logrotate をインストールできます:

sudo apt-get update
sudo apt-get install logrotate

CentOS または RHEL システムでは、次のコマンドを使用してインストールできます:

sudo yum install logrotate

Logrotate の構成:
Logrotate を構成する前に、まず、設定ドキュメントを作成する必要があります。ログ ファイルの管理方法は、このファイルで定義できます。

以下は設定ファイルのサンプルです:

/var/log/messages {
7 をローテーション #7 つの古いログ ファイルを保持する
毎日 #1 日 1 回実行
compress #古いログ ファイルを圧縮します
latecompress #圧縮前に最新のログ ファイルを 1 サイクル保持します
missingok #ログ ファイルが存在しない場合でも警告メッセージを発行しません
postrotate #ログ ローテーション後にコマンドを実行します

/etc/init.d/syslog-ng reload > /dev/null

endscript
}

/var/log/nginx/*.log {
ローテーション 7
daily
compress
latecompress
missingok
notifempty #空の場合でもログ ファイルをローテーションします
sharedscripts #ローテーションの前後に同じスクリプトを 1 回実行します
postrotate

systemctl reload nginx > /dev/null

endscript
}

  1. Systemd Journal
    Systemd Journal は、ユーザーがシステム ログ ファイルを透過的に収集および管理できるようにするログ サービスです。バイナリ ログ形式を使用してログ データを保存するため、ログの読み取りとインデックス作成の効率が向上します。

Systemd Journal は、最新の Linux ディストリビューションにすでに統合されているため、インストールと構成が非常に簡単です。システム ログを表示したい場合は、journalctl コマンドを使用できます。

journalctl -f #ログをリアルタイムで表示します
journalctl -u nginx #Nginx に関連するログを表示します
journalctl -n 10 #最新の 10 件のログ エントリを表示します。

Systemd Journal を使用する前に、次の点に注意してください。

  • Systemd Journal は、ログ ファイルを /var/log/journal ディレクトリに保存します。デフォルトでは、ログ ファイルを保存するのに十分なディスク容量が必要です。
  • Systemd Journal は、分析とバックアップのためにログ データをリモート サーバーに送信することもサポートしています。

概要
この記事では、Syslog-ng、Logrotate、Systemd Journal など、Linux システムで一般的に使用されるログ管理ツールを紹介します。これらのツールは、ユーザーがログ ファイルをより適切に管理および保持し、さまざまな問題をタイムリーに発見して解決するのに役立ちます。システム管理者にとって、これらのツールの基本的な使用法を習得することは不可欠です。

以上がLinux システムでログ管理ツールを使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。