限りなくmoonshine...

GarageBandなどDTMネタとバンドネタと甘いもの中心に。たぶん。

ご意見募集。

2006-10-05 23:57:48 | work

手前のスキルと経験の無さを晒して申し訳ないのだが、unix サーバの運用保守、管理、
またはそれらの開発に携わっている方々がいたら、ご意見を頂戴したい。

私は、unix サーバ数台のあるシステムの保守チームに属している。
一応、このサーバ上で動作するアプリの開発を行っており、その流れで保守もしている
といった状況で、所謂「運用」は経験が殆どない。どちらかと言うと開発が主である。

で、日時処理の中に次のようなものがある。1つの shellscript の中に3つの処理があり、

  1・事前にホストが PUT している CSV ファイルからDBへデータロード
  2・上記1のファイルを別のディレクトリへ移動、移動後に圧縮
  3・別の CSV ファイルからデータベースへのデータロード

このうち、1と3はログを出力するように作成している。
この shellscript 自体は、ホストのジョブでサーバに telnet ログインして実行されている
のだが、ホスト側でログは何も取っていない。
また、2で作成された圧縮ファイルは、決まった時間に別のサーバが FTP GET しに来る。
こちらのサーバからは PUT していない。

ある日、2で作成された圧縮ファイルを FTP GET しに来るサーバの担当者から、該当の
ファイルの取得に 11:10 の時点で失敗しているようだ、原因を報告してください、との
連絡が入った。
連絡があったのが 11:15。原因を調べていたところ、次のことが判明した。

  ・1のログファイルのタイムスタンプは 10:48 である。
  ・3のログファイルのタイムスタンプは 10:52 である。
  ・2のファイルは、移動後にあるべき場所に、圧縮ファイルとして存在した。
  ・2のファイルを FTP GET しに来るのは 10:30 らしい。

ちなみに、通常ならば 10:30 には余裕でファイルが存在しているはずだが、この日は
この処理より前の処理に遅延が発生し、通常よりも2時間程度遅れて処理が開始されて
いたようである。アラートが上がるわけではないし、常時監視しているわけでもないので、
遅れてることには気がつかなかった。
なお、2のファイルは mv と compress を実行しているので、タイムスタンプ自体は
CSV ファイルがホストから PUT された時間(この場合 10:09 )のまま変わらない。

以上の状況から、私は次の結論を出して、担当者へ報告すれば良いと判断した。

  「2のファイルを GET しに来た時に、所定の場所にはまだファイルが存在して
   いなかった。そのため、GET に失敗した。しかし、10:50 頃に処理がされて
   所定の場所にファイルが作成されているので、再取得を行って頂きたい。」

ところが、「それはおかしい」と制止された。
まず、先方の担当者は「 11:10 の時点で失敗している」と言っているので、その時間に
2のファイルは存在していたかどうかは怪しい、と言うのだ。
さらに、「処理がされて」とあるが、どこに処理がされた証拠があるのか?と。
しかし、ログを見る限り、10:48~10:52 の間に所定の場所に移動、圧縮されたことは
間違いない(と思っている)。
私は、単に先方の担当者が FTP GET のログを確認したのが 11:10 であり、その時間に
こちらのサーバにファイルがあるかどうかなど確かめていないと判断した。
事実、その時間には FTP も telnet も、先方がログインした形跡はどこにもなかった。
なので、先方の言ってきていることはとりあえず無視して、こちらの事実を報告すること
にしたのである。

しかし、「 FTP や telnet 以外の、何らかの方法でこちらのサーバの中を確認したのかも
しれないし、相手が”無かった”と言っているのだから無かったと思うしか無い」と。
(ここで思わず「ありえねー」って笑っちゃったので、制止した人を怒らせたようだ。)

確かに、移動と圧縮はログを出力していないため、私が推測した時間で実施されたか否か
確実ではないと言われたらそれまでだ。実施されたと言う証拠はない。
しかし、そこでしか処理される場所が無く、かつファイルが正常に存在している以上、
私の推測したタイミング以外で作成される方法など存在しない(と思っている)。

結局、私を制止した人は「いつ該当のファイルが作成されたのか全く見当もつかないが、
とりあえず今は作成されているようなので、FTP GET の再実行を行ってください」と
先方に伝えたようだ。

「いつ作成されたのか、全く見当もつかない」と。
なぜなら、ログなどの「事実」が無いため、全ては「推測でしかない」から、と。

まあ、きちんとログを出力するような作りになっていないのが問題なのだろうが、この
処理の部分は私のチームが作ったわけではなく、引継ぎすら行われなかった状態で保守を
担当しているため、今更言っても仕方が無い。

というわけで、保守チームに向けて「原因を報告してください」と言われたのに対して、
「全く見当もつきません」と返したわけだ。保守チームの自覚はあるのか?と私は思った。

しかし、例によって「お前の考えはおかしい。事実も無いのに推測をあたかも事実の様に
言うことは、やめろ。信頼を失うだけだ」と諭された。
「それならば、テスト環境を作成してこの shellscript を実行し、どのように動作するか
確認すればどうか?」と言ったが、「仮にテストで推測通り動作したとしても、本当に
今日その通り動作したかどうかは、保証できない」と。

じゃ、世の中の「テスト」なんて、何の意味もないですね。ってイヤミ言ったのだが、
「それとこれとは違う」だってさ。何が違うのよ。
「今日だけ違う動作をしていたかもしれない」だってさ。
そんなことを疑っていたらキリがない、というか、疑う場所じゃないだろ、と。
そこまで言うなら、「 11:10 に失敗したと言っているが、本当にその時間にファイルが
存在していなかったか」先方に確認すればどうかと提案したが、「それは失礼だ」だって。
こちらの動作がおかしくてファイルが取れなかったと言っているのに、そんなことを聞く
ことはできない、ってさ。

てことで、「お前、いい加減その考えを改めろ」って、怒られて説教されて諭された。

私が先方に報告しようとした内容は、そんなにマズい?



最新の画像もっと見る

2 コメント

コメント日が  古い順  |   新しい順
演習問題!? (studio_peach2004)
2006-10-07 23:32:12
こんばんは。昨日までの強烈な暴風雨…tsukaさんは無事に過ごされたのでしょうか?。



さてさて、今回のケースは目の前に迫った「上級シスアド試験」の演習なのでしょうか??。



と、冗談はさておき、相変わらず難解な相手と対峙しているご様子…。



私は開発や保守といったSEさんの現場の様子はピンと来ませんが、おそらくはそういう仕事を依頼する側の人間だと思われます。



で、そういう観点で考えると、tsukaさんの主張が「失礼」に当たるとは思えません。

技術的なことはよくわかりませんが、「一連の処理が2時間程度遅れた」ということで納得できると思います。

「処理1」と「処理3」はログから判断すればきちんと仕事をしていた訳です。いつもならば「処理2」で圧縮されたファイルをどっかのサーバがFTPで持って行くのが10:30なのだが、今回は「処理2」が10:30に間に合わなかったということなんですよね。



シスアドの観点からすると、単にそういうことなんじゃないかなぁと思います。



で、ここからは勝手な意見なのでさらっと流してくださいね。



この業務がどのような内容なのかは分かりませんが、「処理2」が失敗した場合の措置が取られていないのかというところが疑問なのです。

思いっきり業務に支障が出るようならば、一度だけでなくきちんとFTPが完了するように数回のトライを組むべきだと思います。それに、そもそも「2時間程度遅れる」処理の後に行われる処理なのですから、このことを前提に処理フローを組む必要があるのではないでしょうか。

テスト環境についても、ここまで揉める内容の業務ならば、事前に用意するべきだと思いますし、テストをせずに相手に「見当がつかない」という説明をする方がよっぽど失礼だと思います。



おっと、ずいぶん長くなってしまいましたね。つい熱くなってしまいました

いずれにしましても、私が「先方」の人間だったら、「あ、もう一回FTPやってみますね」で済んでしまうと思います。



的外れな話でしたらごめんなさい

そんなこんなで、さよなら~(唐突ですが…)
返信する
遅くなってしまいまして。 (tsuka315)
2006-10-10 04:12:28
Peachさん。

レス遅れてしまいまして…。久々に熱出して寝てました。。

そうなんですよね、ホスト側(GTP GETしにくる方)っていうのは、「絶対にファイルは存在していること」というのが条件で、無い場合の処理なんて作ってくれてないんですよね。。。かつ、過去数年見ても、今回のように「処理が遅れてファイルが存在しない」というコトは無かったようなんですよ。

想像されている通り、ファイルが無くても緊急性がない(当日中のリカバリでOK)だからなのでしょうが、そりゃないぜってカンジです。

結局、制止した人も生半可な知識で解決しようとするから揉めると言うことをもっと自覚して欲しいなぁなんて思ってます。あと、windows至上主義みたいなのとか。今月一杯ですけどね(笑)。



というわけで、期待通りのコメントありがとうございました(笑)♪
返信する