check_mongodb.py 文件源码

python
阅读 28 收藏 0 点赞 0 评论 0

项目:ansible-optools 作者: jonjozwiak 项目源码 文件源码
def check_connect_primary(con, warning, critical, perf_data):
    warning = warning or 3
    critical = critical or 6

    try:
        try:
            set_read_preference(con.admin)
            data = con.admin.command(pymongo.son_manipulator.SON([('isMaster', 1)]))
        except:
            data = con.admin.command(son.SON([('isMaster', 1)]))

        if data['ismaster'] == True :
            print "OK - This server is primary"
            return 0

        phost = data['primary'].split(':')[0]
        pport = int(data['primary'].split(':')[1])
        start = time.time()

        err,con=mongo_connect(phost, pport)
        if err!=0:
            return err 

        pconn_time = time.time() - start
        pconn_time = round(pconn_time, 0)
        message = "Connection to primary server "+data['primary']+" took %i seconds" % pconn_time
        message += performance_data(perf_data,[(pconn_time,"connection_time",warning,critical)])

        return check_levels(pconn_time,warning,critical,message)

    except Exception, e:
        return exit_with_general_critical(e)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号