2017-12-18 160 views
0

我在kubeadm製作的多節點kubernetes集羣上部署了prometheus 2.0。在訪問prometheus儀表板時,即使在prometheus配置yaml文件中配置它後,我也無法查看pod和服務作業。普羅米修斯目標如下:。 這個問題與普羅米修斯版本有什麼關係。我想我錯了配置的語法部分。Kubernetes吊艙和服務沒有在普羅米修斯目標中顯示

global: 
 
    scrape_interval: 5s 
 
    scrape_timeout: 5s 
 
    evaluation_interval: 5s 
 
scrape_configs: 
 
- job_name: kubernetes-apiservers 
 
    scrape_interval: 5s 
 
    scrape_timeout: 5s 
 
    metrics_path: /metrics 
 
    scheme: https 
 
    kubernetes_sd_configs: 
 
    - api_server: null 
 
    role: endpoints 
 
    namespaces: 
 
     names: [] 
 
    bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token 
 
    tls_config: 
 
    ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt 
 
    insecure_skip_verify: false 
 
    relabel_configs: 
 
    - source_labels: [__meta_kubernetes_namespace, __meta_kubernetes_service_name, __meta_kubernetes_endpoint_port_name] 
 
    separator: ; 
 
    regex: default;kubernetes;https 
 
    replacement: $1 
 
    action: keep 
 
- job_name: kubernetes-nodes 
 
    scrape_interval: 5s 
 
    scrape_timeout: 5s 
 
    metrics_path: /metrics 
 
    scheme: https 
 
    kubernetes_sd_configs: 
 
    - api_server: null 
 
    role: node 
 
    namespaces: 
 
     names: [] 
 
    bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token 
 
    tls_config: 
 
    ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt 
 
    insecure_skip_verify: false 
 
    relabel_configs: 
 
    - separator: ; 
 
    regex: __meta_kubernetes_node_label_(.+) 
 
    replacement: $1 
 
    action: labelmap 
 
    - separator: ; 
 
    regex: (.*) 
 
    target_label: __address__ 
 
    replacement: kubernetes.default.svc:443 
 
    action: replace 
 
    - source_labels: [__meta_kubernetes_node_name] 
 
    separator: ; 
 
    regex: (.+) 
 
    target_label: __metrics_path__ 
 
    replacement: /api/v1/nodes/${1}/proxy/metrics 
 
    action: replace 
 
- job_name: kubernetes-pods 
 
    scrape_interval: 5s 
 
    scrape_timeout: 5s 
 
    metrics_path: /metrics 
 
    scheme: https 
 
    kubernetes_sd_configs: 
 
    - api_server: null 
 
    role: pod 
 
    namespaces: 
 
     names: [] 
 
    bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token 
 
    tls_config: 
 
    ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt 
 
    insecure_skip_verify: false 
 
    relabel_configs: 
 
    - source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_scrape] 
 
    separator: ; 
 
    regex: "true" 
 
    replacement: $1 
 
    action: keep 
 
    - source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_path] 
 
    separator: ; 
 
    regex: (.+) 
 
    target_label: __metrics_path__ 
 
    replacement: $1 
 
    action: replace 
 
    - source_labels: [__address__, __meta_kubernetes_pod_annotation_prometheus_io_port] 
 
    separator: ; 
 
    regex: ([^:]+)(?::\d+)?;(\d+) 
 
    target_label: __address__ 
 
    replacement: $1:$2 
 
    action: replace 
 
    - separator: ; 
 
    regex: __meta_kubernetes_pod_label_(.+) 
 
    replacement: $1 
 
    action: labelmap 
 
    - source_labels: [__meta_kubernetes_namespace] 
 
    separator: ; 
 
    regex: (.*) 
 
    target_label: kubernetes_namespace 
 
    replacement: $1 
 
    action: replace 
 
    - source_labels: [__meta_kubernetes_pod_name] 
 
    separator: ; 
 
    regex: (.*) 
 
    target_label: kubernetes_pod_name 
 
    replacement: $1 
 
    action: replace 
 
- job_name: kubernetes-cadvisor 
 
    scrape_interval: 5s 
 
    scrape_timeout: 5s 
 
    metrics_path: /metrics 
 
    scheme: https 
 
    kubernetes_sd_configs: 
 
    - api_server: null 
 
    role: node 
 
    namespaces: 
 
     names: [] 
 
    bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token 
 
    tls_config: 
 
    ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt 
 
    insecure_skip_verify: false 
 
    relabel_configs: 
 
    - separator: ; 
 
    regex: __meta_kubernetes_node_label_(.+) 
 
    replacement: $1 
 
    action: labelmap 
 
    - separator: ; 
 
    regex: (.*) 
 
    target_label: __address__ 
 
    replacement: kubernetes.default.svc:443 
 
    action: replace 
 
    - source_labels: [__meta_kubernetes_node_name] 
 
    separator: ; 
 
    regex: (.+) 
 
    target_label: __metrics_path__ 
 
    replacement: /api/v1/nodes/${1}/proxy/metrics/cadvisor 
 
    action: replace 
 
- job_name: kubernetes-service-endpoints 
 
    scrape_interval: 5s 
 
    scrape_timeout: 5s 
 
    metrics_path: /metrics 
 
    scheme: https 
 
    kubernetes_sd_configs: 
 
    - api_server: null 
 
    role: endpoints 
 
    namespaces: 
 
     names: [] 
 
    relabel_configs: 
 
    - source_labels: [__meta_kubernetes_service_annotation_prometheus_io_scrape] 
 
    separator: ; 
 
    regex: "true" 
 
    replacement: $1 
 
    action: keep 
 
    - source_labels: [__meta_kubernetes_service_annotation_prometheus_io_scheme] 
 
    separator: ; 
 
    regex: (https?) 
 
    target_label: __scheme__ 
 
    replacement: $1 
 
    action: replace 
 
    - source_labels: [__meta_kubernetes_service_annotation_prometheus_io_path] 
 
    separator: ; 
 
    regex: (.+) 
 
    target_label: __metrics_path__ 
 
    replacement: $1 
 
    action: replace 
 
    - source_labels: [__address__, __meta_kubernetes_service_annotation_prometheus_io_port] 
 
    separator: ; 
 
    regex: ([^:]+)(?::\d+)?;(\d+) 
 
    target_label: __address__ 
 
    replacement: $1:$2 
 
    action: replace 
 
    - separator: ; 
 
    regex: __meta_kubernetes_service_label_(.+) 
 
    replacement: $1 
 
    action: labelmap 
 
    - source_labels: [__meta_kubernetes_namespace] 
 
    separator: ; 
 
    regex: (.*) 
 
    target_label: kubernetes_namespace 
 
    replacement: $1 
 
    action: replace 
 
    - source_labels: [__meta_kubernetes_service_name] 
 
    separator: ; 
 
    regex: (.*) 
 
    target_label: kubernetes_name 
 
    replacement: $1 
 
    action: replace

感謝

+0

請粘貼在這裏配置,而不是一個畫面鏈接的。除此之外:你試過什麼Prometheus查詢? – svenwltr

+0

當我點擊「http://172.30.20.78:32343/api/v1/query_range?query=container_memory_usage_bytes{job="kubernetes-pods"}&start=2017-12-14T16:36:51.781Z&end=2017-12 -14T23:42:51.781Z&step = 1h 「 。我沒有收到任何數據。結果就是成功即將到來。 –

回答

1

我假設你正在做你的評論貼查詢:

container_memory_usage_bytes{job="kubernetes-pods"} 

這是不行的,因爲你被過濾工作名稱kubernetes-pods,但container_memory_usage_bytes來自cAdvisor。因此根據您的配置,作業名爲kubernetes-cadvisor

所以這應該工作:

container_memory_usage_bytes{job="kubernetes-cadvisor"} 

由於該系列的名稱是相當獨特的,你可以省略作業名稱:

container_memory_usage_bytes 
+0

感謝您的好解釋。那麼您是否認爲kubernetes-cadvisor工作會給出像pod指標數據(內存,CPU等)? –

+0

是的。從[項目描述](https://github.com/google/cadvisor):「分析正在運行的容器的資源使用情況和性能特徵。」 – svenwltr

+0

好了,謝謝。 –

相關問題