cat nodes.json
{
"dev": [{"node":"amdbdabcd0101:2700"}, {"node":"amdbdabcd0102:2700"}],
"qa": [{"node":"amdbdabcd0101:2700"}, {"node":"amdbdabcd0102:2700"}]
}
'''
Script Purpose : Mongo Database Cluster log rotation script
Version : V1.0.0
'''
import pymongo
import os
import sys
import time
import json
from pymongo.errors import AutoReconnect
os.environ['HTTPS_PROXY']='http://abc.proxy.com:8099'
#msg=' ClusterFailoverTriggered:'+str(sys.argv[1])
#os.system('python send_sns.py'+str(msg))
'''
Loading Data Node and Arbiter node into list from json input file
'''
all_nodes=[]
rotated_nodes=[]
def _load_cluster_nodes():
global all_nodes,east_data_nodes,west_data_nodes,east_arbiter_nodes,west_arbiter_nodes
with open('nodes.json', 'r') as f:
nodes_dict = json.load(f)
# for key in nodes_dict['adh_dev']:
# all_nodes.append(key['node'])
for key in nodes_dict['adh_qa']:
all_nodes.append(key['node'])
for key in nodes_dict['adh_perf']:
all_nodes.append(key['node'])
for key in nodes_dict['sess_qa']:
all_nodes.append(key['node'])
_load_cluster_nodes()
''' Mongo user credentails '''
'''
Mongo DB Connection and getting server status
'''
for node in all_nodes:
# db_stats = db.command({'replSetGetStatus' :1})
print("node : "+str(node))
#programPause = input("Press the <ENTER> key .....")
conn = pymongo.MongoClient('mongodb://sysAdmin:'+x+'@'+node)
db = conn['admin']
conn.admin.command({'logRotate':1})
rotated_nodes.append(node)
print("Log roated nodes : ")
print(rotated_nodes)
No comments:
Post a Comment