本文说明如何创建Prometheus实例 for KubernetesKubernetes类型的Prometheus实例),即如何将自建或非阿里云容器服务的Kubernetes集群接入Prometheus监控,从而使用预定义的大盘监控主机和Kubernetes集群的众多性能指标。

前提条件

已开通ARMS。具体操作,请参见开通ARMS
说明

如果您的Kubernetes集群已接入阿里云内网,请参见本文将Kubernetes集群接入Prometheus监控;如果您的Kubernetes集群为公网集群,集群接入Prometheus监控的具体操作,请参见ACK注册集群公网接入Prometheus监控

这里可以通过将自建或非阿里云容器服务的Kubernetes集群接入Prometheus监控,您需要先在容器服务Kubernetes版接入一个注册的Kubernetes集群。具体操作,请参见创建注册集群并接入本地数据中心集群,然后按照以下步骤完成接入。

(推荐)方式一:使用onectl CLI配置接入

关于onectl CLI配置具体操作,请参见使用onectl配置注册集群

onectl配置完成后,执行以下命令,即可自动配置和安装ack-arms-prometheus组件。

onectl addon install ack-arms-prometheus

方式二:手工配置接入

步骤1:授予ack-arms-prometheus组件的云服务访问权限

如果您使用公网接入注册集群,在注册集群中安装组件前,您需要在接入集群中设置AccessKey用来访问云服务的权限。如果您是使用内网接入注册集群,配置AccessKey步骤可跳过。

执行以下命令,查看集群是否使用内网接入注册集群。

kubectl -n kube-system get deploy ack-cluster-agent -o=jsonpath='{.spec.template.spec.containers[0].env[?(@.name=="INTERNAL_ENDPOINT")].value}'
  • 若输出为true:表示使用内网接入。
  • 若输出为false:表示使用公网接入。您需要按照以下方式配置AccessKey。

展开查看如何配置AccessKey

  1. 创建RAM用户。具体操作,请参见创建RAM用户
  2. 创建自定义权限策略。具体操作,请参见创建自定义权限策略。ack-arms-prometheus组件需要的权限策略内容如下。
    {
        "Version": "1",
        "Statement": [
            {
                "Action": [
                    "arms:Describe*",
                    "arms:List*",
                    "arms:Get*",
                    "arms:Search*",
                    "arms:Check*",
                    "arms:Query*"
                ],
                "Resource": "*",
                "Effect": "Allow"
            }
        ]
    }
  3. 为RAM用户添加权限。具体操作,请参见为RAM用户授权
  4. 为RAM用户创建AccessKey。具体操作,请参见获取AccessKey
  5. 使用AccessKey在注册集群中创建名为alibaba-addon-secret的Secret资源。

    执行以下命令,创建Logtail组件使用的Secret。

    kubectl -n arms-prom create secret generic alibaba-addon-secret --from-literal='access-key-id=<your AccessKey ID>' --from-literal='access-key-secret=<your AccessKey Secret>'
    说明 <your AccessKey ID><your AccessKey Secret>为上一步获取的AccessKey信息。

步骤2:安装ack-arms-prometheus组件

  1. 登录容器服务管理控制台,在左侧导航栏中选择集群
  2. 集群列表页面中,单击目标集群名称,然后在左侧导航栏中,选择应用 > Helm
    Helm页面存在arms-prometheus和arms-prom安装记录,请删除对应的安装记录后,再按照后续操作重新接入。
  3. 在集群管理页左侧导航栏中,选择运维管理 > 组件管理
  4. 组件管理页面,单击日志与监控页签。
  5. 找到ack-arms-prometheus卡片,单击右下角的安装。然后单击确定
    安装完成后,您可登录Prometheus控制台。进入对应集群实例,查看监控数据和定义告警规则。更多信息,请参见ARMS Prometheus监控创建Prometheus监控报警

查看Prometheus监控指标

将自建或非阿里云的Kubernetes集群接入Prometheus监控成功后,可以通过Grafana大盘查看监控数据。

  1. 登录ARMS控制台
  2. 在左侧导航栏选择Prometheus监控 > 实例列表,进入Prometheus监控的实例列表页面。
  3. 单击目标Prometheus实例名称,在左侧导航栏单击大盘列表
  4. 大盘列表页面单击需要查看的大盘。
    说明 关于Grafana大盘的说明,请参见基础大盘说明

停止监控自建Kubernetes集群

如需停止使用Prometheus监控对自建Kubernetes集群进行监控,请按照以下步骤卸载插件。

  1. 登录ARMS控制台
  2. 在左侧导航栏选择Prometheus监控 > 实例列表,进入Prometheus监控的实例列表页面。
  3. Prometheus监控页面选中目标Prometheus实例,然后在其右侧操作列单击卸载,并在弹出的对话框中单击确认
    卸载完成后,Prometheus监控页面不再显示该Prometheus实例