Mac
 Computer >> コンピューター >  >> トラブルシューティング >> Mac

LinuxとMacでログファイルを理解する方法――基本コマンドからログ管理ツールまで

Linuxでトラブルが発生したとき、その原因を突き止めるのは悪夢のような作業になりがちです。しかも、問題が断続的に起こり、何が原因なのかさえ分からないとなれば、その難易度はさらに倍増します。

Stack Overflowを何時間も読み漁り、Redditで助けを求めることもできるでしょう。あるいは、自分の手でシステムのログファイルに飛び込み、問題の原因を探るという選択肢もあります。

ログファイルとは?

Windows、Mac、Linuxを問わず、多くのプログラムは動作中にログファイルを生成します。Androidでさえ例外ではありません。ログファイルとは、プログラムがどのように動作しているかに関する情報を記録したプレーンテキストファイルのことです。各イベントは個別の行に記録され、秒単位のタイムスタンプが付与されます。

すべてのアプリケーションに当てはまるわけではありませんが、ログファイルは通常 /var/log ディレクトリに保存されています。

LinuxとMacでログファイルを理解する方法――基本コマンドからログ管理ツールまで

これらのファイルに含まれるデータの大半はごく平凡なもので、必ずしも問題を示すものではありません。単に、プログラムがある時点で何をしていたかを記録した更新情報にすぎません。

しかし、問題が発生したときは、その情報が必ずログファイルの中に残っています。この情報は、問題の解決に役立てたり、詳しい人に具体的な質問をする際の材料にしたりできます。

では、ログファイルを扱う際、必要な情報だけをどうやって切り出せばよいのでしょうか?

標準的なLinuxユーティリティを使う

前述のとおり、ログファイルは特定のプラットフォーム専用のものではありません。とはいえ、この記事ではLinuxとOS Xに焦点を当てます。この2つのOSには、ログを解析するために不可欠なUNIXコマンドラインツールが標準で搭載されているからです。

ログファイルはプレーンテキストなので、テキストファイルの閲覧に使える任意のツールを利用できます。中でもgrepは習得が最も難しい一方で、最も有用なツールです。特定のファイル内からキーワードやフレーズを検索できます。構文は grep [検索語] [ファイル名] です。

LinuxとMacでログファイルを理解する方法――基本コマンドからログ管理ツールまで

より高度な使い方としては、正規表現(RegEx)を使えば、ピンポイントで目的の語句や項目を検索できます。正規表現は魔法のように見えるかもしれませんが、実際にはコツをつかめばそれほど難しくありません。

次に「head」と「tail」コマンドです。名前から役割は想像がつくでしょう。それぞれ、ファイルの先頭10行と末尾10行を表示します。ログファイルの最新の記録を確認したい場合は「tail ファイル名」を実行します。

LinuxとMacでログファイルを理解する方法――基本コマンドからログ管理ツールまで

-n オプションを使えば表示行数を変更できます。たとえば、ファイルの先頭20行を見たい場合は、次のコマンドを実行します。

head -n 20 [ファイル名]

LinuxとMacでログファイルを理解する方法――基本コマンドからログ管理ツールまで

ファイル全体を閲覧したい場合は「cat」ユーティリティを使います。ただし、ログファイルは数十万行に及ぶこともあるため、そのままでは少し扱いづらいかもしれません。そんなときは、lessユーティリティにパイプして、1ページずつ表示するのがおすすめです。実行コマンドは以下のとおりです。

cat [ファイル名] | less

LinuxとMacでログファイルを理解する方法――基本コマンドからログ管理ツールまで

また、「sed」と「awk」を使う方法もあります。この2つのユーティリティを使えば、テキストファイルを処理する簡単なスクリプトを作成できます。

最後に、自信があるならvimテキストエディタも試してみるとよいでしょう。ログファイルの解析を簡単にする組み込みコマンドが多数用意されています。なお、32ビット版のvimは最大ファイルサイズが2GBですが、パフォーマンスの観点から、それほど巨大なファイルでの使用はおすすめしません。

ログ管理ソフトウェアを使う

手作業が面倒だったり、もっと視覚的なツールを使いたかったりする場合は、ログ管理アプリケーションの利用を検討するとよいでしょう(SIEM=Security Information and Event Managementと混同されがちですが、別物です)。

これらのツールの優れた点は、面倒な作業の大半を自動化してくれることです。多くの製品はログを分析して問題を自動的に検出できるほか、見やすいグラフやチャートでログを可視化するため、アプリケーションがどれほど安定して動作しているかを把握しやすくなります。

最も有名なログ管理ソフトの一つがSplunkです。このツールはWebインターフェース経由でファイルを操作でき、強力かつ柔軟な独自の検索処理言語を備えているため、結果をプログラマブルに掘り下げて調べられます。

Splunkは数え切れないほどの大企業で採用されており、Mac、Windows、Linux向けに提供されています。さらに無料版もあり、個人や小規模ビジネスのユーザーでもログ管理に利用できます。

この無料版「Splunk Light」は、エンタープライズ版と多くの共通点を持っています。ログの閲覧、ファイルの問題監視、異常検知時のアラート発行などが可能です。

ただし、Splunk Lightにはいくつかの制限があります(とはいえ、いずれも妥当な範囲です)。まず、1日に取り込めるデータ量は500MBまでです。それでも足りない場合は、有料版のSplunk Lightにアップグレードすれば、1日20GBのログを処理できます。とはいえ、現実的にはほとんどのユーザーがそこに達することはないでしょう。

また、サポートされるユーザー数は5人までです。家庭用のWebサーバーやファイルサーバーで運用する程度なら、ほとんどの人にとって問題にならないはずです。

Splunkにはクラウド版もあり、クライアントをマシンにインストールしたくない場合や、リモートサーバーが複数ある場合に最適です。ただし、難点は高額なコストです。最も安いプランでも月額125ドルからとなります。

かなりの出費ですね。

あなたはログファイルをどう活用していますか?

今回は、ログファイルを調査してトラブルシューティングに必要な情報を見つける方法を、自力での調査とリモートサポートの両方の観点から紹介しました。もっと良い方法をご存じですか? ログ管理ソフトを使っていますか? それとも標準的なLinuxユーティリティでしょうか?

ぜひコメント欄でお聞かせください。

  1. Macで削除したファイルを復元できないようにする方法|手動とソフト両方の手順を解説

    テクノロジーの進化とともに、セキュリティは最も重要な関心事の一つとなっています。WindowsでもMacでも、高度なサイバー攻撃、なりすまし(アイデンティティ盗難)、マルウェアの脅威とは無関係ではいられません。だからこそ、パソコン上のデータを守るのは自分自身の責任なのです。 古いデバイスを売却する前など、ハードドライブからデータを完全に消去したい場面は少なくありません。しかし、ファイルをゴミ箱にドラッグしてゴミ箱を空にするだけでは、ファイルは完全には削除されません。これは単にMacのファイルディレクトリからファイルを外しているだけであり、適切な復元ツールを使えば簡単に復元できてしまいます。削除

  2. Macでファイルとフォルダーを整理する方法|デスクトップをすっきり整頓する実践ガイド

    「良い秩序はすべての物事の基盤である」という言葉があります。あなたも同意しませんか?物を整理することは一度きりの作業ではなく、楽しみながら続けるべき「旅」のようなものです。家でも、仕事の机でも、身の回りの環境でも、整理整頓ができていれば生産性が向上し、手間を最小限に抑えながらより多くのことを達成できます。 さて、あなたが最後に単調な日常から時間を作って、Macの散らかったデスクトップを整理したのはいつでしょうか?そう、デスクトップはファイルやフォルダーが最初に置かれる場所であり、そのまま永遠に放置されがちな場所でもあるのです。 人には大きく分けて2種類います。1つ目は、散らかっていてもそれなり