2017-12-18 159 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

好了,谢谢。 –

相关问题