自建的Kubernetes集群接入Prometheus监控后,无法直接通过控制台进行Prometheus相关配置,而是需要自行通过Kubectl命令方式配置Promethues.yaml、废弃指标、设置Agent副本数以及升级Helm版本。

前提条件

已接入自建的Kubernetes集群,具体操作,请参见Prometheus实例 for Kubernetes

编辑promethues.yaml文件

  1. 创建一个promethues.yaml文件,您可以配置服务发现,实现远程读写地址等。示例如下:
    apiVersion: v1
    kind: ConfigMap
    metadata:
      name:  
    arms-prom-prometheus-yaml
      namespace: arms-prom
      labels:
        target: arms
        type: prometheus-yaml
    data:
      promYaml: |
        remote_write:
           // 替换为您的Remote Write地址。
              - url: "http://ts-xxxxxxxxxxxx.hitsdb.rds.aliyuncs.com:3242/api/prom_write"
              basic_auth:   
                //username和password分别对应您阿里云账号的AccessKey ID和AccessKey Secret。
                username: access-key-id
                password: access-key-secret
    说明
    • remote_write:需要替换为您的Remote Write地址。获取该地址的具体操作,请参见获取Remote Write地址
    • usernamepassword分别对应您阿里云账号的AccessKey ID和AccessKey Secret。获取AccessKey的操作,请参见获取AccessKey
  2. 在对应目录执行以下命令:
    kubectl apply -f prometheus.yaml

配置废弃指标

当您不再需要采集某些自定义指标时,为了避免这些自定义指标继续产生费用,您可以废弃这些自定义指标。已经配置为废弃的自定义指标将不再继续产生费用。

通过创建drop-metric.yaml文件配置废弃指标。示例如下:

apiVersion: v1
kind: ConfigMap
metadata:
  name: arms-prom-drop-metric
  namespace: arms-prom
  labels:
    target: arms
    type: drop-metric
data:
  dropMetric: |
    container_memory_rss
    container_memory_failures_total
    apiserver_request_total
    kube_pod_container_status_waiting_reason
    container_cpu_load_average_10s
    container_memory_max_usage_bytes   
说明 dropMetric:之后的内容就是您需要废弃的指标,请您根据实际情况进行替换。

设置Agent副本数

若您配置的Agent副本数量不足,导致Agent不断产生内存溢出发生重启。您可以调整Agent副本数实现自动扩容。

执行以下命令调整Agent副本数。示例如下:

kubectl scale deployment arms-prometheus-ack-arms-prometheus --replicas 3 -n arms-prom
说明 命令中的3为当前设置的Agent副本数,请您根据实际情况进行替换,建议扩容的副本数≥3。

升级Helm版本

阿里云Prometheus监控支持升级Helm版本。查看Helm的版本信息,请参见升级Helm版本

  1. 执行以下命令,查看Helm当前版本信息。
    helm list -n arms-prom
  2. 执行以下命令,查看Helm最新版本信息。
    helm search repo ack-arms-prometheus -n arms-prom 

    回显信息如下:

    jl
  3. 如上图所示,若12的回显信息中查询到的Helm版本号一致,则不需要升级Helm版本,否则,执行以下命令升级Helm版本。
    helm upgrade arms-prometheus aliyun/ack-arms-prometheus -n arms-prom
  4. 执行以下命令,可查看Helm历史版本记录。
    helm history arms-prometheus -n arms-prom

    回显信息如下:

    jkl