simplify info metric
This commit is contained in:
@@ -9,7 +9,7 @@ import asyncio
|
||||
import aiohttp
|
||||
import urllib3
|
||||
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
|
||||
@@ -77,23 +77,8 @@ watts_gauge = Gauge(
|
||||
amps_gauge = Gauge(
|
||||
"redfish_psu_input_amps", "Current draw in Amps per PSU", ["host", "psu_serial"]
|
||||
)
|
||||
|
||||
redfish_version_gauge = Gauge(
|
||||
"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"]
|
||||
)
|
||||
|
||||
# set info metric
|
||||
system_info = Info("redfish_system_info", "System information (vendor, model, serial, etc.)", ["host"])
|
||||
|
||||
@REQUEST_TIME.time()
|
||||
async def process_request(t):
|
||||
@@ -352,7 +337,7 @@ async def get_system_info(session, host: HostConfig):
|
||||
if not root_data:
|
||||
host.mark_failure()
|
||||
return
|
||||
|
||||
|
||||
redfish_version = root_data.get("RedfishVersion")
|
||||
vendor = root_data.get("Vendor")
|
||||
|
||||
@@ -362,11 +347,6 @@ async def get_system_info(session, host: HostConfig):
|
||||
if not systems_data:
|
||||
host.mark_failure()
|
||||
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
|
||||
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")
|
||||
|
||||
# Hier könnte ihre Werbung stehen
|
||||
manufacturer_gauge.labels(host=host.fqdn, manufacturer=manufacturer).set(1)
|
||||
model_gauge.labels(host=host.fqdn, model=model).set(1)
|
||||
serial_gauge.labels(host=host.fqdn, serial_number=serial_number).set(1)
|
||||
system_info.labels(host=host.fqdn).info(
|
||||
{
|
||||
"vendor": vendor,
|
||||
"manufacturer": manufacturer,
|
||||
"model": model,
|
||||
"serial_number": serial_number,
|
||||
"redfish_version": redfish_version,
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user