zabbix使用Python实现监控MongoDB副本集状态

  




# !/usr/bin/python   utf - 8编码:      import  pymongo   得到pymongo  import  MongoClient      class  check_mongo_repl ():   ,,,def  __init__(自我):   ,,,,,,,self.conn =, pymongo.MongoClient (“mongodb://admin: Admin123@192.168.18.195:27018/?   ,,,,,,,self.db =self.conn.admin   ,,,,,,,self.rs =, self.db.command (“replSetGetStatus”)      ,,,def  get_rs_num(自我):   ,,,,,,,list =,“Value : % s”, %,, self.rs.values ()   ,,,,,,,get_list =, list.split (" ")   ,,,,,,,a =0   ,,,,,,,if ”, u 'stateStr:; u 'PRIMARY”,拷贝get_list:   ,,,,,,,,,,,a =1   ,,,,,,,if ”, u 'stateStr:; u 'SECONDARY”,拷贝get_list:   ,,,,,,,,,,,a  +=1   ,,,,,,,if ”, u 'stateStr:; u 'ARBITER”,拷贝get_list:   ,,,,,,,,,,,a  +=1   ,,,,,,return          if  __name__ ==,“__main__”:   ,,,mongo =, check_mongo_repl ()   ,,,print  mongo.get_rs_num ()


若mongodb副本集三个节点分别含有小学,中学,仲裁者说明副本集正常,返回值为3

 zabbix使用Python实现监控mongodb副本集状态




解决:




 zabbix使用Python实现监控mongodb副本集状态

 zabbix使用Python实现监控mongodb副本集状态


 zabbix使用Python实现监控mongodb副本集状态








zabbix使用Python实现监控MongoDB副本集状态