目次
はじめに
journald - systemd ログ サービス
journald 設定ファイル
journald バイナリ ログ ファイルの保存場所
journalctl を使用して systemd ログを表示および分析する
journald 基本コマンド
如何以不同时区的时间查看日志条目
如何在日志中只查看错误、警告等信息
如何查看特定启动的日志
如何查看某一特定时间、日期的日志记录
如何查看内核特定的日志记录
如何查看某个服务、PID 的日志
如何查看用户、组的日志
如何查看一个可执行文件的日志
結論
ホームページ 運用・保守 安全性 journalctl を使用して systemd ログを表示および分析する方法 (例付き)

journalctl を使用して systemd ログを表示および分析する方法 (例付き)

Jun 10, 2023 am 08:55 AM
linux

如何使用 journalctl 查看和分析 systemd 日志(附实例)

はじめに

systemd は良くなく、システムに大きな影響を与えると多くの人が言いますが、これも物議を醸すトピックです。ただし、システムの管理とトラブルシューティングを行うための完全なツール セットが提供されることは否定できません。 GUI のない壊れたシステムに遭遇した場合、起動と GRUB が台無しになる可能性があることを想像してください。この場合、稼働中のシステムから起動し、Linux パーティションをマウントし、systemd ログを参照して問題を見つけることができます。

systemd には、次の 3 つの基本コンポーネントがあります。

  • systemd : Linux オペレーティング システムのシステムおよびサービス マネージャー。
  • systemctl : このコマンドは、systemd システムとサービス マネージャーのステータスを確認および制御するために使用されます。
  • systemd-analyze : このコマンドは、システム起動時のパフォーマンス統計を提供し、システムおよびサービス マネージャーから追加のステータスとトレース情報を取得します。

これら 3 つのサービスに加えて、systemd は、journald、logind、networkd などの他のサービスも提供します。このガイドでは、systemd の Journald サービスについて説明します。

journald - systemd ログ サービス

設計により、systemd は、プロセス、アプリケーションなどからのすべてのオペレーティング システム ログを一元的に処理する方法を提供します。これらのログ イベントはすべて、systemd のjournald デーモンによって処理されます。 Journald デーモンは、Linux オペレーティング システム全体からすべてのログを収集し、それらをバイナリ データとしてファイルに保存します。

イベントやシステムの問題をバイナリ データで一元的に記録すると、多くの利点があります。たとえば、システム ログはテキスト形式ではなくバイナリ形式で保存されるため、さまざまなニーズに合わせてテキストや JSON オブジェクトなどに変換できます。さらに、ログは順番に保存されるため、ログの日付/時刻操作を通じて個々のイベントを追跡するのが非常に簡単です。

journald によって収集されるログ ファイルには数千行があり、起動やイベントごとに常に更新されることに注意してください。したがって、長時間実行される Linux オペレーティング システムを使用している場合、ログ サイズは GB 単位にする必要があります。何千ものログがあるため、基本的なコマンドを使用してログをフィルタリングして、システムの問題について詳しく知ることが最善です。

journald 設定ファイル

journald の設定ファイルは以下のパスに存在します。これには、ロギングをどのように行うべきかに関するさまざまなフラグが含まれています。このファイルを確認して、必要な変更を加えることができます。ただし、何をしようとしているのか理解していない限り、このファイルを変更しないことをお勧めします。

/etc/systemd/journald.conf
ログイン後にコピー

journald バイナリ ログ ファイルの保存場所

journald は、ログをバイナリ形式で保存します。これらは、次のパスの下のディレクトリに保存されます。

/var/log/journal
ログイン後にコピー

たとえば、次のパスには、これまでのすべてのシステム ログが含まれるディレクトリがあります。

如何使用 journalctl 查看和分析 systemd 日志(附实例)

journalctl ログ ファイル パス

#cat# コマンドを使用せず、次のようにしてください。これらのファイルを開くために、 nano または vi を使用しないでください。 (バイナリなので)正常に表示できません。

journalctl を使用して systemd ログを表示および分析する

journald 基本コマンド

journald ログを表示する基本コマンドは次のとおりです:

journalctl
ログイン後にコピー

如何使用 journalctl 查看和分析 systemd 日志(附实例)

##journalctl

该命令提供了所有应用程序和进程的日志条目,包括错误、警告等。它显示的列表中,最旧的日志在顶部,当前的日志在底部。你需要不断按回车键来逐行滚动浏览。你也可以使用 ​​PAGE UP​​ 和 ​​PAGE DOWN​​ 键来滚动。按 ​​q​​ 键可以退出这个视图。

如何以不同时区的时间查看日志条目

默认情况下,​​journalctl​​ 以当前系统时区显示日志的时间。然而,你可以很容易地在命令中提供时区,将同一日志转换为不同的时区。例如,要以 UTC 查看日志,请使用以下命令:

journalctl --utc
ログイン後にコピー

如何使用 journalctl 查看和分析 systemd 日志(附实例)

journalctl --utc

如何在日志中只查看错误、警告等信息

系统产生的日志有不同的优先级。有些日志可能是可以忽略的警告,有些可能是重要的错误。你可能想只看错误,不看警告。这也可以用下面的命令来实现。

要查看紧急系统信息,请使用:

journalctl -p 0
ログイン後にコピー

如何使用 journalctl 查看和分析 systemd 日志(附实例)

journalctl -p 0

错误代码:

0: 紧急情况
1: 警报
2: 危急
3: 错误
4: 警告
5: 通知
6: 信息
7:调试
ログイン後にコピー

当你指定错误代码时,它显示该等级及更高的所有信息。例如,如果你指定下面的命令,它会显示所有优先级为 2、1 和 0 的信息:

journalctl -p 2
ログイン後にコピー

如何查看特定启动的日志

当你运行 ​​journalctl​​ 命令时,它会显示当前启动的信息,即你正在运行的会话中的信息。但也可以查看过去的启动信息。

在每次重启时,日志都会持续更新。journald 会记录不同启动时的日志。要查看不同启动时的日志,请使用以下命令。

journalctl --list-boots
ログイン後にコピー

如何使用 journalctl 查看和分析 systemd 日志(附实例)

journalctl list-boots

  • 第一个数字显示的是 journald 的唯一的启动跟踪号码,你可以在下一个命令中使用它来分析该特定的启动。
  • 第二个数字是启动 ID,你也可以在命令中指定。
  • 接下来的两个日期、时间组合是存储在相应文件中的日志的时间。如果你想找出某个特定日期、时间的日志或错误,这就非常方便了。

要查看一个特定的启动号码,你可以选择第一个启动跟踪号码或启动 ID,如下所示。

journalctl -b -45
ログイン後にコピー
journalctl -b 8bab42c7e82440f886a3f041a7c95b98
ログイン後にコピー

如何使用 journalctl 查看和分析 systemd 日志(附实例)

journalctl -b 45

你也可以使用 ​​-x​​ 选项,在显示屏上添加 systemd 错误信息的解释。在某些情况下,这是个救命稻草。

journalctl -xb -p 3
ログイン後にコピー

如何使用 journalctl 查看和分析 systemd 日志(附实例)

journalctl -xb

如何查看某一特定时间、日期的日志记录

​journalctl​​ 功能强大,可以在命令中提供类似英语的参数,用于时间和日期操作。

你可以使用 ​​--since​​ 选项与 ​​yesterday​​、​​today​​、​​tomorrow​​ 或 ​​now​​ 组合。

下面是一些不同命令的例子。你可以根据你的需要修改它们。它们是不言自明的。以下命令中的日期、时间格式为 ​​"YYYY-MM-DD HH:MM:SS"​

journalctl --since "2020-12-04 06:00:00"
ログイン後にコピー
journalctl --since "2020-12-03" --until "2020-12-05 03:00:00"
ログイン後にコピー
journalctl --since yesterday
ログイン後にコピー
journalctl --since 09:00 --until "1 hour ago"
ログイン後にコピー

如何使用 journalctl 查看和分析 systemd 日志(附实例)

journalctl --since 09:00 --until

你也可以将上述内容与错误级别开关结合起来。

如何查看内核特定的日志记录

Linux 内核信息也可以从日志中提取出来。要查看当前启动时的内核信息,请使用以下命令:

journalctl -k
ログイン後にコピー

如何查看某个服务、PID 的日志

你可以从 journald 日志中过滤出某个 systemd 服务单元的特定日志。例如,如果要查看 NetworkManager 服务的日志,请使用下面的命令。

journalctl -u NetworkManager.service
ログイン後にコピー

如何使用 journalctl 查看和分析 systemd 日志(附实例)

journalctl NetworkManager service

如果你不知道服务名称,可以使用下面的命令来列出系统中的 systemd 服务。

systemctl list-units --type=service
ログイン後にコピー

如何查看用户、组的日志

如果你正在分析服务器日志,在多个用户登录的情况下,这个命令很有帮助。你可以先用下面的命令从用户名中找出用户的 ID。例如,要找出用户 ​​debugpoint​​ 的 ID:

id -u debugpoint
ログイン後にコピー

然后使用 ​​_UID​​ 选项指定该 ID 与来查看该用户产生的日志。

journalctl _UID=1000 --since today
ログイン後にコピー

如何使用 journalctl 查看和分析 systemd 日志(附实例)

journalctl _UID

同样地,使用 ​​_GID​​ 选项也可以查到用户组的情况。

如何查看一个可执行文件的日志

你也可以查看某个特定程序或可执行文件的日志。例如,如果你想找出 ​​gnome-shell​​ 的信息,你可以运行以下命令。

journalctl /usr/bin/gnome-shell --since today
ログイン後にコピー

如何使用 journalctl 查看和分析 systemd 日志(附实例)

journalctl gnome-shell

結論

このガイドが、 journalctl を使用して Linux デスクトップまたはサーバー上の systemd ログを表示および分析し、トラブルシューティングを行うのに役立つことを願っています。これらのコマンドの使用方法を知っていれば、systemd ログ管理は非常に強力であり、デバッグ時の作業が容易になります。現在、主要な Linux ディストリビューションはすべて systemd を使用しています。 Ubuntu、Debian、Fedora、Arch はすべて、デフォルトのオペレーティング システム コンポーネントとして systemd を使用します。 systemd を使用しない Linux ディストリビューションについて知りたい場合は、 MX-Linux 、Gentoo、Slackware、Void Linux を参照するとよいでしょう。

以上がjournalctl を使用して systemd ログを表示および分析する方法 (例付き)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

VSCODEに必要なコンピューター構成 VSCODEに必要なコンピューター構成 Apr 15, 2025 pm 09:48 PM

VSコードシステムの要件:オペレーティングシステム:オペレーティングシステム:Windows 10以降、MACOS 10.12以上、Linux Distributionプロセッサ:最小1.6 GHz、推奨2.0 GHz以上のメモリ:最小512 MB、推奨4 GB以上のストレージスペース:最低250 MB以上:その他の要件を推奨:安定ネットワーク接続、XORG/WAYLAND(Linux)

Linuxアーキテクチャ:5つの基本コンポーネントを発表します Linuxアーキテクチャ:5つの基本コンポーネントを発表します Apr 20, 2025 am 12:04 AM

Linuxシステムの5つの基本コンポーネントは次のとおりです。1。Kernel、2。Systemライブラリ、3。Systemユーティリティ、4。グラフィカルユーザーインターフェイス、5。アプリケーション。カーネルはハードウェアリソースを管理し、システムライブラリは事前コンパイルされた機能を提供し、システムユーティリティはシステム管理に使用され、GUIは視覚的な相互作用を提供し、アプリケーションはこれらのコンポーネントを使用して機能を実装します。

Apr 16, 2025 pm 07:39 PM

NotePadはJavaコードを直接実行することはできませんが、他のツールを使用することで実現できます。コマンドラインコンパイラ(Javac)を使用してByteCodeファイル(filename.class)を生成します。 Javaインタープリター(Java)を使用して、バイトコードを解釈し、コードを実行し、結果を出力します。

VSCODEは拡張子をインストールできません VSCODEは拡張子をインストールできません Apr 15, 2025 pm 07:18 PM

VSコード拡張機能のインストールの理由は、ネットワークの不安定性、許可不足、システム互換性の問題、VSコードバージョンが古すぎる、ウイルス対策ソフトウェアまたはファイアウォール干渉です。ネットワーク接続、許可、ログファイル、およびコードの更新、セキュリティソフトウェアの無効化、およびコードまたはコンピューターの再起動を確認することにより、問題を徐々にトラブルシューティングと解決できます。

GITの倉庫アドレスを確認する方法 GITの倉庫アドレスを確認する方法 Apr 17, 2025 pm 01:54 PM

gitリポジトリアドレスを表示するには、次の手順を実行します。1。コマンドラインを開き、リポジトリディレクトリに移動します。 2。「git remote -v」コマンドを実行します。 3.出力と対応するアドレスでリポジトリ名を表示します。

vscode端子使用チュートリアル vscode端子使用チュートリアル Apr 15, 2025 pm 10:09 PM

VSCODEビルトインターミナルは、エディター内でコマンドとスクリプトを実行して開発プロセスを簡素化できるようにする開発ツールです。 VSCODE端子の使用方法:ショートカットキー(CTRL/CMD)で端子を開きます。コマンドを入力するか、スクリプトを実行します。 Hotkeys(Ctrl Lなどの端子をクリアするなど)を使用します。作業ディレクトリ(CDコマンドなど)を変更します。高度な機能には、デバッグモード、自動コードスニペット完了、およびインタラクティブコマンド履歴が含まれます。

vscodeでコードを書く場所 vscodeでコードを書く場所 Apr 15, 2025 pm 09:54 PM

Visual Studioコード(VSCODE)でコードを作成するのはシンプルで使いやすいです。 VSCODEをインストールし、プロジェクトの作成、言語の選択、ファイルの作成、コードの書き込み、保存して実行します。 VSCODEの利点には、クロスプラットフォーム、フリーおよびオープンソース、強力な機能、リッチエクステンション、軽量で高速が含まれます。

vscodeはMacに使用できますか vscodeはMacに使用できますか Apr 15, 2025 pm 07:36 PM

VSコードはMacで利用できます。強力な拡張機能、GIT統合、ターミナル、デバッガーがあり、豊富なセットアップオプションも提供しています。ただし、特に大規模なプロジェクトまたは非常に専門的な開発の場合、コードと機能的な制限がある場合があります。

See all articles