我正在尝试遍历列表并获取密钥和我需要的相应值,例如category
,current_severity
,event
,{{1 }}和component_name
。
我面临的挑战是,列表的内容可能会更改,例如键和值将保持不变,但节数可能更少,为零或更多。所以我需要更动态的东西。
我需要将动态创建的变量分配给普罗米修斯指标,这也需要保持动态。
我试图创建这样的动态变量,它可以部分工作,就像创建重复项一样。
我尝试的代码:-
component_type
这会打印出重复的内容,例如
url = htpp://url
data = json.loads(r.get(url, headers=headers,
verify=False).content.decode('UTF-8'))
var = string.ascii_lowercase
d = {}
k = 0
for value in data:
d[var[k]] = value['software']
k += 1
d[var[k]] = value['current_severity']
k += 1
print(d)
我想将值分配给变量,并将这些值分配给普罗米修斯度量标准。 Prometheus度量标准还将根据其中有多少个变量来创建。
我想要的输出:
{'a': 'software', 'b': low}
{'a': 'software', 'b': low, 'c': 'software', 'd': medium}
应动态创建metric = Metric('prometheus_metric_name', 'prometheus metric name', 'gauge')
metric.add_sample('prometheus_metric_name', value=float(0), labels={'software':(variable of software will go here), 'severity':(variable of current_severity will go here)})
行,以返回多少节。以下是metric.add_sample
data
按节的意思是-在以上[{'category': 'software', 'code': 110, 'actual': '["5.1.4"]', 'opened':
'2018-10-16T09:18:12Z', 'component_type': 'update', 'event': 'new update
available', 'current_severity': 'info', 'details': '', 'expected': None,
'id': 10088862, 'component_name': 'Purity//FA'}, {'category': 'software',
'code': 67, 'actual': None, 'opened': '2018-10-18T01:14:45Z',
'component_type': 'host', 'event': 'misconfiguration', 'current_severity':
'critical', 'details': '', 'expected': None, 'id': 10088898,
'component_name': 'pudc-vm-001'}
中有两个节。因此,我需要从中获得键和值对,并为其分配和创建度量。