3

私たちがセットアップしたいくつかの Mongo DB が実際に使用されていることを確認したいと思います。したがって、最後の書き込み操作のタイムスタンプを取得したいと考えていました。これまでに見つけたもの:

  • タイムスタンプを使用してコレクションをクエリします。問題: 異なるコレクションに対する異なるクエリ。それらすべてにタイムスタンプがあるわけではありません。多数の DB に多数のコレクション。

  • 一般的なオプログ。スタンドアロンサーバーの場合、レプリカセットでスタンドアロンサーバーを実行することにより、今oplogを作成しない限り、機能しません。次に、oplog に ping を実行してデータを取得することができます。最後のオブジェクトを要求する JS スクリプトを使用する方が速い場合があります。

  • mongooplogコマンド変更のレプリケート(A から B への変更の適用) を目的としています。私はむしろoplog自体を閲覧したいと思います。

  • ObjectID を使用します (最大 1 秒の正確なタイムスタンプがあります)。方法を詳しく説明した段階的なブログ投稿もあります。

それでも、データベースにクエリを実行して応答させる方法があるかどうか疑問に思いました。できればコレクションごとですが、DB ごとに答えを得ることができれば素晴らしいと思います。これにより、未使用の DB を削除するだけで済みます。使えるものはありますか?

4

1 に答える 1

1

どうですか

db.serverStatus() 

このコマンドの出力には、操作の数があります。

"opcounters" : {
        "insert" : 1111,
        "query" : 532,
        "update" : 0,
        "delete" : 0,
        "getmore" : 4,
        "command" : 357
    },

接続数:

"connections" : {
    "current" : 1,
    "available" : 2047
},

ネットワーク使用率:

"network" : {
    "bytesIn" : 82202280,
    "bytesOut" : 24469137,
    "numRequests" : 1635
},

単純な監視で十分です

于 2013-04-24T11:17:37.540 に答える