2016-09-21 5 views
0

現在、Heapster/InfluxDB/Grafanaで構成されたKubernetesクラスタがあります。ヒープスター形式のcAdvisorカスタムメトリック

私は、カスタムメトリックを収集するためにアプリケーションエンドポイントを見るように設定した埋め込みcAdvisorインスタンスがKubeletに追加されていることは知っています。

私は、このガイドに従っ: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 

私はプロメテウスの設定を使用していますことを考えているようです。メトリックを収集して、私がセットアップでプロメテウスを持っていないので、Heapsterに渡すために使用するフォーマットがありますか?

答えて

2

現在、Kubernetesはプロメテウス形式のカスタムメトリックの収集のみをサポートしています。あなたの設定は一般的なコレクターのため、プロメテウスのコレクターはそれを解析することができません。

実験では、ホスト上で実行されているコンテナのドッカーラベルをio.cadvisor.metric.prometheusからio.cadvisor.metric.rawに手動で変更することができます。 Kubernetesには自動的にこれを行う仕組みはない。

cAdvisorがカスタムメトリックをスクラップしたら、ヒープスターが理解できる形式でエクスポートされます。 cAdvisorがメトリックを取得できる限り、HeapsterはcAdvisorからメトリックを取得できます。

関連する問題