simplify info metric
This commit is contained in:
@@ -9,7 +9,7 @@ import asyncio
|
|||||||
import aiohttp
|
import aiohttp
|
||||||
import urllib3
|
import urllib3
|
||||||
import yaml
|
import yaml
|
||||||
from prometheus_client import Gauge, start_http_server, Summary, Counter, Histogram
|
from prometheus_client import Gauge, start_http_server, Summary, Counter, Histogram, Info
|
||||||
|
|
||||||
|
|
||||||
@dataclass
|
@dataclass
|
||||||
@@ -77,23 +77,8 @@ watts_gauge = Gauge(
|
|||||||
amps_gauge = Gauge(
|
amps_gauge = Gauge(
|
||||||
"redfish_psu_input_amps", "Current draw in Amps per PSU", ["host", "psu_serial"]
|
"redfish_psu_input_amps", "Current draw in Amps per PSU", ["host", "psu_serial"]
|
||||||
)
|
)
|
||||||
|
# set info metric
|
||||||
redfish_version_gauge = Gauge(
|
system_info = Info("redfish_system_info", "System information (vendor, model, serial, etc.)", ["host"])
|
||||||
"system_redfish_version", "Current Redfish Version", ["host", "redfish_version"]
|
|
||||||
)
|
|
||||||
vendor_gauge = Gauge(
|
|
||||||
"server_vendor", "Server Vendor", ["host", "vendor"]
|
|
||||||
)
|
|
||||||
manufacturer_gauge = Gauge(
|
|
||||||
"server_manufacturer", "Server Manufacturer", ["host", "manufacturer"]
|
|
||||||
)
|
|
||||||
model_gauge = Gauge(
|
|
||||||
"server_model", "Server Model", ["host", "model"]
|
|
||||||
)
|
|
||||||
serial_gauge = Gauge(
|
|
||||||
"server_serial", "Serial number of server", ["host", "serial_number"]
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
@REQUEST_TIME.time()
|
@REQUEST_TIME.time()
|
||||||
async def process_request(t):
|
async def process_request(t):
|
||||||
@@ -352,7 +337,7 @@ async def get_system_info(session, host: HostConfig):
|
|||||||
if not root_data:
|
if not root_data:
|
||||||
host.mark_failure()
|
host.mark_failure()
|
||||||
return
|
return
|
||||||
|
|
||||||
redfish_version = root_data.get("RedfishVersion")
|
redfish_version = root_data.get("RedfishVersion")
|
||||||
vendor = root_data.get("Vendor")
|
vendor = root_data.get("Vendor")
|
||||||
|
|
||||||
@@ -362,11 +347,6 @@ async def get_system_info(session, host: HostConfig):
|
|||||||
if not systems_data:
|
if not systems_data:
|
||||||
host.mark_failure()
|
host.mark_failure()
|
||||||
return
|
return
|
||||||
|
|
||||||
redfish_version_gauge.labels(host=host.fqdn, redfish_version=redfish_version).set(1)
|
|
||||||
vendor_gauge.labels(host=host.fqdn, vendor=vendor).set(1)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# loop for each system members
|
# loop for each system members
|
||||||
for system_member in systems_data.get("Members", []):
|
for system_member in systems_data.get("Members", []):
|
||||||
@@ -383,9 +363,15 @@ async def get_system_info(session, host: HostConfig):
|
|||||||
serial_number = system_data.get("SerialNumber")
|
serial_number = system_data.get("SerialNumber")
|
||||||
|
|
||||||
# Hier könnte ihre Werbung stehen
|
# Hier könnte ihre Werbung stehen
|
||||||
manufacturer_gauge.labels(host=host.fqdn, manufacturer=manufacturer).set(1)
|
system_info.labels(host=host.fqdn).info(
|
||||||
model_gauge.labels(host=host.fqdn, model=model).set(1)
|
{
|
||||||
serial_gauge.labels(host=host.fqdn, serial_number=serial_number).set(1)
|
"vendor": vendor,
|
||||||
|
"manufacturer": manufacturer,
|
||||||
|
"model": model,
|
||||||
|
"serial_number": serial_number,
|
||||||
|
"redfish_version": redfish_version,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user