我目前有一个配置了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?
答案 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获取指标。