aylei / aliyun-exporter

Prometheus exporter for Alibaba Cloud Monitor
Apache License 2.0
276 stars 152 forks source link

ecs info metrics fetch error #9

Closed aylei closed 5 years ago

aylei commented 5 years ago
Traceback (most recent call last):
  File "/usr/local/bin/aliyun-exporter", line 11, in <module>
    load_entry_point('aliyun-exporter', 'console_scripts', 'aliyun-exporter')()
  File "/usr/src/app/aliyun_exporter/__init__.py", line 39, in main
    REGISTRY.register(collector)
  File "/usr/local/lib/python3.7/site-packages/prometheus_client/registry.py", line 24, in register
    names = self._get_names(collector)
  File "/usr/local/lib/python3.7/site-packages/prometheus_client/registry.py", line 64, in _get_names
    for metric in desc_func():
  File "/usr/src/app/aliyun_exporter/collector.py", line 136, in collect
    yield self.info_provider.get_metrics(resource)
  File "/usr/local/lib/python3.7/site-packages/cachetools/__init__.py", line 46, in wrapper
    v = func(*args, **kwargs)
  File "/usr/src/app/aliyun_exporter/info_provider.py", line 38, in get_metrics
    }[resource]()
  File "/usr/src/app/aliyun_exporter/info_provider.py", line 35, in <lambda>
    'ecs': lambda : self.ecs_info(),
  File "/usr/src/app/aliyun_exporter/info_provider.py", line 47, in ecs_info
    return self.info_template(req, 'aliyun_meta_ecs_info', nested_handler=nested_handler)
  File "/usr/src/app/aliyun_exporter/info_provider.py", line 74, in info_template
    gauge.add_metric(labels=self.label_values(instance, label_keys, nested_handler), value=1.0)
  File "/usr/local/lib/python3.7/site-packages/prometheus_client/metrics_core.py", line 145, in add_metric
    self.samples.append(Sample(self.name, dict(zip(self._labelnames, labels)), value, timestamp))
  File "/usr/src/app/aliyun_exporter/info_provider.py", line 99, in <lambda>
    return map(lambda k: str(nested_handler[k](instance[k])) if k in nested_handler else str(instance[k]),

The response json has changed so the nest_handler should be updated accordingly, moreover, nest_handler should be safe for un-wanted structure.

aylei commented 5 years ago

close via #10