ログ管理

HOME > Linuxtips > ログ管理

ログ管理:記事リスト

ログ管理のカテゴリーには以下の記事がリストされています。

CentOS7でログ容量制限を設定する方法|journaldのSystemMaxUse設定と容量確認

「ログが増えすぎてディスクがいっぱいになった」「journaldの容量制限ってどう設定するの?」
そんな悩みを持つエンジニアは多いです。

CentOS7から採用されたjournaldは、デフォルトでファイルシステムの10%をログ領域として確保します。
放置すると気づかないうちにディスクを圧迫し、サービス停止につながることがあります。

この記事では、journaldのログ容量制限の設定方法と、現在のログ使用量の確認コマンドを解説します。
【この記事でわかること】
・journaldとは?CentOS7のログ管理の仕組み
・journaldのログ容量制限を設定する方法
・その他の容量制限パラメータ
・古いログを手動で削除する方法

続きを読む "CentOS7でログ容量制限を設定する方法|journaldのSystemMaxUse設定と容量確認"

CentOS7でログ保存設定をする

「CentOS7でサーバーを再起動したらjournalのログが消えてしまった。永続化する方法はないのか」
CentOS7のjournaldは、デフォルトでは /run/log/journal(tmpfs)に保存するため、再起動するとログが消えてしまいます。

この記事では、journaldのログを再起動後も保持する永続保存の設定方法を解説します。

【この記事でわかること】

・デフォルトのjournaldログは /run/log/journal(tmpfs)に保存されOSの再起動で消える
・Storage=persistent 設定で /var/log/journal/ に永続保存される
・設定後は systemctl restart systemd-journald.service でサービスを再起動する
・machine-id名のサブディレクトリ配下にログが保存される

続きを読む "CentOS7でログ保存設定をする"

journalctlコマンドでCentOS7のsystemdログを確認する方法|フィルタリング・リアルタイム監視の実践ガイド

「CentOS 7以降でログの確認方法が変わったと聞いたけど、journalctlの使い方がわからない」
「journaldとrsyslogの違いや関係性を理解したい」

この記事では、CentOS 7以降のsystemd環境で使用するjournalctlコマンドの基本的な使い方から、実務でよく使うフィルタリングの方法まで解説します。
【この記事でわかること】
・journalctlはsystemdのログ管理システム(journald)のログを表示するコマンド
・-b でブートログ、-u でサービス別ログ、--since/--until で日時フィルタリングができる
・-f でtailと同様のリアルタイム監視、-e で末尾からジャンプして最新ログを確認できる

続きを読む "journalctlコマンドでCentOS7のsystemdログを確認する方法|フィルタリング・リアルタイム監視の実践ガイド"

Linuxのrsyslogでログ出力先とレベルを設定する方法|/etc/rsyslog.confの書き方を解説

「どのプロセスのログがどのファイルに出力されているのか把握できていない」「特定のサービスのエラーだけを別ファイルに記録したい」

こういった悩みを解決するのが /etc/rsyslog.conf の設定です。Linuxのログ管理は rsyslog(または syslog)デーモンが担っており、どのログをどこに出力するかをこのファイルで細かく制御できます。

【この記事でわかること】

・/etc/rsyslog.confでログのファシリティ・プライオリティ・出力先を設定できる
・ファシリティはログのカテゴリ(kern/mail/cronなど)を意味する
・プライオリティはログの重要度(debug/info/warning/err/critなど)を意味する
・設定変更後はrsyslogサービスの再起動が必要

続きを読む "Linuxのrsyslogでログ出力先とレベルを設定する方法|/etc/rsyslog.confの書き方を解説"

dmesgコマンドでLinuxの起動時ログを確認する方法|grepで情報を絞り込む実例付き

Linuxが起動するとき、カーネルはメモリ・CPU・ストレージ・ネットワークカードなど、あらゆるハードウェアの認識状況をリングバッファ(カーネルの内部メモリ)に記録します。

この記録を読み出すのが dmesg コマンドです。新しいハードウェアを追加した際や、起動時にエラーが発生した際の原因調査に不可欠なコマンドです。

【この記事でわかること】

・dmesgコマンドで起動時のカーネルログ(/var/log/dmesg)を確認できる
・grep・lessと組み合わせることで必要な情報だけを素早く抽出できる
・ハードウェアの認識状況やエラーの有無をdmesgで確認するのが現場の定番
・CentOS 7以降ではjournalctlも合わせて使うと効果的

dmesgコマンドとは

dmesg コマンドは、カーネルのリングバッファに記録されたメッセージを表示します。このリングバッファの内容は /var/log/dmesg ファイルにも保存されていますが、dmesgコマンドを使う方が確実に最新情報を取得できます。

基本的な使い方

1. dmesgの基本実行

[root@Tiger ~]# dmesg Initializing cgroup subsys cpuset Initializing cgroup subsys cpu Linux version 2.6.32-279.el6.i686 (mockbuild@c6b9.bsys.dev.centos.org) ... KERNEL supported cpus: Intel GenuineIntel AMD AuthenticAMD BIOS-provided physical RAM map: BIOS-e820: 0000000000000000 - 000000000009f800 (usable) 〈以下省略〉

情報量が非常に多いため、そのまま流し読みするのは実用的ではありません。以下のように絞り込んで使うのが現場の定番です。

2. lessでページング表示する

[root@Tiger ~]# dmesg | less

Space で次のページ、q で終了します。

3. grepで特定キーワードを抽出する

CPUやメモリ、特定のデバイスに関する情報だけを取り出したい場合は grep と組み合わせます。

# CPU情報だけを表示する [root@Tiger ~]# dmesg | grep CPU Transmeta TransmetaCPU SMP: Allowing 1 CPUs, 0 hotplug CPUs Initializing CPU#0 CPU0: Intel(R) Core(TM) i5 CPU M 520 @ 2.40GHz stepping 02 # メモリ情報を表示する [root@Tiger ~]# dmesg | grep -i memory # ネットワークカードの認識状況を確認する [root@Tiger ~]# dmesg | grep -i eth

応用・よく使う絞り込み例

エラーや警告メッセージを確認する

起動時に問題が発生していないかを確認する際は、エラーや警告メッセージを優先して確認します。

# エラーメッセージを確認する [root@Tiger ~]# dmesg | grep -iE "error|fail|warn"

ストレージデバイスの認識状況を確認する

新しいHDD・SSDを追加した際の認識状況を確認できます。

# SATAデバイスの認識状況 [root@Tiger ~]# dmesg | grep -i sda [ 2.345678] sd 0:0:0:0: [sda] 976773168 512-byte logical blocks: (500 GB/465 GiB) [ 2.345900] sd 0:0:0:0: [sda] Write Protect is off

タイムスタンプ付きで表示する(CentOS 7以降)

CentOS 7/RHEL 7以降では -T オプションで人間が読みやすい形式のタイムスタンプを付与できます。

[root@server ~]# dmesg -T | tail -20 [Tue Apr 7 10:30:01 2026] usb 1-1: new high-speed USB device number 3 using xhci_hcd [Tue Apr 7 10:30:01 2026] usb 1-1: New USB device found, idVendor=0781, idProduct=5567

トラブルシュート

「dmesg: read kernel buffer failed: Operation not permitted」が出る場合

CentOS 7.6以降やRHEL 8以降では、一般ユーザーはdmesgを実行できなくなった場合があります。

# root権限で実行するか、sysctl設定を変更する [root@server ~]# dmesg # または $ sudo dmesg

本記事のまとめ

・dmesg:カーネルのリングバッファに記録された起動時ログを表示
・dmesg | less:ページング表示で読みやすく
・dmesg | grep CPU:特定キーワードで絞り込む
・dmesg | grep -iE "error|fail|warn":エラー・警告を抽出
・CentOS 7以降では dmesg -T でタイムスタンプ付き表示が可能

続きを読む "dmesgコマンドでLinuxの起動時ログを確認する方法|grepで情報を絞り込む実例付き"

lastlogコマンドで最終ログイン記録を確認する方法|ユーザー別の確認と活用例

サーバー管理をしていると「このユーザー、本当に最近ログインしているのか?」「不審なアカウントが使われていないか確認したい」という場面が出てきます。

Linuxでは、各ユーザーの最終ログイン時刻を記録した /var/log/lastlog ファイルが存在します。このファイルはバイナリ形式のため、cat や less では読めません。専用の lastlog コマンドを使って参照します。

【この記事でわかること】

・lastlogコマンドで全ユーザーの最終ログイン時刻を一覧表示できる
・-uオプションで特定ユーザーの最終ログインだけを絞り込める
・/var/log/lastlogはバイナリ形式のためcatコマンドでは読めない
・セキュリティ監査でlastlogを使う実務的な手順を解説

続きを読む "lastlogコマンドで最終ログイン記録を確認する方法|ユーザー別の確認と活用例"

セキュリティ関連のログを表示する

「不正アクセスの痕跡やSSHの認証失敗を確認したい」
Linuxのセキュリティ関連のログは /var/log/secure(または /var/log/auth.log)に記録されています。

この記事では、セキュリティログの確認方法と、不審なログの読み方を解説します。
【この記事でわかること】
・/var/log/secure(CentOS/RHEL)または /var/log/auth.log(Ubuntu/Debian)にSSH認証やsudoのログが記録される
・tail -f /var/log/secure でセキュリティログをリアルタイム監視できる
・grep "Failed password" /var/log/secure で認証失敗の試行を一覧抽出できる
・journalctl -u sshd でRHEL 7以降のSSHセキュリティログを確認できる

続きを読む "セキュリティ関連のログを表示する"

インストールログを確認する

「Linuxのインストール後に、何がインストールされたか確認したい」
そんなときに役立つのが、インストールログファイルです。

CentOS 6以前では /root/install.log に、RHEL 7 / CentOS 7以降では /var/log/anaconda/ ディレクトリにインストールログが保存されます。

この記事では、各バージョンのインストールログの場所と確認方法を解説します。
【この記事でわかること】
・インストールログは /var/log/yum.log や /var/log/dnf.log で確認できる
・yum history や dnf history でトランザクション履歴を管理できる
・rpm -qa --last でパッケージのインストール日時を確認できる

続きを読む "インストールログを確認する"

Linux無料マニュアル(図解60P) 名前とメールで30秒登録