将arms-prometheus接入注册集群

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
简介: 注册的集群接入arms-prometheus能为分布在各处的Kubernetes集群提供统一的管理方式。本文介绍如何通过容器服务Kubernetes版中的应用将arms-prometheus接入至注册的Kubernetes集群。

前提条件

您已通过容器服务Kubernetes版接入一个注册的Kubernetes集群。具体操作,请参见创建注册集群并接入本地数据中心集群


步骤一 为arms-prometheus组件配置RAM权限

注意:如果您是使用内网接入接入注册集群,则此步骤可以略过。如果您是使用公网接入注册集群,那么在注册集群中安装组件前,您需要在接入集群中设置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


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

参见 https://developer.aliyun.com/article/1059820

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

onectl addon install ack-arms-prometheus


方式二 自定义配置

  1. 创建RAM用户。具体操作,请参见创建RAM用户
  2. 创建权限策略。具体操作,请参见创建自定义策略

arms-prometheus组件需要的权限策略信息如下:

{
    "Version": "1",
    "Statement": [
        {
            "Action": [
                "arms:Describe*",
                "arms:List*",
                "arms:Get*",
                "arms:Search*",
                "arms:Check*",
                "arms:Query*"
            ],
            "Resource": "*",
            "Effect": "Allow"
        }
    ]
}
  1. 为RAM用户添加权限。具体操作,请参见为RAM用户授权
  2. 为RAM用户创建AccessKey。具体操作,请参见获取AccessKey
  3. 使用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>'

步骤二:安装arms-prometheus组件

  1. 登录容器服务管理控制台
  2. 在控制台左侧导航栏中,单击集群
  3. 集群列表页面,选择目标集群,并在目标集群右侧操作列下,选择更多 > 系统组件管理
  4. 单击日志与监控页签,在ack-arms-prometheus组件区域单击安装
  5. 提示对话框单击确定



步骤三:验证组件是否正常工作

安装完成后,您可登录Prometheus控制台。进入对应集群实例,查看监控数据和定义告警规则。更多信息,请参见ARMS Prometheus监控创建Prometheus监控报警



如何切换ARMS-Prometheus采集cadvisor 10250端口数据

arms-promethues组件默认采集cadvisor 10255端口数据,如果您的集群只打开了kubelet 10250端口,则可以按照以下步骤切换。


  1. 请在集群中部署配置ServiceMonitor
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
  annotations:
    arms.prometheus.io/discovery: 'true'
  name: arms-prom-cadvisor-10250
  namespace: arms-prom
spec:
  endpoints:
    - bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
      honorLabels: true
      port: https-metrics
      relabelings:
        - sourceLabels:
            - __metrics_path__
          targetLabel: metrics_path
      scheme: https
      tlsConfig:
        caFile: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
        insecureSkipVerify: true
    - bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
      honorLabels: true
      path: /metrics/cadvisor
      port: https-metrics
      relabelings:
        - sourceLabels:
            - __metrics_path__
          targetLabel: metrics_path
      scheme: https
      tlsConfig:
        caFile: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
        insecureSkipVerify: true
    - bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
      honorLabels: true
      path: /metrics/probes
      port: https-metrics
      relabelings:
        - sourceLabels:
            - __metrics_path__
          targetLabel: metrics_path
      scheme: https
      tlsConfig:
        caFile: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
        insecureSkipVerify: true
  jobLabel: k8s-app
  namespaceSelector:
    matchNames:
      - kube-system
  selector:
    matchLabels:
      k8s-app: kubelet


  1. 验证数据

等待大约15s~1min,进入ARMS-Prometheus控制台,对应Prometheus实例页面

左侧服务发现 -》 Target页面,查看是否已存在  _cadvisor_10250 采集任务。

以及采集任务状态是否已经正常。


会出现3组cadvisor数据采集任务:

image.png



相关实践学习
通过云拨测对指定服务器进行Ping/DNS监测
本实验将通过云拨测对指定服务器进行Ping/DNS监测,评估网站服务质量和用户体验。
目录
相关文章
|
存储 弹性计算 Prometheus
阿里云注册集群+Prometheus 解决多云容器集群运维痛点
面对跨区跨云厂商容器集群混用场景,我们该如何借助Prometheus+Grafana实现容器集群监控?立刻查看本文吧!
阿里云注册集群+Prometheus 解决多云容器集群运维痛点
|
2月前
|
Prometheus 监控 Cloud Native
【监控】prometheus传统环境监控告警常用配置
【监控】prometheus传统环境监控告警常用配置
【监控】prometheus传统环境监控告警常用配置
|
4月前
|
Prometheus 监控 Cloud Native
基于Prometheus和Grafana的监控平台 - 环境搭建
基于Prometheus和Grafana的监控平台 - 环境搭建
|
15天前
|
Prometheus 监控 Cloud Native
介绍如何使用Prometheus进行监控
介绍如何使用Prometheus进行监控
53 3
|
20天前
|
Prometheus 监控 Cloud Native
docker安装prometheus+Granfan并监控容器
【9月更文挑战第14天】本文介绍了在Docker中安装Prometheus与Grafana并监控容器的步骤,包括创建配置文件、运行Prometheus与Grafana容器,以及在Grafana中配置数据源和创建监控仪表盘,展示了如何通过Prometheus抓取数据并利用Grafana展示容器的CPU使用率等关键指标。
|
2月前
|
存储 Prometheus 监控
Grafana 与 Prometheus 集成:打造高效监控系统
【8月更文第29天】在现代软件开发和运维领域,监控系统已成为不可或缺的一部分。Prometheus 和 Grafana 作为两个非常流行且互补的开源工具,可以协同工作来构建强大的实时监控解决方案。Prometheus 负责收集和存储时间序列数据,而 Grafana 则提供直观的数据可视化功能。本文将详细介绍如何集成这两个工具,构建一个高效、灵活的监控系统。
152 1
|
2月前
|
Prometheus 监控 Cloud Native
使用Prometheus搞定微服务监控
使用Prometheus搞定微服务监控
使用Prometheus搞定微服务监控
|
2月前
|
Prometheus Kubernetes 监控
Kubernetes(K8S) 监控 Prometheus + Grafana
Kubernetes(K8S) 监控 Prometheus + Grafana
149 2
|
2月前
|
Prometheus 监控 Cloud Native
在 HBase 集群中,Prometheus 通常监控哪些类型的性能指标?
在 HBase 集群中,Prometheus 通常监控哪些类型的性能指标?
|
2月前
|
Prometheus 监控 Cloud Native
基于prometheus的微服务指标监控
基于prometheus的微服务指标监控
下一篇
无影云桌面