私たちのチームには、手動で実行するプロセスが数多くありますが、これは何日も実行される可能性があります。プロセスは、多数のエンティティ(Webページ、データベース行、イメージ、ファイルなど)に対してさまざまな処理を行います。当然のことながら、時折障害が発生し、これらの障害を正常に処理して処理を続けるように設計または処理しなければならないため、ジョブ全体がダウンすることはありません。長時間実行されているプロセスの警告/エラーを追跡するベストプラクティスは何ですか?
問題の特定のプロセスによっては、失敗率、重大度および緊急性が異なります。稀ではあるが重要なエラーが発生した場合に電子メールを送信する場合もあれば、ログに記録したり移動したりする場合もあります。
問題はどこにでも散在するさまざまなエラー処理コードがあり、誰もログに戻ってログを読むことがないため、何が問題になったのか誰も知りません。単純に電子メールが多すぎるので、すべての問題について電子メールに設定することはできません。
これらは長時間実行されているプロセスですが、SNMPやNagiosのようなものがうまくフィットすると思われるデーモンはありません。確かにこれはかなり一般的な問題ですが、私は多くのソリューションをオンラインで見つけることはできません。私は人々がlog4j(または他の同様のロギングパッケージ)を使用してデータベースにログオンすることについて話していると聞いていますが、それは正しい方向の一歩かもしれないようですが、確かにそこにもっと洗練されたソリューションがあります。 ?私は、あなたのロガーがデータベースにイベントを書き込む場所を想像しています。リアルタイムでどのプロセスでエラーが発生しているのか、特定のパターンなどの電子メールアラートを設定できるNagiosのようなWebインターフェイスがあります。
このようなことがありますか?そうでない場合は、同様の問題にうまく対処するためにどのようなアプローチを使用しましたか?
(私たちのコードベースの大部分はPythonで書かれていますが、私はこのアイデアをうまく実装していないのは悩みの種ではないと思います。
更新:ちょうど私が探しているもののようなチェーンソーを見ていましたが、デスクトップアプリケーションではなくウェブアプリケーションにしたいと思いますし、警告機能があります。
更新:私はちょうど私が考えていたラインの両方に沿っているhoptoadappとexceptionalを発見しました。