障害事例:ネットワークの理(6)

エラーパターンの闇にひそむもの(下)

塩田紳二 (協力:NECフィールディング
2004/3/18

【前回起きた障害の状況】
得意先の飲食店で売り上げデータを通信するストコンに異常発生。TAや配線、ストコンをチェックしてみると問題がない……
前回の記事「エラーパターンの闇にひそむもの(上)を読む
     主人公:松島
主人公の先輩: 師匠
 エラーにパターンがある?

 いままでの経験からいうと、エラーには何かしらのパターンがある。エラーがランダムに起こっているように見えても、その裏には何かロジックがあり、それがパターンとして表れるわけだ。だから、そのパターンさえ見つけることができれば、原因を推測することもある程度できる。ただ、問題なのは、パターンを見つけるのが難しいってことだ。

 まずは、システムのログを整理してみることにした。ログから通信関連のところだけを切り出して、表計算ソフトに読み込んでみた。

 それから分かったのは、昼間はエラーが少ないのに対して、夜は確実にエラーが発生している。時間に対して何らかの依存性があるようだ。ただ、各店舗が通信を開始する時間は、センター側に通信が集中しないように各端末で分散するように作られている。店舗をグループ化して、時間帯を分けて通信を行う。しかし、ある日は、通信ができた時間でも、別の日はエラーになっていることがあった。特定の時間以降はエラーというわけでもないようだ。

 また、夜中になるとエラーが起きなくなる。ただ、データ処理の関係上、あまり送信時間を遅くすることができない。Z屋では、店舗からのデータを基に、食材などの在庫を補充している。そのトラックにデータ処理の結果、積み荷の指示を出さねばならないし、トラックは、決まった時間に出発しないと配送ができないからである。

取りあえず、機器全部交換してみるかなぁ(松島)

 センター側は、200店以上もある店舗のデータ処理をしているため、おいそれと止めることも難しい。センター側に余裕があるのなら、エラーがあった店だけを特別扱いするということも可能なのだが、今回はそうもいかない。何としてでも、店舗側で対処する必要があるのだ。それに、この障害がもし、ほかの店舗でも発生したら大問題だ。各店舗は同じシステムを入れているので、同じことが起こる可能性は低くはない。

 おそらく明日の夜もエラーが起きるだろう。下手をすると昼間にも起こるかもしれない。もうあまり時間がない。もう最後の手段しかないか……。

松島:「佐藤君、何か分かった?」
佐藤:「いえ、何にも」
松島:「取りあえず、機器全部交換してみるかなぁ」
佐藤:「そうですね。一応準備してありますから、やってみます」
松島:「じゃ、始めようか……」

 僕たちは、ストコンやTA(ターミナルアダプタ)をテスト済みの新品と置き換えてみた。でも、頭の片隅に、たぶんダメだろうって気がしていた。機器の故障は頻繁に起きるものではないし、まったく動かないとか、落ちるとかもっと派手な現象が起こる場合がほとんど。経験から僕は、原因がほかにあると思っていた。しかし、それが何だか分からない。

 次の日、やっぱりエラーは起こった。

 やはりここに来てしまった

 僕は、出社すると、早々に外出した。お客さんのところに寄ってからZ屋へ調査に行くといって。しかし、僕が向かったのは、中野にある師匠の家だった。昨晩、佐藤君からの電話でエラーが起こったことを聞いた。もう僕には手に負えそうもないからである。

 その日、師匠は機嫌が良かった。どうも本業の方でいい出物を見つけたらしい。師匠の本業は、古本屋である。どうも業界では有名な店らしいが、僕は興味がないのでさっぱり分からない。

あのね、ちょっと見て簡単に分かるようなパターンなら、誰でも気が付くでしょ。人間なんだからカンを働かせないと(師匠)

松島:「で、今日は、また教えていただきたいことがあってやって来たのですが」
師匠:「そうだろう。理由がなければ来ないものね。今度は何なの」

 僕は、Z屋の障害について話し始めた。師匠は、何かパソコンで画面を見ながら、話を聞いている。話し終わると、いきなり、

師匠:「ログ見せて」
松島:「ログですか……。えっとこれです」

 と僕はログそのものと、自分で整理した表計算のファイルを入れたフロッピーディスクを出した。

師匠:「フロッピーなんてまだ使ってるんだ」
松島:「はあ」
師匠:「読むのが面倒だなぁ。このマシン、フロッピーないんだよ。今度からCDに焼いてきてよ」
松島:「はい、そうします」

 と師匠は、ほかのマシンにフロッピーを入れるとがさごそと操作し始めた。

師匠:「君、パターン見つけた?」
松島:「調べてみたんですが、見つけられなくて」
師匠:「君ね、明らかなパターンなんてどこにもないよ」
松島:「はぁ?」
師匠:「あのね、ちょっと見て簡単に分かるようなパターンなら、誰でも気が付くでしょ。人間なんだからカンを働かせないと」
師匠:「パターンは、ログだけ見ててもダメだよ」
松島:「どういうことでしょうか?」
師匠:「つまりね、何かのパターンができるってことは、何か原因があるってことだ」
松島:「そうなりますね」
師匠:「だとすると、それは、コンピュータの中か外にある」

 問題はコンピュータの中か外か

松島:「はあ」
師匠:「中にあるとすると、ログやタイマ関連のイベントに関係があるかもしれない」
松島:「ハードウェアの不具合とかあるかもしれませんが……」
師匠:「交換しても変わらないんでしょ?」
松島:「ええ」
師匠:「だったら、機器の故障は、取りあえずおいといて構わないんじゃない?」
松島:「そうですね」
師匠:「だけど、資料を見るに内部には原因は見当たらない。となると、どうなるね?」

ハードウェアの不具合とかあるかもしれませんが……(松島)

松島:「外部ってことでしょうか」
師匠:「そうだよ。だとしたら、何かのパターンとの組み合わせでこのパターンが出来上がっているわけだ」
松島:「どういうことでしょう?」
師匠:「つまり、その原因が四六時中あるのなら、ずっとエラーになるはずだ」
松島:「そうですね」
師匠:「しかし、そうじゃない。すると、外部の原因にも何かのパターンがある」
松島:「ええ」
師匠:「そのパターンと、通信のサイクルの組み合わせがこのログに表れているわけだ」
松島:「なるほど」
師匠:「それぞれが単純なパターンであっても、2つのものが組み合わさると複雑なものになることがある。だから、ログをちょっと見ただけではパターンを見つけられないのさ」
松島:「なるほどねぇ。で、その外部の原因って何なのでしょう?」
師匠:「まあ、待ちなさい。エラーは日中にも起こっているが、確実なのは夜に起こるやつだ」
松島:「ええ、そうなんです」
師匠:「だから、まずは、この夜のエラーにだけ注目してみよう」
松島:「それはそう考えたんですが……」
師匠:「数字だけ見てたら分からないかもしれないよ。こういうのは視覚化してみると分かることもある」

 エラーは数字を可視化してあぶり出す

松島:「どうするんですか?」
師匠:「君ね、表計算ソフトに取り込んだまではよかったけど、使い方を知らないのかね?」
松島:「ああ、グラフですか」
師匠:「そうだよ。縦軸にエラーが起こった時間、横軸に日付を取って、散布図を作れば、大まかな傾向が見えるのではないかな?」
松島:「なるほど。で、どうなるんですか?」
師匠:「ああ、君は、その先まで僕にやらせるの?」
松島:「だって、師匠、もう作っちゃったんでしょ?」
師匠:「そうだよ。でも、僕は、君が成長できるように自分でやらせようとしてるんだよ」
松島:「作ったんなら、見せてくれてもいいじゃないですか」
師匠:「まあ、今回は特別に見せてあげよう。これだよ」
松島:「はあーっ、これですか」
師匠:「分かったでしょ?」
松島:「何が、ですか?」
師匠:「原因だよ」
松島:「いえ、さっぱり」
師匠:「じゃ、そのグラフからどういう傾向が読み取れる?」
松島:「うーん、でこぼこはありますが、エラーが始まる時間がだんだん早くなっているってことでしょうか?」
師匠:「そうだよ」
松島:「だとしたら何なのですか?」
師匠:「ああ、君は、ここまで来ても原因が分からないのかなぁ」
松島:「ええ」

ああ、君は鈍いねぇ。この店のどこかの電気がつくと、それがエラーを引き起こすのさ(師匠)

師匠:「太陽だよ」
松島:「太陽? お日様が黄色かったからエラーになったんでしょうか?」
師匠:「『異邦人』じゃないんだから、そんなはずはないだろ」
師匠:「その始まる時間はだいたいどれぐらいの傾きを持っているのかね?」
松島:「えっと、うーんと……。だいたい1日に1分ぐらいですね」
師匠:「いまの季節、日没はだんだんと早くなる」
松島:「まあ、もう秋ですから」
師匠:「日没はね、およそ1日に1分程度早くなるんだよ」
松島:「だから太陽が原因なんですか? 太陽黒点とかでしょうか?」
師匠:「ああ、分からないかね。日没になるとみんなどうする?」
松島:「どうするって、家に帰るんです」
師匠:「子供じゃないんだから、日没になるとどういう状態になるんだね?」
松島:「うーんと、暗くなります」
師匠:「暗かったら君はどうするね」
松島:「電気をつけます」
師匠:「そうだろう。もう分かっただろう?」
松島:「ええ?」
師匠:「ああ、君は鈍いねぇ。この店のどこかの電気がつくと、それがエラーを引き起こすのさ」
松島:「ライトが原因ってことですか」
師匠:「恐らく、インバーターのノイズだろう」
松島:「どうして昼間とかにも起こるんですか?」
師匠:「昼間、エラーが起こった日は、雨が降っていた日だよ。つまり暗くなっていたのさ」
松島:「でも、終わる時間とか一定じゃないですよ」
師匠:「恐らくそのライトは、自動じゃなくて人が手でスイッチを入れているのさ」
松島:「それにしては、バラツキが小さいようにも思えますが」
師匠:「多分、明るさに応じて自動的に点灯する看板のライトか何かを見て、スイッチを入れているんじゃないかな」
松島:「なるほどねぇ」

 エピローグ〜鈍いと言われる僕ですが〜

 Z屋に行って確かめてみると、原因は改築の際に取り付けたライトだった。そのスイッチを入れると確かにエラーが発生し、スイッチを切るとエラーは消えた。

 夜になるとライトがついて、エラーが起こる。しかし、店が閉まり、掃除が終わるとライトが消え、エラーも起こらなくなるというわけだった。

 こちらでは電気工事はできないので、電源にラインフィルターを入れてみたところ、エラーは起こらなくなった。

佐藤:「原因はノイズだったんですね」

と佐藤君はいった。それを聞いて僕には思い当たることがあった。

 その週末、僕は神田の家を再び訪れていた。そう、彼のトラブルの原因もノイズだったのだ。乾燥機を止めるとエラーがなくなり、ちゃんと接続できるようになったのである。彼が「ときどきつながる」といったのは、乾燥機が動いていないときに通信をしたからだったわけだ。 

トラブルその3無事解決。次のトラブルに続く)

イラスト:土井ラブ平

本連載に登場する人物や団体すべてフィクションですが、障害事象については、NECフィールディング株式会社にご協力いただき、実際に発生した内容を参考にしています。


関連記事
  あなたのLANは健康ですか? 現状改善から一歩進んだ構築術まで
特集:基礎から学ぶネットワーク構築

レスポンスの悪いネットワークシステム どう検証し、解決していくか?
特集:ネットワークトラブルを解決する
運用管理に必須のツール/コマンド群
連載:24×365の運用管理

「Master of IP Network総合インデックス」


Master of IP Network フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Master of IP Network 記事ランキング

本日 月間