データベース統計およびビルトインログの解析ありまたはなしのレポート


1

私は一般的な統計的ユーティリティ/プラグイン/アプリケーションを好むが、特定のものもうまくいくかもしれないので自分自身を制限しないでください。

クエリを見ることができる方法を見たい すべてのクエリの統計

例:表示、ソート、フィルタリング

  1. これまでのすべてのクエリ
  2. に行われたすべてのクエリ
  3. すべてのデータベースまたは特定のデータベース
  4. 特定のテーブルに。
  5. または特定の列に
  6. 特定のクエリregex / paramsを使って。行われたクエリの数が多い順にソートします。所要時間に応じて最も長いクエリをソートします。
  7. いくつかの図表はプラスになるでしょう。そのようなことのためのアプリケーションや組み込み機能はありますか?

それをするために、あなたはする必要があります すべてのクエリを記録する その後、/を実行します。 それらのログを解析する ある種の分析器を通して。これはカスタムビルドログパーサーアプリケーションを必要とするかもしれません。

現在のサーバーは大容量サーバーで、1秒間に500から3000クエリです。ログは他のHDDに保存されている可能性があります。

質問:

  1. そのようなもののために事前に構築されたアプリケーションはありますか?

  2. 通常のクエリは遅くなりますか?もしそうなら、どれだけ、大体?

  3. ライブクエリを見てロギングを他の場所で行う、またはまったく行わないで他のアプリでライブ統計レポートを作成する方法はありますか?

  4. 私はデータベース固有の統計メーカーでログを解析するのではなく、単にログファイルを取得して私自身のパーサーアプリケーションを作成し、それらのログを使って統計とグラフを作成します。クエリの値+実行に要した時間+クエリの日付を使用して、それらの解析済みの状態を別のDBに格納してから、後でレポートを生成することができます。これは良い考えですか?

  5. 私はファイルにそれを記録せずにすべてのことを行う「ライブ」の方法に気づいたことはありませんでした。

  6. のための任意のビルド前のアプリ mysql そして postgres?それが私が使っていることです。

  7. そのための戦略上のアドバイスはありますか? 「パフォーマンス分析を詳細に行う方法」を考え始めたところです。

回答:


0

これは複雑な問題であり、おそらく簡単な答えはありません。

私が使用した1つのアプローチは使用することです pg_logforward ログを傍受するには、それらをカスタムデーモンに転送します。カスタムデーモンは、正規化されたログエントリを別のPostgreSQLデータベースに書き込みます。 (Hadoopなども可能でしょう。)それからそのデータベースに対してアドホッククエリを実行するか、あるいはあなた自身でかなりのフロントエンドを構築してください。これは決して事前に構築されたものではありませんが、現時点で最も強力なアプローチです、IMO。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.