在容器集群监控默认提供的基础采集 Job 中,除容器集群基础指标外,部分指标在可观测监控 Prometheus 版监控中默认未采集。本文介绍如何通过添加自定义采集配置来采集所需要的指标。
前提条件
已接入容器可观测。
操作步骤
通过自定义采集配置,采集容器服务组件指标,以_kube-state-metrics
Job为例进行说明。
获取参考配置。
登录ARMS控制台,在左侧导航栏单击接入管理。
在接入管理页面单击目标接入环境,然后单击指标采集页签。
在左侧导航栏中单击自定义采集,然后找到
,单击查看配置后,复制_kube-state-metrics
的采集任务配置。
新建自定义Job。
单击自定义采集页面右侧的新增。
在新增自定义采集任务页面,参考下表配置。
参数名称
说明
示例值
任务名称
自定义任务名称。
说明自定义任务名称中不要出现大写字母。
ksm_demo
采集配置
将1. 获取参考配置中复制的内容作为新建任务的参考配置。
添加
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********
单击检查并创建。
单击自监控页签,查看指标状态。
State为UP,说明状态正常。
单击指标探索页签,查询所需要的指标。
说明指标的过滤值为新添加的Job name。
该文章对您有帮助吗?