sql >> データベース >  >> NoSQL >> MongoDB

MongoDBの単純なHTTP/TCPヘルスチェック

    mongodbの簡単なヘルスチェックを作成しました。これはmongoを使用します 単純なクエリリクエストを送信するクライアント(例:db.stats() )サーバーに。

    $ mongo 192.168.5.51:30000/test
    
    MongoDB shell version: 3.2.3
    connecting to: 192.168.5.51:30000/test
    
    mongos> db.stats()
    {
        "raw" : {
            "set1/192.168.5.52:27000,192.168.5.53:27000" : {
                "db" : "test",
                "collections" : 8,
                "objects" : 50,
                "avgObjSize" : 73.12,
                "dataSize" : 3656,
                "storageSize" : 53248,
                "numExtents" : 8,
                "indexes" : 8,
                "indexSize" : 65408,
                "fileSize" : 469762048,
                "nsSizeMB" : 16,
                "dataFileVersion" : {
                    "major" : 4,
                    "minor" : 6
                },
                "extentFreeList" : {
                    "num" : 28,
                    "totalSize" : 184807424
                },
                "ok" : 1
            }
        },
        "objects" : 50,
        "avgObjSize" : 73,
        "dataSize" : 3656,
        "storageSize" : 53248,
        "numExtents" : 8,
        "indexes" : 8,
        "indexSize" : 65408,
        "fileSize" : 469762048,
        "extentFreeList" : {
            "num" : 28,
            "totalSize" : 184807424
        },
        "ok" : 1
    }
    

    これを1行で行うこともできます:

    $ echo 'db.stats().ok' | mongo 192.168.5.51:30000/test --quiet
    1
    

    お役に立てば幸いです。

    更新:

    @luckydonaldが言ったように、ping コマンドの方が優れているので、次のように実行できます:

    $ mongo --eval 'db.runCommand("ping").ok' localhost:27017/test --quiet
    1
    

    @luckydonaldに感謝します。



    1. ノードマングースはループ内のクエリが機能しないことを検出します

    2. 最大配列フィールドによる並べ替え、昇順または降順

    3. SQLでコンマを使用して数値をフォーマットする方法

    4. オブジェクト配列からの複数のフィールドを使用したMongoDb$lookupクエリ