2016-10-18 6 views
1

Linuxマシンからさまざまなデータ(CPU、RAM、ディスクなど)をプロットするアプリケーションを作成したいと思います。クライアント側でSPA webapp for angle and python

: データpython scriptを介して収集しdatabaseに保存される(リモートサーバ上の)例えば:それぞれ、第2 mongodbコレクションとにエントリを作成:セッション識別子、使用されるCPU、RAMを、iopsとその値。このデータはサーバー側で

数時間のセッションで書かれた(ので、セッションあたり〜25K-50Kエントリ)されます。 データ'session'が特定持つ処理されます、それをプロットし、またcpu graph png/ram graph pngなどに保存このデータを収集してWebページに表示するために使用されるID番号の別のコレクションに書き込みます。mongodbこのページには、リモートマシン上でクライアントを起動する可能性があります。

このアプローチは最適ですか?データを保存するためのより良いが簡単な方法はありますか?ページを構成してセッションを動的に表示して、ズームなどに使用できますか? mongoはこのような数億のエントリを保存/保存できますか?

サーバーとmongodbでangular + nodejsまたはangular + flaskを使用することを考えていました。フラスコやノードはわかりませんが、単純なRESTを作成するのに使いやすくなります。

私のスキルレベル:python advanced、javascript/html/css medium、angularjs 1初心者。

答えて

0

リアルタイムデータがあるため、ノードとフロントエンドのSocket.ioのようなWebSocketsアプローチを使用することをお勧めします。私がこれを言う理由は、長いポーリングである代わりの方法は、サーバーとクライアントの間で多くのHTTPトラフィックを行き来することであり、パフォーマンスのボトルネックです。

双方向データバインディングのおかげで、フロントエンドでモデルデータを手動で更新する必要がないため、Angularはこれで問題ありません。

D3.jsやHighChartsのようなチャート作成用のフレームワークやライブラリが多数あり、フロントエンドにプラグインしてデータをグラフ化し、好きなように使用することができます。