2016-09-21 7 views
0

현재 Heapster/InfluxDB/Grafana로 구성된 Kubernetes 클러스터가 있습니다.힙 스터 형식의 cAdvisor 사용자 지정 메트릭

이제는 Kubelet에 사용자 지정 메트릭 수집을 위해 응용 프로그램 끝점을 살펴보기 위해 구성된 포함 된 cAdvisor 인스턴스가 있음을 알고 있습니다. http://guoshimin.github.io/2016/06/03/custom-metrics.html : -

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

내가 프로 메테우스의 설정을 사용하고 있다고 생각하는 것 같다

{ 
    "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 오류를 던지고있다

나는이 가이드를 따라 갔다. 내 설정에서 Prometheus가 없기 때문에 메트릭을 수집하고 Heapster로 전달하기 위해 사용해야하는 다른 형식이 있습니까?

답변

2

Kubernetes는 현재 Prometheus 형식의 사용자 지정 메트릭 수집 만 지원합니다. 귀하의 구성은 일반 콜렉터 용이므로 prometheus 수집기는이를 분석 할 수 없습니다.

실험으로 호스트에서 실행되는 컨테이너의 도커 레이블을 io.cadvisor.metric.prometheus에서 io.cadvisor.metric.raw으로 수동 변경할 수 있으며 제대로 작동합니다. Kubernetes에는 자동으로이 작업을 수행 할 수있는 메커니즘이 없습니다.

cAdvisor가 사용자 정의 메트릭을 스크랩하면 힙 스터가 이해하는 형식으로 내 보냅니다. cAdvisor가 메트릭을 가져올 수있는 한 힙 스터는 cAdvisor에서 메트릭을 가져올 수 있습니다.