Linux-admin-log-management
Linux管理-ログ管理
systemdは、CentOS Linuxのシステムロギングの管理方法を変更しました。 システム上のすべてのデーモンがログエントリをソートおよびフィルタリングする主な方法として_tail_や_grep_などのツールを使用するよりも、個々の場所にログを配置する代わりに、 journald はシステムログの分析に単一の管理ポイントをもたらしました。
_systemd_ロギングの背後にある主なコンポーネントは、journal、jounralctl、およびjournald.confです。
_journald_はメインのロギングデーモンであり、_journald.conf_を編集することで構成されますが、_journalctl_は_journald_によって記録されたイベントの分析に使用されます。
_journald_によって記録されるイベントには、カーネルイベント、ユーザープロセス、およびデーモンサービスが含まれます。
正しいシステムタイムゾーンを設定する
_journalctl_を使用する前に、システム時刻が正しい時刻に設定されていることを確認する必要があります。 これを行うには、_timedatectl_を使用します。
現在のシステム時刻を確認しましょう。
現在、システムは現地時間帯に対応しています。 システムがそうでない場合、正しいタイムゾーンを設定しましょう。 設定を変更すると、CentOSは現在のタイムゾーンからのタイムゾーンオフセットを自動的に計算し、システムクロックをすぐに調整します。
_timedatectl_を使用してすべてのタイムゾーンを一覧表示します-
これは、_timedatectl list-timezones_からの競合する出力です。 特定のローカルタイムゾーンを見つけるために、grepコマンドを使用することができます-
CentOSで使用されるラベルは通常、スペースではなくアンダースコアを使用した国/地域です(New_York対 "New York")。
今、私たちのタイムゾーンを設定しましょう-
システムクロックは自動的に時刻を調整する必要があります。
journalctlを使用してログを分析する
_journalctl_を使用する場合の一般的なコマンドラインスイッチ-
Switch | Action |
---|---|
-k | Lists only kernel messages |
-u | Lists by specific unit (httpd, sshd, etc…) |
-b | Boots the label offset |
-o | Logs the output format |
-p | Filters by log type (either name or number) |
-F | Fieldname or fieldnamevalue |
--utc | Time in UTC offset |
--since | Filter by timeframe |
ブートログを調べる
最初に、CentOS Linuxのブートログを調べて構成します。 最初に気付くのは、CentOSはデフォルトでは、再起動後も持続するブートログを保存しないことです。
再起動インスタンスごとに起動ログを確認するには、次のコマンドを発行できます-
システムを再起動すると、別のエントリが表示されます。
さて、最後のブートロギングインスタンスを調べてみましょう-
上記は、最後のブートからの要約された出力です。 また、数時間、数日、数週間、数か月、さらには年単位でブートログを参照することもできます。 ただし、デフォルトではCentOSは永続的なブートログを保存しません。 ブートログを永続的に保存できるようにするには、いくつかの構成変更を行う必要があります-
- ブートログの中央ストレージポイントを作成する
- 新しいログフォルダーに適切なアクセス許可を付与する
- 永続的なロギング用にjournald.confを構成する
永続的なブートログのブート場所の構成
journald_が永続的なブートログを保存する最初の場所は/var/log/journal_です。 これはデフォルトでは存在しないため、作成しましょう-
今、ディレクトリに_journald_デーモンへの適切なアクセス許可を与えましょう-
最後に、journald_に永続的なブートログを保存するように指示します。 _vim_または好みのテキストエディターで、/etc/systemd/jounrald.conf "_を開きます。
関心のある行は、Storage = _です。 最初にコメント#_を削除してから、上記のように Storage = persistent に変更します。 CentOSシステムを保存して再起動し、_journalctl list-boots_を実行するときに複数のエントリがあるように注意してください。
注-VPSプロバイダーからのような_machine-id_が絶えず変化すると、永続的なブートログの保存時に_journald_が失敗する可能性があります。 このようなシナリオには多くの回避策があります。 もっともらしいVPS回避策を見つけた人からの信頼できるアドバイスに従うよりも、CentOS管理フォーラムに投稿された現在の修正を熟読することをお勧めします。
特定のブートログを調べるには、_journald --list-boots_を使用して各オフセットを取得する必要があります。 したがって、2番目のブートログを確認するために使用します-
ブートログオフセットが指定されていない_-b_のデフォルトは、最後のリブート後、常に現在のブートログになります。
ログタイプ別にログを分析する
_journald_からのイベントには番号が付けられ、7つの異なるタイプに分類されます-
したがって、すべての警告を表示する場合は、_journalctl_を介して次のコマンドを発行できます-
上記は、システム上の過去4日間のすべての警告を示しています。
systemdでログを表示および閲覧する新しい方法は、慣れるのにほとんど練習や調査を必要としません。 ただし、さまざまな出力形式と、すべてのパッケージ化されたデーモンログをユニバーサルにする特別な注意事項があるため、受け入れる価値があります。 _journald_は、従来のログ分析方法よりも優れた柔軟性と効率性を提供します。