监控集群节点¶
先把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
...
...

应用配置
$ 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¶
先把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
...
...

应用配置
$ 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

监控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_(.+)
...
...

应用配置
$ 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
