容器监控

先把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__

容器监控-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页面下查看,已经多出来kubernetes-cadvisor,因为证书问题无法进行访问

容器监控-2

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

service监控-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页面下查看,已经多出来service

service监控-2