-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdiscovery_mongodb.py
36 lines (30 loc) · 1.2 KB
/
discovery_mongodb.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#coding=UTF-8
from aliyunsdkcore import client
from aliyunsdkrds.request.v20140815 import DescribeDBInstancesRequest
import json
from aliyunsdkcore import client
from aliyunsdkdds.request.v20151201 import DescribeDBInstancesRequest
import json
ID = '<ID>'
Secret = '<Secret>'
RegionId = 'cn-beijing'
clt = client.AcsClient(ID,Secret,RegionId)
DBInstanceIdList = []
DBInstanceIdDict = {}
ZabbixDataDict = {}
def GetMongoList():
MongoRequest = DescribeDBInstancesRequest.DescribeDBInstancesRequest()
MongoRequest.set_accept_format('json')
MongoInfo = clt.do_action_with_exception(MongoRequest)
for MongoInfoJson in json.loads(MongoInfo)['DBInstances']['DBInstance']:
DBInstanceIdDict = {}
try:
DBInstanceIdDict["{#DBINSTANCEID}"] = MongoInfoJson['DBInstanceId']
DBInstanceIdDict["{#DBINSTANCEDESCRIPTION}"] = MongoInfoJson['DBInstanceDescription']
DBInstanceIdList.append(DBInstanceIdDict)
except Exception as e:
print(Exception, ":", e)
print("Please check the Mongodb alias !Alias must not be the same as DBInstanceId!!!")
GetMongoList()
ZabbixDataDict['data'] = DBInstanceIdList
print(json.dumps(ZabbixDataDict))