Handle invalid values on older Libvirt versions

This commit is contained in:
Joshua Boniface 2023-12-27 09:51:24 -05:00
parent 84d22751d8
commit 88f4d79d5a
1 changed files with 71 additions and 31 deletions

View File

@ -1106,30 +1106,6 @@ def get_resource_metrics(zkhandler):
f"pvc_vm_memory_stats_actual{{vm=\"{vm['name']}\"}} {actual_memory}"
)
output_lines.append("# HELP pvc_vm_memory_stats_unused PVC VM unused memory")
output_lines.append("# TYPE pvc_vm_memory_stats_unused gauge")
for vm in vm_data:
unused_memory = vm["memory_stats"]["unused"]
output_lines.append(
f"pvc_vm_memory_stats_unused{{vm=\"{vm['name']}\"}} {unused_memory}"
)
output_lines.append("# HELP pvc_vm_memory_stats_available PVC VM available memory")
output_lines.append("# TYPE pvc_vm_memory_stats_available gauge")
for vm in vm_data:
available_memory = vm["memory_stats"]["available"]
output_lines.append(
f"pvc_vm_memory_stats_available{{vm=\"{vm['name']}\"}} {available_memory}"
)
output_lines.append("# HELP pvc_vm_memory_stats_usable PVC VM usable memory")
output_lines.append("# TYPE pvc_vm_memory_stats_usable gauge")
for vm in vm_data:
usable_memory = vm["memory_stats"]["usable"]
output_lines.append(
f"pvc_vm_memory_stats_usable{{vm=\"{vm['name']}\"}} {usable_memory}"
)
output_lines.append("# HELP pvc_vm_memory_stats_rss PVC VM RSS memory")
output_lines.append("# TYPE pvc_vm_memory_stats_rss gauge")
for vm in vm_data:
@ -1138,12 +1114,52 @@ def get_resource_metrics(zkhandler):
f"pvc_vm_memory_stats_rss{{vm=\"{vm['name']}\"}} {rss_memory}"
)
output_lines.append("# HELP pvc_vm_memory_stats_unused PVC VM unused memory")
output_lines.append("# TYPE pvc_vm_memory_stats_unused gauge")
for vm in vm_data:
unused_memory = (
vm["memory_stats"]["unused"]
if vm["memory_stats"].get("unused") is not None
else 0
)
output_lines.append(
f"pvc_vm_memory_stats_unused{{vm=\"{vm['name']}\"}} {unused_memory}"
)
output_lines.append("# HELP pvc_vm_memory_stats_available PVC VM available memory")
output_lines.append("# TYPE pvc_vm_memory_stats_available gauge")
for vm in vm_data:
available_memory = (
vm["memory_stats"]["available"]
if vm["memory_stats"].get("available") is not None
else 0
)
output_lines.append(
f"pvc_vm_memory_stats_available{{vm=\"{vm['name']}\"}} {available_memory}"
)
output_lines.append("# HELP pvc_vm_memory_stats_usable PVC VM usable memory")
output_lines.append("# TYPE pvc_vm_memory_stats_usable gauge")
for vm in vm_data:
usable_memory = (
vm["memory_stats"]["usable"]
if vm["memory_stats"].get("usable") is not None
else 0
)
output_lines.append(
f"pvc_vm_memory_stats_usable{{vm=\"{vm['name']}\"}} {usable_memory}"
)
output_lines.append(
"# HELP pvc_vm_memory_stats_disk_caches PVC VM disk cache memory"
)
output_lines.append("# TYPE pvc_vm_memory_stats_disk_caches gauge")
for vm in vm_data:
disk_caches_memory = vm["memory_stats"]["disk_caches"]
disk_caches_memory = (
vm["memory_stats"]["disk_caches"]
if vm["memory_stats"].get("disk_caches") is not None
else 0
)
output_lines.append(
f"pvc_vm_memory_stats_disk_caches{{vm=\"{vm['name']}\"}} {disk_caches_memory}"
)
@ -1151,7 +1167,11 @@ def get_resource_metrics(zkhandler):
output_lines.append("# HELP pvc_vm_memory_swap_in PVC VM memory swap in")
output_lines.append("# TYPE pvc_vm_memory_swap_in gauge")
for vm in vm_data:
swap_in_memory = vm["memory_stats"]["swap_in"]
swap_in_memory = (
vm["memory_stats"]["swap_in"]
if vm["memory_stats"].get("swap_in") is not None
else 0
)
output_lines.append(
f"pvc_vm_memory_stats_swap_in{{vm=\"{vm['name']}\"}} {swap_in_memory}"
)
@ -1159,7 +1179,11 @@ def get_resource_metrics(zkhandler):
output_lines.append("# HELP pvc_vm_memory_swap_out PVC VM memory swap out")
output_lines.append("# TYPE pvc_vm_memory_swap_out gauge")
for vm in vm_data:
swap_out_memory = vm["memory_stats"]["swap_out"]
swap_out_memory = (
vm["memory_stats"]["swap_out"]
if vm["memory_stats"].get("swap_out") is not None
else 0
)
output_lines.append(
f"pvc_vm_memory_stats_swap_out{{vm=\"{vm['name']}\"}} {swap_out_memory}"
)
@ -1167,7 +1191,11 @@ def get_resource_metrics(zkhandler):
output_lines.append("# HELP pvc_vm_memory_major_fault PVC VM memory major faults")
output_lines.append("# TYPE pvc_vm_memory_major_fault gauge")
for vm in vm_data:
major_fault_memory = vm["memory_stats"]["major_fault"]
major_fault_memory = (
vm["memory_stats"]["major_fault"]
if vm["memory_stats"].get("major_fault") is not None
else 0
)
output_lines.append(
f"pvc_vm_memory_stats_major_fault{{vm=\"{vm['name']}\"}} {major_fault_memory}"
)
@ -1175,7 +1203,11 @@ def get_resource_metrics(zkhandler):
output_lines.append("# HELP pvc_vm_memory_minor_fault PVC VM memory minor faults")
output_lines.append("# TYPE pvc_vm_memory_minor_fault gauge")
for vm in vm_data:
minor_fault_memory = vm["memory_stats"]["minor_fault"]
minor_fault_memory = (
vm["memory_stats"]["minor_fault"]
if vm["memory_stats"].get("minor_fault") is not None
else 0
)
output_lines.append(
f"pvc_vm_memory_stats_minor_fault{{vm=\"{vm['name']}\"}} {minor_fault_memory}"
)
@ -1185,7 +1217,11 @@ def get_resource_metrics(zkhandler):
)
output_lines.append("# TYPE pvc_vm_memory_hugetlb_pgalloc gauge")
for vm in vm_data:
hugetlb_pgalloc_memory = vm["memory_stats"]["hugetlb_pgalloc"]
hugetlb_pgalloc_memory = (
vm["memory_stats"]["hugetlb_pgalloc"]
if vm["memory_stats"].get("hugetlb_pgalloc") is not None
else 0
)
output_lines.append(
f"pvc_vm_memory_stats_hugetlb_pgalloc{{vm=\"{vm['name']}\"}} {hugetlb_pgalloc_memory}"
)
@ -1195,7 +1231,11 @@ def get_resource_metrics(zkhandler):
)
output_lines.append("# TYPE pvc_vm_memory_hugetlb_pgfail gauge")
for vm in vm_data:
hugetlb_pgfail_memory = vm["memory_stats"]["hugetlb_pgfail"]
hugetlb_pgfail_memory = (
vm["memory_stats"]["hugetlb_pgfail"]
if vm["memory_stats"].get("hugetlb_pgfail") is not None
else 0
)
output_lines.append(
f"pvc_vm_memory_stats_hugetlb_pgfail{{vm=\"{vm['name']}\"}} {hugetlb_pgfail_memory}"
)