监控集群节点

先把Configmap导出为yaml文件:

$ kubectl get cm prometheus-server -o yaml > prometheus_config.yaml

编辑yaml,在scrape_configs: 下面增加如下内容

$ vi prometheus_config.yaml
...
...
      - job_name: 'kubernetes-nodes'
        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
...
...

Prometheus监控Kubernetes集群-1

应用配置

$ kubectl delete -f prometheus_config.yaml ; kubectl apply -f prometheus_config.yaml

重启Prometheus服务

$ kubectl get po  |grep prometheus-server |awk '{print $1}' |xargs -i  kubectl delete po {}

打开浏览器输入http://192.168.1.31:31093访问Prometheus,到Prometheus页面下查看,已经多出来集群节点

Prometheus监控Kubernetes集群-2

监控apiserver

先把Configmap导出为yaml文件:

$ kubectl get cm prometheus-server -o yaml > prometheus_config.yaml

编辑yaml,在scrape_configs: 下面增加如下内容

$ vi prometheus_config.yaml
...
...
      - job_name: 'kubernetes-apiservers'
        kubernetes_sd_configs:
        - role: endpoints
        scheme: https
        tls_config:
          ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
        bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
        relabel_configs:
        - source_labels: [__meta_kubernetes_namespace, __meta_kubernetes_service_name, __meta_kubernetes_endpoint_port_name]
          action: keep
          regex: default;kubernetes;https
...
...

Prometheus监控Kubernetes集群-3

应用配置

$ kubectl delete -f prometheus_config.yaml ; kubectl apply -f prometheus_config.yaml

重启Prometheus服务

$ kubectl get po  |grep prometheus-server |awk '{print $1}' |xargs -i  kubectl delete po {}

打开浏览器输入http://192.168.1.31:31093访问Prometheus,到Prometheus页面下查看,已经多出来apiserver

Prometheus监控Kubernetes集群-4

监控kubelet

先把Configmap导出为yaml文件:

$ kubectl get cm prometheus-server -o yaml > prometheus_config.yaml

编辑yaml,在scrape_configs: 下面增加如下内容

$ vi prometheus_config.yaml
...
...
      - job_name: 'kubernetes-kubelet'
        kubernetes_sd_configs:
        - role: node
        scheme: https
        tls_config:
          ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
          insecure_skip_verify: true
        bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
        relabel_configs:
        - action: labelmap
          regex: __meta_kubernetes_node_label_(.+)
...
...

Prometheus监控Kubernetes集群-5

应用配置

$ kubectl delete -f prometheus_config.yaml ; kubectl apply -f prometheus_config.yaml

重启Prometheus服务

$ kubectl get po  |grep prometheus-server |awk '{print $1}' |xargs -i  kubectl delete po {}

打开浏览器输入http://192.168.1.31:31093访问Prometheus,到Prometheus页面下查看,已经多出来kubelet

Prometheus监控Kubernetes集群-6