具有heapster格式的cAdvisor自定义指标

时间:2016-09-21 08:45:59

标签: kubernetes heapster cadvisor

我目前有一个配置了Heapster / InfluxDB / Grafana的Kubernetes集群。

我知道Kubelet现在有一个嵌入式cAdvisor实例,我已将其配置为查看应用程序端点以收集自定义指标。

我遵循了本指南:http://guoshimin.github.io/2016/06/03/custom-metrics.html

{
  "endpoint" : "http://localhost:31234/sessions",
  "metrics_config" : [
    {
      "name" : "activeSessions",
      "metric_type" : "gauge",
      "units" : "number of active sessions",
      "data_type" : "int",
      "polling_frequency" : 10,
      "regex" : "Active sessions: ([0-9]+)"
    }
  ]
}

目前Kubelet正在抛出错误 -

failed to create collector for container "/docker/664af6c4c1998514770371267ba6c117c532a448f6301f14fc53ca9798abff5b", config "prometheus": json: cannot unmarshal object into Go value of type string

似乎我认为我正在使用Prometheus配置。我是否应该使用不同的格式来收集指标并将其传递给Heapster,因为我的设置中没有Prometheus?

1 个答案:

答案 0 :(得分:2)

Kubernetes目前仅支持以Prometheus格式收集自定义指标。您的配置适用于通用收集器,因此prometheus收集器无法解析它。

作为实验,您可以手动将主机上运行的容器上的泊坞窗标签从io.cadvisor.metric.raw更改为 <div [hidden]="inicial2" #destroy> <button (click) = "esconde(); destroy.remove()">back</button> <br> Testa <input type="text" name=""> </div> ,它应该可以正常运行。 Kubernetes中没有自动执行此操作的机制。

一旦cAdvisor抓取了自定义指标,它们就会以Heapster理解的格式导出。只要cAdvisor能够获得指标,Heapster就能从cAdvisor获取指标。