掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
常駐APLの状態を監視して、不具合発生時に自動起動させるには? (ID:143250)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
フリーズの場合、原因を突き止めぬまま次のプロセスを起動することによって リソース不足に陥り、二次被害を広げる可能性があります。 (処理時間が追いつかないのに次の処理が並行稼働し、さらにリソースを圧迫するなど) あるいはダウンの場合、原因箇所を突き止めぬまま自動再起動を試みても、 また同じところでダウンして、結局、先に進まない可能性があります。 (ネットワーク自体がダウンした場合など) そうした場合に対応するため、障害発生時に携帯メールなり画面通知アラートなりを 「人間」に対して発行するための仕組みも必要になってくるかと思います。 (もちろん、それを受け取って正常稼働を監視する「運用」の仕組みも必要です) > どのように方法が一般的なのでしょうか? 再起動時のリカバリー(不良個所のスキップ、ログ解析、障害箇所の再実行など)も 考慮せねばなりませんし、一般解は無く、ケースバイケースだと思いますよ。 監視業務がある場合は、定期的に生存通知信号を投げ続け、それが一定時間 応答なしになった場合に、システムダウンと判断する手もありますし、 冗長システムがある場合は、待機系に切り替えるといった手もあります。 システムの規模によっては、冗長手段を採ることもありますね。 完全に別システムな待機系に切り替えるとか、それでもダウンしたら、 回復させるまでの間を手動業務で臨時対応できるようにしておき、 正常時のn割程度までの処理性能は維持させるとか。 そのダウンタイムを越えた場合にどうするかは、契約内容次第。 > 案1 > 稼働中のプロセスを定期的に取得するAPLを作成して、『クライアントサ > ーバ常駐APL』が存在している事を確認、存在していない場合は『クライ > アントサーバの常駐APL』を起動する その場合、監視アプリ自身のダウンも検知する仕組みが必要ですね。 たとえば、監視側(親)が子プロセスを監視するとともに、 子も親の正常性を監視するとか。 もちろん、アプリが存在しているというだけでは不足なので、 それぞれが期待動作しているという点までを保証する必要がありますが。 > 案2 > 『クライアントサーバ常駐APL』に定期的にコネクションするクライアン > トAPLを作成して、コネクションに一定回数以上連続して失敗した場合、 > 『クライアントサーバ常駐APL』を起動又は、再起動する うちはこれが多いかな…? ここでいう「コネクション」が、ソケットなのかファイル監視になるのか Window Message の交換になるのか DB 値のポーリング監視になるのかは ケースバイケースといったところですが。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.