ログと外部サポート

◆ Live配信スケジュール ◆
サイオステクノロジーでは、Microsoft MVPの武井による「わかりみの深いシリーズ」など、定期的なLive配信を行っています。
⇒ 詳細スケジュールはこちらから
⇒ 見逃してしまった方はYoutubeチャンネルをご覧ください
【4/18開催】VSCode Dev Containersで楽々開発環境構築祭り〜Python/Reactなどなど〜
Visual Studio Codeの拡張機能であるDev Containersを使ってReactとかPythonとかSpring Bootとかの開発環境をラクチンで構築する方法を紹介するイベントです。
https://tech-lab.connpass.com/event/311864/

こんにちは。サイオステクノロジー OSS サポート担当 山本 です。

突然ですが、弊社では OSS よろず相談室というサポートサービスを提供しています。
当サポートではシステムトラブルに関するご相談をいただくこともありますが、その際はまずログやシステム情報などを始めとした各種情報のご提供をお願いすることが多かったりします。
ということで、今回はなんでサポートはログを要求するのかにも軽く触れながら、ログについてぼんやりとお話ししてみようと思います。

■そもそもログって?

まずそもそも “ログ” というのは、ざっくりと記録を指す言葉です。
元々は昔々にあった、船の航海記録を指す “logbook” が大元の言葉とのことです。

コンピュータ関連でも、「ログ」と言えば基本的には何らかの記録のことです。
・どこで記録されたものなのか (アプリケーションログなど)
・何を記録したものなのか (エラーログ、アクセスログなど)
・どこに出力されるのか (コンソールログなど)
…等々、様々な観点からいろいろな呼ばれ方のログがありますが、これらのようなコンピュータ関連のログは大体の場合 OS や各種ソフトウェア、アプリケーションなどの何らかのプログラムの処理の一部として自動的に記録されるものです。
勿論、プログラムによる記録ではなくてもログと呼ばれるものはあります。例:チャットログなど

こういったプログラムによって記録されるログは、大抵はその時に何が起こっていたのかを後で人間が確認するために記録されるものです。
そのため、これらのログはファイル (テキストファイルなど) を記録先として保存されることが多いハズです。
このようなプログラムによって記録されるログが記録されたファイルが、ログファイルです。

■ログは何に使えるの?

ログはあくまで記録なので、普通はただ残しておくだけで何か起こるというものではありません。
何かに活用…例えば、ログからプログラムの動作内容を確認するなど…して、初めて役に立つものです。

中でも特にわかりやすくログが役立つケースは、何らかの問題が起こってしまった際に、その原因を探りたい場合などが考えられます。

問題が発生してしまったのであれば、原因を調べて対策を講じる必要があるでしょう。
ただ「システム (コンピュータ) で何らかの問題が発生した」と言っても、
インストールされているプログラムの問題なのか、プログラムの問題だとしてもどのプログラムが原因なのか、あるいは機器に問題が発生しているのか、機器のスペック不足なのか、外部と通信しているのならネットワークや外部のシステム側の問題の可能性は、etcetc……
考えうる被疑箇所は非常に多岐に渡り、手掛かりなしで原因を探すのは困難を極めます。

そこで、原因調査のための足掛かりの一つとしてログが使えます。

まず、今日では広く公開されているプログラム (例えば、OSS など) では、特定の状況・条件 (例えば、送られてきたデータがおかしい処理の途中で通信先から通信を切断されたなど) で問題が発生することがわかっている箇所に、実際に問題が発生した場合にどんな問題が発生したのかのログ (エラーログ) が記録できるようにされていることが少なくありません。
こういったエラーログがあれば、問題の原因にグッと近づくことができます。

もしエラーログが見つからなかったとしても、問題が発生した日時の付近のログそれらのログと類似の処理をしていた別の日時のログを探して見比べる (例えば、普段は出ていたログが出ていない、ログが途中で途切れているなど) ことで、問題の発生したタイミングや原因のヒントを得られる可能性があります。

仮にエラーログ普段とは違うログなどが全く見つからなかったとしても、少なくともログに記録されるような問題はなかったという間接的な手掛かりを得ることができる、と考えることもできます。

このように、問題が発生したときの調査の手掛かりとして使うことができる、というのがログの主な用途の一つとして考えられます。
ただし、必ずしもログから手掛かりが得られるわけではないですし、何か手掛かりが得られても “原因の原因” が存在する可能性を忘れてはなりませんし、何も手掛かりがなくても「ログに何もないから何も問題は発生していない」とするのは早計です。
あくまでログは “手掛かりの一つ” であることには気を付けてください。

■外部サポートとログファイル

システムで何らかの問題が発生した時、その問題の解決のために外部のサポート……例えば、当該製品のサポートや弊社の OSS よろず相談室など……に調査を依頼することもあるかと思います。

しかしこの時、問題が発生したシステムを所有しているのはあくまでサポートを受ける依頼者側でであり、外部のサポートは問題の発生したシステムを持っているわけではありません。そのため当然ながら、外部のサポートが問題の発生したシステムを直接使って調査や検証を行うことはできません。
なお悪いことに、システムは多数の要素 (導入・作成した各種プログラムや物理的な機器など) で構成されており、外部のサポートが問題が発生したシステムと同じシステムを用意するのも現実的に不可能です。
つまり、発生した問題について外部のサポートが使うことのできる判断材料は、基本的に依頼者側から伝えられた情報のみということになります。

更に更に悪いことに、システムは多数の要素で構成されているために、”一見問題が発生しているように見える要素” と “実際の問題の原因となっている要素” が異なっている可能性もあります。
外部のサポートは普通、サポートする範囲を限定している (極端な話、テレビの販売業者に「テレビを使っていた家が壊れた。なんとかして」と問い合わせても対応してもらえないように) ため、何らかの手段で発生した問題がサポートの範囲内であることを示さなければなりません。

つまり、外部のサポートに問題の調査を依頼するならば問題が発生したことを客観的に示せる情報問題の調査に必要になる情報などは必要不可欠になります。

……しかし一方で、依頼者側としては問題の原因の手掛かりがわからない……それこそ先述のような外部サポート側が必要とする情報がどこにあるかもわからないなどのような……からこそ外部のサポートに依頼をしたい、ということも少なくないことでしょう。
さて、困りました。”わからないからこそ手掛かりとなる情報が欲しい” 依頼者側と “情報がなければ調査することができない” 外部サポート側、これでは平行線です。なんとかできないでしょうか。

こういった時こそログファイルが役立ちます。

先述のとおり、ログは通常プログラムの処理の一部として自動的に記録されるものなので、ログはそのシステムで発生していた状況の客観的な証拠として扱うことができます。
また先述のとおり、ログには問題の調査のための手掛かりが記録されている可能性もあります。

そう、システムの問題の調査を外部のサポートに依頼する際、ログには外部のサポートが最低限必要とする情報が含まれている可能性が高いのです。
また、ファイル形式で保存されているログファイルであれば外部のサポートへ渡すことも簡単です。
このため、外部のサポートにシステムの問題の調査を依頼する場合には、ログはとりあえず最初に渡す情報として便利なものであると言えます。
勿論、ログだけでは情報が不足していたり、そもそも何も読み取れないケースもあるため、ログさえ渡せば大丈夫というものではないという点には留意してください。

■最後に

今回はログと外部サポートを使う際のログの重要性についてお話してみました。

システム上で問題が発生した時、内部で調査するにも外部のサポートに調査を依頼するにもログは重要な手掛かりの一つである、ということを頭の片隅に置いておいていただければと思います。

アバター画像
About 山本 53 Articles
元サーバサイドエンジニアのサポートエンジニア。「物事は理解できれば活路が見出せる可能性がある」という信条のもと、今日も石橋を叩く。
ご覧いただきありがとうございます! この投稿はお役に立ちましたか?

役に立った 役に立たなかった

0人がこの投稿は役に立ったと言っています。


ご覧いただきありがとうございます。
ブログの最新情報はSNSでも発信しております。
ぜひTwitterのフォロー&Facebookページにいいねをお願い致します!



>> 雑誌等の執筆依頼を受付しております。
   ご希望の方はお気軽にお問い合わせください!

Be the first to comment

Leave a Reply

Your email address will not be published.


*


質問はこちら 閉じる