Kubernetes 1.7 下的 Prometheus 監控


在 Kubernetes 的標準 Heapster + InfluxDB 的監控方案以外,還有一個監控工具就是 Prometheus 了,相比 InfluxDB 來講,Prometheus 有更集中的檢測能力,更多的 Exporter(數據源)支持(不過好像仍是打不過 Zabbix?),以及更新潮。。
node


另外很多新的軟件方案缺省開始支持 Prometheus 的數據抓取,因此,早上早填坑。下面是日前在一個 Kubernetes 1.7.3 集羣中部署 Prometheus 監控遇到的兩個坑,分享一下:git



## cAdvisorgithub


官方示例解釋以下:api


> This is required for Kubernetes 1.7.3 and later, where cAdvisor metrics 微信

> (those whose names begin with 'container_') have been removed from the架構

> Kubelet metrics endpoint.  This job scrapes the cAdvisor endpoint to工具

> retrieve those metrics.ui

>google

> In Kubernetes 1.7.0-1.7.2, these metrics are only exposed on the cAdvisor.net

> HTTP endpoint; use "replacement: /api/v1/nodes/${1}:4194/proxy/metrics"

> in that case (and ensure cAdvisor's HTTP server hasn't been disabled with

> the --cadvisor-port=0 Kubelet flag).


在 Kubernetes 1.7.3 和後續版本中,命名前綴爲`container_` 的 cAdvisor 指標被從 Kubelet 

中移除,這一個 Job 從 cAdvisor 端點中抓取數據。


在 Kubernetes 1.7.0 - 1.7.2 中,這些指標只暴露在 cAdvisor 的 http 端點中,須要使用 

`eplacement: /api/v1/nodes/${1}:4194/proxy/metrics`。(注意保證 cAdvisor 的 http

服務沒有被`--cadvisor-port=0`禁用)。


~~~yaml

- job_name: 'kubernetes-cadvisor'

  scheme: https

  tls_config:

    ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt

  bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token

  kubernetes_sd_configs:

  - role: node

  relabel_configs:

  - action: labelmap

    regex: __meta_kubernetes_node_label_(.+)

  - target_label: __address__

    replacement: kubernetes.default.svc:443

  - source_labels: [__meta_kubernetes_node_name]

    regex: (.+)

    target_label: __metrics_path__

    replacement: /api/v1/nodes/${1}/proxy/metrics/cadvisor

~~~    


## kube-state-metrics


`https://github.com/kubernetes/kube-state-metrics`


網址就能看出,這一服務和 Kubernetes 有點親密。運行以後,可以爲 Prometheus 提供大量詳細指標,

並且這一服務的指標相對來講更具邏輯性,更方便從服務/應用的角度進行監控。


目前容器地址爲(不過能 pull 到最新的 v1.0.0,多是 README 沒有同步):


`gcr.io/google_containers/kube-state-metrics:v0.5.0`


本文分享自微信公衆號 - 僞架構師(fake-architect)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。

相關文章
相關標籤/搜索