Commit 0f33f775 authored by 胡凯旋's avatar 胡凯旋

fix bug

parent e0947312
......@@ -2,6 +2,8 @@
import abc
import math
import pprint
import time
import json
from prometheus_client.core import GaugeMetricFamily
......@@ -66,8 +68,12 @@ class TencentExporter(Exporter):
'rds_name', 'type', 'service_provider', 'project'
])
if len(instance_data_list) != len(self.instances):
print(time.ctime(), label, u"取得监控数据的机器数量与配置的机器数量不一致", len(instance_data_list))
pprint.pprint(instance_data_list)
for instance_data in instance_data_list:
timestamp_value_dict = dict(zip(instance_data['Timestamps'], instance_data['Values']))
value = instance_data['Values'][-1]
instance_id = instance_data['Dimensions'][0]['Value']
instance = self.instances[instance_id]
instance_name = instance['name']
......@@ -75,9 +81,8 @@ class TencentExporter(Exporter):
instance_project = instance.get('project', 'gengmei')
# 当前queryname,当前rds实例的因子,若没有配置,默认为1
rds_factor = instance.get(factor, 1)
for value in timestamp_value_dict.values():
avg_metric_family.add_metric([instance_name, instance_type, service_provider, instance_project], value)
with_factor_metric_family.add_metric(
avg_metric_family.add_metric([instance_name, instance_type, service_provider, instance_project], value)
with_factor_metric_family.add_metric(
['{}*{}'.format(instance_name,rds_factor), instance_type, service_provider, instance_project],
value*rds_factor)
metrics_to_export.extend([avg_metric_family, with_factor_metric_family])
......@@ -91,7 +96,7 @@ class TencentExporter(Exporter):
for instance in instance_data_list:
# 腾讯云CPU利用率/内存使用率返回的是0-100(%), 转化成 0-1
if label in ["CPUUseRate", "MemoryUseRate"]:
instance['Values'][:] = map(lambda v: v/100, instance['Values'])
instance['Values'][:] = map(lambda v: v/100.0, instance['Values'])
class AliyunExporter(Exporter):
......@@ -135,7 +140,7 @@ class AliyunExporter(Exporter):
max_metric_family = GaugeMetricFamily(max_metricname,
max_metricname, labels=['rds_name', 'type', 'service_provider'])
with_factor_metricname = '{}_with_factor'.format(metricname)
with_factor_metric_family = GaugeMetricFamily(with_factor_metricname,
with_factor_metric_family = GaugeMetricFamily(with_factor_metricname,
with_factor_metricname, labels=['rds_name', 'type', 'service_provider'])
for point in datapoints:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment