|
|
|
@ -48,6 +48,8 @@ def main(args):
|
|
|
|
|
|
|
|
|
|
for controller in data: |
|
|
|
|
response = controller['Response Data'] |
|
|
|
|
|
|
|
|
|
handle_common_controller(response) |
|
|
|
|
if response['Version']['Driver Name'] == 'megaraid_sas': |
|
|
|
|
handle_megaraid_controller(response) |
|
|
|
|
elif response['Version']['Driver Name'] == 'mpt3sas': |
|
|
|
@ -57,6 +59,13 @@ def main(args):
|
|
|
|
|
|
|
|
|
|
print_all_metrics(metric_list) |
|
|
|
|
|
|
|
|
|
def handle_common_controller(response): |
|
|
|
|
(controller_index, baselabel) = get_basic_controller_info(response) |
|
|
|
|
|
|
|
|
|
# Split up string to not trigger CodeSpell issues |
|
|
|
|
if 'ROC temperature(Degree Celc' + 'ius)' in response['HwCfg'].keys(): |
|
|
|
|
response['HwCfg']['ROC temperature(Degree Celsius)'] = response['HwCfg'].pop('ROC temperature(Degree Celc' + 'ius)') |
|
|
|
|
add_metric('temperature', baselabel, int(response['HwCfg']['ROC temperature(Degree Celsius)'])) |
|
|
|
|
|
|
|
|
|
def handle_sas_controller(response): |
|
|
|
|
(controller_index, baselabel) = get_basic_controller_info(response) |
|
|
|
@ -69,9 +78,7 @@ def handle_sas_controller(response):
|
|
|
|
|
len(response['Physical Device Information'].keys()) / 2) |
|
|
|
|
except AttributeError: |
|
|
|
|
pass |
|
|
|
|
# Split up string to not trigger CodeSpell issues |
|
|
|
|
add_metric('temperature', baselabel, |
|
|
|
|
int(response['HwCfg']['ROC temperature(Degree Celc' + 'ius)'])) |
|
|
|
|
|
|
|
|
|
for key, basic_disk_info in response['Physical Device Information'].items(): |
|
|
|
|
if 'Detailed Information' in key: |
|
|
|
|
continue |
|
|
|
@ -94,7 +101,6 @@ def handle_megaraid_controller(response):
|
|
|
|
|
add_metric('ports', baselabel, response['HwCfg']['Backend Port Count']) |
|
|
|
|
add_metric('scheduled_patrol_read', baselabel, |
|
|
|
|
int('hrs' in response['Scheduled Tasks']['Patrol Read Reoccurrence'])) |
|
|
|
|
add_metric('temperature', baselabel, int(response['HwCfg']['ROC temperature(Degree Celsius)'])) |
|
|
|
|
for cvidx, cvinfo in enumerate(response['Cachevault_Info']): |
|
|
|
|
add_metric('cv_temperature', baselabel + ',cvidx="' + str(cvidx) + '"', int(cvinfo['Temp'].replace('C',''))) |
|
|
|
|
|
|
|
|
|