in cloudwatch/RDSCreateMetricsFromEnhancedMonitoring.py [0:0]
def populate_metrics():
if not metrics_to_filter:
json_data = json.loads(return_event_log_example()['events'][0]['message'])
for item in json_data:
if item not in ['engine', 'instanceID', 'instanceResourceID', 'timestamp', 'version', 'uptime', 'numVCPUs',
'processList']:
if isinstance(json_data[item], dict):
subitem_list = json_data[item]
else:
subitem_list = json_data[item][0]
for subitem in subitem_list:
if not isinstance(subitem_list[subitem], str):
create_filter_and_metric('$.' + item + '.' + subitem, get_log_group_name(rds_instance_name),
rds_instance_name)
else:
for metric_to_filter in metrics_to_filter:
create_filter_and_metric('$.' + metric_to_filter, get_log_group_name(rds_instance_name), rds_instance_name)