通过自定义采集任务获取容器服务组件指标

在容器集群监控默认提供的基础采集 Job 中,除容器集群基础指标外,部分指标在可观测监控 Prometheus 版监控中默认未采集。本文介绍如何通过添加自定义采集配置来采集所需要的指标。

前提条件

已接入容器可观测

操作步骤

通过自定义采集配置,采集容器服务组件指标,以_kube-state-metrics Job为例进行说明。

  1. 获取参考配置。

    1. 登录Prometheus控制台,在左侧导航栏单击接入管理

    2. 接入管理页面单击目标接入环境,然后单击指标采集页签。

    3. 在左侧导航栏中单击自定义采集,然后找到cs-default-monitor > _kube-state-metrics > 查看配置,单击查看配置后,复制_kube-state-metrics的采集任务配置。76

  2. 新建自定义Job。

    1. 单击自定义采集页面右侧的新增

    2. 新增自定义采集任务页面,参考下表配置。

      参数名称

      说明

      示例值

      任务名称

      自定义任务名称。

      说明

      自定义任务名称中不要出现大写字母。

      ksm_demo

      采集配置

      1. 1. 获取参考配置中复制的内容作为新建任务的参考配置。

      2. 添加metric_relabel_configs:与relabel_configs同一层级。

      scrape_configs:
      - job_name: ksm_job
        honor_timestamps: true
        scrape_interval: 30s
        scrape_timeout: 30s
        metrics_path: /metrics
        scheme: http
        follow_redirects: true
        
        ## 增加以下内容
        metric_relabel_configs:
        - source_labels:
          - __name__
          regex: (kube_cronjob_next_schedule_time|kube_job_status_start_time|kube_job_spec_completions)
          action: keep
        ## 这里的kube_cronjob_next_schedule_time|kube_job_status_start_time|kube_job_spec_completions为举例说明,如需采集其他指标请自行替换
        
        relabel_configs:
        - action: labelmap
          regex: .*label_o11y_aliyun_dev_(.*)
          replacement: $1
        - source_labels:
          - __meta_kubernetes_service_label_app
          - __meta_kubernetes_service_label_k8s_app
          separator: ;
          regex: (kube-state-metrics);.*|.*;(kube-state-metrics)
          replacement: $1
          action: keep
        - source_labels:
          - __meta_kubernetes_pod_container_port_number
          separator: ;
          regex: 8080
          replacement: $1
          action: keep
        - source_labels:
          - __address__
          - __meta_kubernetes_pod_container_port_number
          separator: ;
          regex: ([^:]+)(?::\d+)?;(\d+)
          target_label: __address__
          replacement: $1:$2
          action: replace
        kubernetes_sd_configs:
        - api_server: https://kubernetes.default:8443
          role: endpoints
          authorization:
            type: Bearer
            credentials_file: /var/run/secrets/kubernetes.io/serviceaccount/token
          tls_config:
            insecure_skip_verify: true
          follow_redirects: true
          namespaces:
            names:
            - cs-ask-c8034dddd2cf646318b63faf1********
    3. 单击检查并创建

  3. 单击自监控页签,查看指标状态。75

    StateUP,说明状态正常。

  4. 单击指标探索页签,查询所需要的指标。74

    说明

    指标的过滤值为新添加的Job name。