開発サーバーでライブデータを表示するためのベストプラクティスですか?

StackOverflow https://stackoverflow.com/questions/272798

  •  07-07-2019
  •  | 
  •  

質問

仮定:ライブ/プロダクションWebアプリは、エンドユーザーに表示されるエラーを抑制します。

テクニカルサポートチームがライブデータを表示したいが、アプリケーションの開発側の目を通して(たとえば、発生しているエラーを確認したり、エンドユーザーのデータ)。

たった今、devボックスとliveボックスの両方にサービスを提供する1つのデータベースがあります(私の考えではありません-それは大雑把です)。

アイデア?

編集:提案を実装するためのベスト/便利なツールですか?

役に立ちましたか?

解決

データを別のデータベースに複製します。はい、遅延がありますが、実稼働サーバーから手を離してしまいます。これにより、<!> quot; hide <!> quot;技術サポート(および他の人々)が見るべきではない情報。

他のヒント

本番環境でデータを複製することに加えて、誰がアプリケーションにログインしているかを確認し、それが会社のメンバーである場合、実際のエラーページに送信します。 / p>

定期的に(1日に1回、2回)ライブからdevにバックアップおよび復元します。リアルタイムである必要はありません(とにかく開発者側からデータを入力している可能性があるため、問題が発生する可能性があります)。

PCIまたはHIPAAデータがある場合は、開発環境に入れないでください。法律に違反する可能性があります。

私は通常、Web開発用に3層システムが必要です:
開発
テスト
ライブ

ほとんどの場合、テストはライブシステムの正確なコピーです。ただし、エラーが発生し、新しいバージョンがライブに移動されると、アップグレード前の問題を検出するためにライブ前の新しいバージョンに置き換えられます。

開発はライブとは完全に分離されており、データベースなどの大きな変更や本番環境の変更が可能です。

最初にエラーを誰かにメールで送信するか、ユーザーがどのようにそこにたどり着いたかの詳細を記録するか、少なくともログに同じメッセージが記録されるかどうかを確認するために同様のアクションを実行しながらエラーログを見ることができます。

そして、はい、開発サーバー/サイトでデータベースをコピーすることがおそらく唯一のオプションです。開発チームが行った変更がライブデータに反映されることは望ましくありません。また、ある時点で運用データベースでは機能しない変更もあるでしょう。

データを追加した後、その夜に消去される新機能の開発中に開発者が作業する可能性があるため、夜間コピーを行うことはお勧めしません。私は通常、メジャーバージョンがリリースされるたびに、運用データベースをdevにコピーします。また、これにより、大量のライブデータで速度テストを行うことができます。一部のシステムでは、すべてのユーザーのパスワードをデフォルトに変更して、任意のユーザーとして簡単にログインできるようにします。

設定で許可されている場合:

a。目的のメッセージをログファイルに書き込むためのロギング機能を追加します(まだない場合)。

b。 UNIXコマンドを実行します

tail -f <!> lt; logfile.txt

成長するログファイルをコンソールにストリーミングします。

http://www.monkey.org/cgi-bin/man2html?tail

Windowsを使用している場合は、これを試してください:

http://tailforwin32.sourceforge.net/

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top