프로 메테우스 모니터링 K8S 노드 모니터링

프로 메테우스 모니터링 K8S 노드 모니터링

  NodeExporter 프로젝트 프로 메테우스 커뮤니티, 주요 지표의 호스트가 호스트 성능 데이터의 제어를 달성하기 위해, 각 호스트 하나만 NodeExporter 예에 노드 DeamonSet는 Kubernetes으로 배포 할 수 있습니다 모니터링 할 수 있지만 컨테이너 있기 때문에 원인을 분리 할 수 ​​있습니다 디스크 정보를 호스트 할 수있는 권리를하지 NodeExporter 용기를 사용하므로이 과정은 NodeExporter 호스트에 배포됩니다.

node_exporter : 모니터링 * NIX 시스템, 이동 언어 수집기를 사용

  • 문서를 사용하여 HTTPS : //prometheus.io/docs/guides/node-exporter/
  • GitHub의 : HTTPS : //github.com/prometheus/node_exporter
  • 수출 목록 :은 https : //prometheus.io/docs/instrumenting/exporters/

공식 문서 : HTTPS : //github.com/kubernetes/kube-state-metrics

인덱스 노드 수출 수집 있습니다 :

node_cpu_ * 
 node_disk_ * 
 node_entropy_ * 
 node_filefd_ * 
 node_filesystem_ * 
 node_forks_ * 
 node_intr_total_ * 
 node_ipvs_ * 
 node_load_ * 
 node_memory_ * 
 node_netstat_ * 
 node_network_ * 
 node_nf_conntrack_ * 
 node_scrape_ * 
 node_sockstat_ * 
 node_time_seconds_ * 
 node_timex _ * 
 node_xfs_ *
코드보기

프로필

멋진 프로필 수정

  • # 메테우스 프로필
  • 프로 메테우스 - configmap.yaml
  • # 프로 메테우스 형식 https://prometheus.io/docs/prometheus/latest/configuration/configuration/ 구성 
    apiVersion : V1 
    종류 다음 ConfigMap 형 
    메타 데이터 : 
      이름 : 프로 메테우스 - 구성 
      네임 스페이스 : KUBE - 시스템 
      레이블 : 
        kubernetes.io / 클러스터 - 서비스 - : " 참으로 " 
        addonmanager.kubernetes.io / 모드 : EnsureExists 
    데이터 : 
      # 저장 프로 메테우스 프로파일 
      prometheus.yml : | #의 구성 획득 대상     scrape_configs :
         - 작업 이름 : 프로 메테우스 
          static_configs : - 대상 :
            
        
    
          #의 컬렉션 자체 
            - 로컬 호스트 : 9090 
    
      prometheus.yml : |
         # 구성 수집 대상 
        scrape_configs :
         - 작업 이름 : kubernetes- 노드 
          static_configs :
           - 대상 :
             #의 콜렉션 자체 
            - 192.168.1.110:9100 
            - 192.168.1.111:9100 # 취득 : Apiserver 생존 지수 # apiservers-는 Kubernetes 위해 만든 작업 이름의 이름 
        - 작업 이름 : kubernetes- apiservers의
           #의 발견을 기반으로 K8S 서비스       kubernetes_sd_configs :
           - 역할 : 엔드 포인트의
           # 통신 마크 업 태그의 사용       relabel_configs을 :
           #
        
        
        
    
    일반 일치하는 태그 예약 
          - 액션 :의 Keep
             #이 이미 포함되어 
            정규식 : 기본;는 Kubernetes, HTTPS 
            source_labels :
             - __meta_kubernetes_namespace 
            - __meta_kubernetes_service_name 
            - __meta_kubernetes_endpoint_port_name 
          #의 HTTPS로 사용, 기본 HTTP 
          체계 : HTTPS 
          tls_config : 
            #의 프로 메테우스 액세스 Apiserver 사용 인증 
            ca_file 경우 : / var / RUN / 비밀 / kubernetes.io / serviceaccount / ca.crt
             # HTTPS 인증 건너 
            insecure_skip_verify를 : true로
           #의 프로 메테우스 액세스 Apiserver 사용 인증
          bearer_token_file : /var/run/secrets/kubernetes.io/serviceaccount/ 토큰 
     
        #의 컬렉션 : Kubelet 생존 지수 
        - 작업 이름 :는 Kubernetes - nodes- kubelet의 
          : kubernetes_sd_configs 
          #은 모든 노드의 클러스터 발견 
          - : 노드 역할 
          relabel_configs : 
          #의 정규식에 의해 키에 액세스 정보 
          - 작업 : labelmap 
            : 정규식 __meta_kubernetes_node_label_ (. + ) 
          기법 : 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/ 토큰 
    
        # 采集: 노드 - cadvisor信息 
        - 작업 이름 :는 Kubernetes - nodes- cadvisor의 
          kubernetes_sd_configs :
           - 역할 : 노드 
          relabel_configs :
           - 조치 : labelmap의 
            정규식 : __meta_kubernetes_node_label_ (+. )
           # 重命名标签 
          - target_label : __metrics_path__ 
            교체 : / 측정 / cadvisor의 
          구조 : HTTPS 
          tls_config : 
            ca_file : /var/run/secrets/kubernetes.io/serviceaccount/ ca.crt 
            insecure_skip_verify : 사실 
          bearer_token_file : /var/run/secrets/kubernetes.io/serviceaccount/ 토큰 
    
        #의 컬렉션 : 서비스 엔드 포인트 정보 
        - 작업 이름 :는 Kubernetes - 서비스 - 엔드 포인트
           # 선택 지표 
          kubernetes_sd_configs을 :
           - 역할 : 엔드 포인트의 
          relabel_configs :
           - 작업 : 보관할 것 
            정규식 : true로 
            # 소스 레이블 지정 
            source_labels을 :
             - __meta_kubernetes_service_annotation_prometheus_io_scrape 
          - 액션 : 바꾸기 
            정규식 : (HTTPS?) 
            source_labels을 :
             - __meta_kubernetes_service_annotation_prometheus_io_scheme를
            #의 이름 바꾸기 태그 획득 
            target_label : __scheme__ 
          - 실행 : 대체 
            정규식 (. + ) 
            source_labels :
             - __meta_kubernetes_service_annotation_prometheus_io_path 
            target_label : __metrics_path__ 
          - 액션 : 대체 
            정규식 ([ ^] +), (\ D + (:: \ D +?)? ) 
            여분 : $ 1 : $ 2 
            source_labels :
             - __address__ 
            - __meta_kubernetes_service_annotation_prometheus_io_port 
            target_label : __address__ 
          - 조치 : labelmap의 
            정규식 :__meta_kubernetes_service_label_ (. + )
           - 조치 : 대체 
            source_labels을 :
             - __meta_kubernetes_namespace의 
            target_label을 : kubernetes_namespace
           - 액션 : 바꾸기 
            source_labels을 :
             - __meta_kubernetes_service_name 
            target_label : kubernetes_name의 
    
        #의 컬렉션 :는 Kubernetes - 서비스 서비스 지표 
        - 작업 이름을 : kubernetes- 서비스 
          kubernetes_sd_configs을 :
           - 역할 : 서비스
           # 블랙 박스를 프로빙 IP와 포트를 프로빙 볼 수 있습니다 
          metrics_path는 : / 프로브 
          PARAMS : 
            모듈 :
             - http_2xx
          relabel_configs :
           - 조치 : 계속 
            정규식 : 사실 
            source_labels을 :
             - __meta_kubernetes_service_annotation_prometheus_io_probe 
          - source_labels을 :
             - __address__ 
            target_label : __param_target 
          # 블랙 박스使用进行黑盒探测 
          - 교체 : 블랙 박스 
            target_label : __address__ 
          - source_labels :
             - __param_target 
            target_label : 예
           - 조치 : labelmap의 
            정규식 : __meta_kubernetes_service_label_ . (+ )
          - source_labels :
             - __meta_kubernetes_namespace의 
            target_label : kubernetes_namespace
           - source_labels :
             - __meta_kubernetes_service_name 
            target_label : kubernetes_name의 
    
        # 采集:는 Kubernetes - 포드信息 
        - 작업 이름 : kubernetes- 포드 
          kubernetes_sd_configs :
           - 역할 : 포드 
          relabel_configs :
           - 조치 : 계속 
            정규식 : 사실 
            source_labels : 
            # 只保留采集的信息 
            - __meta_kubernetes_pod_annotation_prometheus_io_scrape 
          - 액션 : 대체
            . 정규식 ( +  )
            source_labels :
             - __meta_kubernetes_pod_annotation_prometheus_io_path 
            target_label : __metrics_path__ 
          - 실행 : 대체 
            정규식 ([ ^] +) (: \ D +) (\ D +? ) 
            여분 : $ 1 : $ 2 
            source_labels : 
            # 采集地址 
            - __address__ 
            # 采集端口 
            - __meta_kubernetes_pod_annotation_prometheus_io_port 
            target_label : __address__ 
          - 조치 : labelmap 
            정규식 : __meta_kubernetes_pod_label_ (. + )
           - 액션 : 대체
            source_labels :
             - __meta_kubernetes_namespace의 
            target_label : kubernetes_namespace
           - 작업 : 교체 
            source_labels을 :
             - __meta_kubernetes_pod_name 
            target_label : kubernetes_pod_name은 
        경고 : 
          #의 경고 프로필 
          alertmanagers :
           - kubernetes_sd_configs :
               # 동적 인수 
              - 역할 : POD의 
            tls_config : 
              ca_file : / var에 / RUN / 비밀 /는 Kubernetes. IO / serviceaccount / ca.crt 
            bearer_token_file : /var/run/secrets/kubernetes.io/serviceaccount/ 토큰
            relabel_configs :
             - source_labels : [ __meta_kubernetes_namespace ] 
              정규식 : KUBE - 시스템 
              조치 : 유지
             - source_labels을 : [ __meta_kubernetes_pod_label_k8s_app ] 
              정규식 : alertmanager 
              조치 : 유지
             - source_labels을 : [ __meta_kubernetes_pod_container_port_number ] 
              정규식 : 
              조치 : 드롭
    프로필

Node 부서 : node_exporter

1, 구성 파일을 적용하려면

-f 프로 메테우스 - configmap.yaml을 적용 kubectl 

 2 볼 경우 발효

 3, Grafana 시각화 템플릿을 사용하여 : 9276

 4 그룹을 선택

 

5, 노드 정보 (그 표시에 따라 트리밍)

 

추천

출처www.cnblogs.com/xiangsikai/p/11432925.html