Пример #1
0
def start(envType, sleeptime):
    '''开始入口,构造cmd'''
    # global var
    my_config = MyConfig()

    host = my_config.get(envType)['host']
    username = my_config.get(envType)['username']
    password = my_config.get(envType)['password']

    if 0 == sleeptime:
        sleeptime = my_config.get(envType)['sleeptime']

    #generate cmd
    # 执行 mongotop 需要账号可以访问 admin 库 权限
    my_cmd = "mongotop --host %s --username %s --password %s --authenticationDatabase=admin -vvvvv --json %d" \
        % (host, username, password,  sleeptime)

    # my_cmd = "/usr/bin/mongotop --version"

    logger.info("cmd is %s", my_cmd)

    #generate connection uri
    db_uri = my_config.get(envType)['dbUri']

    global collection_name
    collection_name = my_config.get(envType)['collection']

    # 数据写到 哪个库
    database = my_config.get(envType)['database']

    logger.info("db uri is %s", db_uri)
    client = pymongo.MongoClient(db_uri)
    db = client[database]
    global collection
    collection = db[collection_name]

    getTopOutput(my_cmd, sleeptime)
    pass