救急室(1)-概要

よく『サービスがダウンした』とか『システムが止まった』という表現を現場では使いがちです。
実際に、この状況とは、『わけもわからず、いつもと違う』ことぐらいしか理解できていない為、この報告とともに『原因はこれから調査します』と、言う事になります。

システムの分類

システムは大きく分類分けすると以下のようになります。

  1. 端末    :PCや携帯、あるいはPC上のブラウザやアプリ
  2. ネットワーク:端末からサーバへの接続経路
  3. サーバ   :WEB、アプリ、DBサーバといった集約機能

少なくとも、どこで問題が起きているのか特定したいところですが、表面からは同じ現象になってしまう事があります。
いつも、悩むことですが、1から3の順番で調査していくべきか、3から調べるべきか。この順番は対応時間に大きな差をつけます。とはいうものの、3から始めて発生箇所を特定できた事はあまりありません。
自分の中で整理する上でも1から確認した方が、結果として早く特定できた経験が多いです。

なぜ? 「1、端末」 から調べた方が早く特定できるのか。

システムは、以下の問題を含んでいます。

  1. 正常と異常の判断がつかない
  2. サーバから端末と同様、ネットワークもアプリも原因から発生している場所へは枝葉のように分岐していく
  3. 現象が、全ての端末でおきているとは限らない

一番大きいのは1、になります。システムとは電源やICチップを除くと人がコードを書いています。ファームや、ドライバとかなりハードウェアに近いところまでコードが内在しています。
また、各階層毎に専門技術者がおり、多くの人が携わっています。コードと言うとIT専用になりますが、実際のところ文章であり、伝言ゲームに近いものがあります。CPUでコードを書いた人とOSでコードを書いた人、ネットワーク機器でコードを書いた人、そしてアプリでコードを書いた人同士での伝言です。

よくある光景は、CPUでは問題があると表現しているのに対し、OSではもう一回やるからいいよ。とか、きく必要なかったんだけど、聞くのをやめるのは手間なので、無視するようにしておくね。

これは、実際のログを見た人であれば、わかると思いますが、エラーや警告といったメッセージが大量にでています。そして、本来、見るべきエラーや警告が埋もれてわからない。警告も連続4回までは問題なしとして扱うというのも同様に埋もれてしまいます。

端末のログを確認し、以前と違うエラーや警告はないかを確認するのが、正確に把握する事につながります。途中のネットワークのログやサーバのログをいきなりみて、エラーや警告を見極めるのは、誤判断を招く可能性が高く、結果として時間がかかる事になります。