サーバーのユーザーと管理者、またはログファイルを読み取ったことのないLinuxベースのワークステーションでさえ想像することは不可能です。 オペレーティングシステムと実行中のアプリケーションは、さまざまなログファイルに記録されるさまざまな種類のメッセージを常に作成します。 目的のログファイルとその中の検索対象を決定する機能により、時間を大幅に節約し、エラーをより迅速に排除できます。
ロギングは、システムの動作とそのエラーに関する主な情報源です。 この短いガイドでは、オペレーティングシステムのログ、ディレクトリ構造、およびログの読み取りと参照のためのプログラムの主な側面について説明します。
メインログファイル
すべてのログファイルは、次のカテゴリのいずれかに割り当てることができます。
- 用途
- イベント
- サービス;
- 全身。
ほとんどのログファイルは、 /var/log
ディレクトリに含まれてい/var/log
。
- / var / log / syslogまたは/ var / log / messagesには、システムの起動時、Linuxカーネル、さまざまなサービス、検出されたデバイス、ネットワークインターフェイスなどからメッセージが書き込まれるグローバルシステムログが含まれます。
- /var/log/auth.logまたは/ var / log / secure-成功したログイン試行と失敗したログイン試行、および関連する認証メカニズムを含むユーザー認証に関する情報。
- / var / log / dmesg-デバイスドライバー。 同じコマンドを使用して、ファイルの内容の出力を表示できます。 ログのサイズは制限されています。ファイルが制限に達すると、古いメッセージは新しいメッセージで上書きされます。 キー
--level=
することにより、有意性基準で出力をフィルタリングできます。
(): emerg - alert - crit - err - warn - notice - , info - debug - (5:520)$ dmesg -l err [1131424.604352] usb 1-1.1: 2:1: cannot get freq at ep 0x1 [1131424.666013] usb 1-1.1: 1:1: cannot get freq at ep 0x81 [1131424.749378] usb 1-1.1: 1:1: cannot get freq at ep 0x81
- /var/log/alternatives.log-update-alternatives
update-alternatives
の出力。デフォルトでは、コマンドまたはライブラリへのシンボリックリンクが含まれています。 - /var/log/anaconda.log-システムのインストール中に記録されたエントリ。
- / var / log / audit -
auditd
監査auditd
によって作成されたエントリ。 - /var/log/boot.log-オペレーティングシステムの起動時に書き込まれる情報。
- / var / log /
crond
実行可能なコマンドおよびコマンド自体からのメッセージに関するcrond
サービスのレポート。 - / var / log / cups-印刷およびプリンターに関連するすべて。
- / var / log / faillog-ログイン試行の失敗。 セキュリティシステムの脅威、ハッカー攻撃、ブルートフォースによるハッキングの試みをチェックする場合に非常に便利です。
faillog
を使用して内容を読むことができます。 - var / log / kern.log-ログには、カーネルからのメッセージと、カーネルに組み込まれたユーザーモジュールのエラーの解決に役立つ警告が含まれています。
- / var / log / maillog /または/var/log/mail.log-OSで使用されるメールサーバーのログ。
- /var/log/pm-powersave.log-バッテリー節約サービスに関するメッセージ。
- / var / log / samba /
Samba
ファイルサーバーをログに記録します。これは、Windows共有フォルダーにアクセスし、WindowsユーザーにLinux共有フォルダーへのアクセスを提供するために使用されます。 - / var / log /スプーラー -古い学校の代表者のために、USENETメッセージが含まれています。 ほとんどの場合、空で放棄されています。
- /var/log/Xorg.0.log-Xサーバーのログ。 ほとんどの場合役に立たないが、EEで始まる行がある場合は、それらに注意を払う必要がある。
各ディストリビューションには、個別のパッケージマネージャーログがあります。
- /var/log/yum.log-RedHat Linuxで
Yum
を使用してインストールされたプログラム用。 - /var/log/emerge.log-Gentoo Linuxで
emerge
を使用してPortage
からインストールされたebuild
場合。 - /var/log/dpkg.log-Debian Linuxおよび関連するディストリビューションのファミリー全体に
dpkg
でインストールされたプログラム用。
そして、いくつかのバイナリログは、ユーザーセッションを会計します。
- / var / log / lastlog-最後のユーザーセッション。
last
コマンドで読むことができます。 - / var / log / tallylog-失敗したログイン試行を監査します。
pam_tally2
ユーティリティを使用して表示します。 - / var / log / btmp-失敗したログイン試行のもう1つのログ。 念のため、ハッカーの活動の痕跡を探す場所がわからない場合に備えて。
- / var / log / utmp-現在のユーザーログインのリスト。
- / var / log / wtmp-ユーザーログインエントリの別のログ。
utmpdump
コマンドを使用して画面に表示します。
(5:535)$ sudo utmpdump /var/log/wtmp [5] [02187] [l0 ] [ ] [4.0.5-gentoo ] [0.0.0.0 ] [ 11 16:50:07 2015] [1] [00000] [~~ ] [shutdown] [4.0.5-gentoo ] [0.0.0.0 ] [ 11 16:50:08 2015] [2] [00000] [~~ ] [reboot ] [3.18.12-gentoo ] [0.0.0.0 ] [ 11 16:50:57 2015] [8] [00368] [rc ] [ ] [3.18.12-gentoo ] [0.0.0.0 ] [ 11 16:50:57 2015] [1] [20019] [~~ ] [runlevel] [3.18.12-gentoo ] [0.0.0.0 ] [ 11 16:50:57 2015]
その他の雑誌
オペレーティングシステムは、Linuxのようなすばらしいシステムであっても、具体的なメリットをもたらさないため、ほとんどの場合、データベース、Webサーバー、およびさまざまなアプリケーションがサーバーまたはワークステーション上で回転します。 各アプリケーションまたはサービスは、イベントおよびエラーログの独自のファイルまたはディレクトリを保持できます。 それらのすべてをリストすることは当然不可能であり、ごく少数です。
- / var / log / mysql / -MySQLデータベースログ。
- / var / log / httpd /または/ var / log / apache2 /-Apache Webサーバーログ、アクセスログは
access_log
に、エラーはerror_log
ます。 - / var / log / lighthttpd /-Webサーバーログlighttpd。
ユーザーのホームディレクトリには、グラフィカルアプリケーションログDEが含まれている場合があります。
- 〜/ .xsession-errors -X11グラフィカルアプリケーションの
stderr
エラー出力。
Initializing "kcm_input" : "kcminit_mouse" Initializing "kcm_access" : "kcminit_access" Initializing "kcm_kgamma" : "kcminit_kgamma" QXcbConnection: XCB error: 3 (BadWindow), sequence: 181, resource id: 10486050, major code: 20 (GetProperty), minor code: 0 kf5.kcoreaddons.kaboutdata: Could not initialize the equivalent properties of Q*Application: no instance (yet) existing. QXcbConnection: XCB error: 3 (BadWindow), sequence: 181, resource id: 10486050, major code: 20 (GetProperty), minor code: 0 Qt: Session management error: networkIdsList argument is NULL
- 〜/ .xfce4-session.verbose-log -XFCE4デスクトップメッセージ。
閲覧方法-lnav
ほとんどの人は、 less
ユーティリティとtail -f
コマンドについて知っています。 vim
エディターおよびファイルマネージャーであるMidnight Commanderも、これらの目的で機能します。 誰もが独自の欠点を持っています:長い行のあるログを気にせず、バイナリと見なします。 Midnight Commanderは、複雑なテンプレートを検索したり、試合を何度も行ったり来たりする必要がない、流fluentな視聴にのみ適しています。 vim
エディターは多くの形式の構文を理解して強調していますが、ログが頻繁に更新されると、ファイルの変更に関する注意をそらすメッセージが表示されます。 ただし、これは<:view /path/to/file>
簡単に回避でき<:view /path/to/file>
。
最近、復号化ログファイルナビゲーターで、有用で有望な別のユーティリティが見つかりましたが、まだ少し生のユーティリティlnavが見つかりました。
1つのコマンドで通常どおりパッケージをインストールします。
$ aptitude install lnav #Debian/Ubuntu/LinuxMint $ yum install lnav #RedHat/CentOS $ dnf install lnav #Fedora $ emerge -av lnav #Gentoo, package.accept_keywords $ yaourt -S lnav #Arch
Lnavログナビゲーターは、多くのファイル形式を理解しています。
- Access_log Webサーバー。
- CUPS page_log
- syslog
- グログ
- dpkg.log
- 痕跡
- 任意のタイムスタンプ付き録音
- gzip、bzip
- VMWare ESXi / vCenter Magazine
この場合、ファイル形式を理解することは何を意味しますか? トリックは、 lnavはテキストファイルを表示するためのユーティリティ以上のものであるということです。 プログラムは他のことを行うことができます。 一度に複数のファイルを開き、それらを切り替えることができます。
(5:471)$ sudo lnav /var/log/pm-powersave.log /var/log/pm-suspend.log
プログラムはアーカイブファイルを直接開くことができます。
(5:471)$ lnav -r /var/log/Xorg.0.log.old.gz
<i>
キーを押すと、情報メッセージ、警告、エラーのヒストグラムを表示します。 これは私のsyslogからです。
Mon May 02 20:25:00 123 normal 3 errors 0 warnings 0 marks Mon May 02 22:40:00 2 normal 0 errors 0 warnings 0 marks Mon May 02 23:25:00 10 normal 0 errors 0 warnings 0 marks Tue May 03 07:25:00 96 normal 3 errors 0 warnings 0 marks Tue May 03 23:50:00 10 normal 0 errors 0 warnings 0 marks Wed May 04 07:40:00 96 normal 3 errors 0 warnings 0 marks Wed May 04 08:30:00 2 normal 0 errors 0 warnings 0 marks Wed May 04 10:40:00 10 normal 0 errors 0 warnings 0 marks Wed May 04 11:50:00 126 normal 2 errors 1 warnings 0 marks
さらに、構文の強調表示、タブ補完、およびステータスバーのさまざまなユーティリティがサポートされています。 欠点には、動作の不安定性と凍結が含まれます。 私の意見では、 lnavが積極的に開発され、非常に有用なプログラムになることを願っています。