容器监控¶
先把Configmap导出为yaml文件:
$ kubectl get cm prometheus-server -o yaml > prometheus_config.yaml
编辑yaml,在scrape_configs: 下面增加如下内容
$ vi prometheus_config.yaml
- job_name: 'kubernetes-cadvisor'
kubernetes_sd_configs:
- role: node
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:
- action: labelmap
regex: __meta_kubernetes_node_label_(.+)
replacement: $1
- source_labels: [__meta_kubernetes_node_name]
regex: (.+)
replacement: /metrics/cadvisor # <nodeip>/metrics -> <nodeip>/metrics/cadvisor
target_label: __metrics_path__

应用配置
$ 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页面下查看,已经多出来kubernetes-cadvisor,因为证书问题无法进行访问

service监控¶
先把Configmap导出为yaml文件:
$ kubectl get cm prometheus-server -o yaml > prometheus_config.yaml
编辑yaml,在scrape_configs: 下面增加如下内容
$ vi prometheus_config.yaml
- job_name: 'kubernetes-service-endpoints'
kubernetes_sd_configs:
- role: endpoints
relabel_configs:
- source_labels: [__meta_kubernetes_service_annotation_prometheus_io_scrape]
action: keep
regex: true
- source_labels: [__meta_kubernetes_service_annotation_prometheus_io_scheme]
action: replace
target_label: __scheme__
regex: (https?)
- source_labels: [__meta_kubernetes_service_annotation_prometheus_io_path]
action: replace
target_label: __metrics_path__
regex: (.+)
- source_labels: [__address__, __meta_kubernetes_service_annotation_prometheus_io_port]
action: replace
target_label: __address__
regex: ([^:]+)(?::\d+)?;(\d+)
replacement: $1:$2
- action: labelmap
regex: __meta_kubernetes_service_label_(.+)
- source_labels: [__meta_kubernetes_namespace]
action: replace
target_label: kubernetes_namespace
- source_labels: [__meta_kubernetes_service_name]
action: replace
target_label: kubernetes_name
- source_labels: [__meta_kubernetes_pod_name]
action: replace
target_label: kubernetes_pod_name

应用配置
$ 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页面下查看,已经多出来service
