0

Web サイトを (curl を使用して) 監視して、Web サイトが稼働しているかどうかを確認し、ホームページでの単純な GET 要求の応答時間を調べています。これを行うために自家製のスクリプトを使用していますが、そのために Nagios やその他の既存のツールを使用したくありません。

私の問題は、結果を長期間 (たとえば数か月) 保存する方法がわからないことです。もちろん、エポック以降のすべてのリクエストの応答時間は必要ありませんが、ステータス(アップ|ダウン)と長期間の平均応答時間を取得したいと思います。例えば ​​:

  1. [先月] -> 1 日あたりの応答時間 (平均)
  2. [過去 3 か月] -> 週ごとの応答時間 (平均)
  3. [過去 12 か月] -> 月間応答時間 (平均)

そして、全期間、ステータスを維持したいと思います。そのために、ステータス変更が発生した最後の日付を保存するだけです。

問題は、このような頻度/保持でその種の情報を保存する最適な方法は何ですか? 私はMysql DBを背後に置いてPHPでコーディングしていますが、そのためのDBよりも優れたものがあるのでしょうか?

無料で Linux/Unix 上で動作するものであれば、どのような言語/技術でも受け入れられます。

ありがとうございました

4

2 に答える 2

1

すべてのリクエストを DB テーブルと calcualte に保存しdaily response time (avg)、簡単な PHP 関数を記述weekly response time (avg)します。monthly response time (avg)

応答時間とリクエスト日付のみを保存すると、テーブルは速く成長せず、正しいインデックスを使用すると速く動作します。

于 2012-08-23T06:53:15.713 に答える
1

これは、典型的なラウンド ロビン データベースのように思えます。RRDtoolを使用すると、このようなデータベースを管理できます。車輪を再発明する理由がわかりません。

于 2012-08-23T07:00:15.700 に答える