全部产品
Search
文档中心

应用实时监控服务ARMS:跨账号统一监控多个Prometheus实例数据

更新时间:Apr 12, 2024

通过可观测监控 Prometheus 版提供的自定义鉴权方式,您可以对多个不同阿里云账号下的Prometheus实例进行数据的聚合,实现对跨账号下的Prometheus实例指标数据的统一监控、统一Grafana展示和统一告警管理。

前提条件

  • 已存在阿里云账号A(主账号)和阿里云账号B(主账号)。

  • 阿里云账号A已开通可观测监控 Prometheus 版并创建了全局聚合实例。具体操作,请参见创建实例

  • 阿里云账号B已开通可观测监控 Prometheus 版并创建了Prometheus实例。具体操作,请参见:

重要

此处阿里云账号A即为聚合账号,阿里云账号B则为被聚合账号,聚合账号和被聚合账号可以是多对多的关系。

使用说明

自定义鉴权方式是采用RAM提供的角色授权功能来实现,其本质是通过角色扮演来实现。

实现跨账号角色扮演的能力是由RAM访问控制服务本身提供的,其透出的接口只能允许RAM用户去请求,而无法直接通过阿里云账号去请求。

步骤一:使用阿里云账号B创建角色

  1. 使用阿里云账号B登录RAM控制台

  2. 在左侧导航栏,选择身份管理 > 角色,然后单击创建角色

  3. 在弹出的面板中选择默认的阿里云账号,然后单击下一步

  4. 配置角色页签,设置角色名称为AliyunPrometheusQueryRole,然后选择信任的账号为其他云账号,并输入阿里云账号A的信息。

    image

  5. 单击完成

  6. 单击已创建的角色,然后单击信任策略页签,单击编辑信任策略,在弹出的面板修改信任策略,为阿里云账号A授信。

    image

    说明

    这里为数组形式,即您可以为多个账号同时授信。

步骤二:为角色授权

为AliyunPrometheusQueryRole角色授予AliyunRAMReadOnlyAccess和AliyunARMSReadOnlyAccess权限。

重要

为了实现对ARMS所有功能的只读权限,除了添加AliyunARMSReadOnlyAccess权限策略外,还需要再为特定的资源组配置ReadTraceApp权限,否则ARMS将无法展示资源组鉴权下的应用列表。

  1. 在左侧导航栏选择身份管理 > 角色,然后单击目标角色操作列的新增授权

  2. 在弹出的面板的选择权限区域通过在搜索框输入AliyunRAMReadOnlyAccessAliyunARMSReadOnlyAccess权限,将其选中并添加在右侧区域,然后单击确定,并单击完成

    image.png

(可选)步骤三:为阿里云账号A创建RAM用户

  • 如果您的聚合账号为阿里云账号A,您需要为阿里云账号A创建RAM用户来聚合阿里云账号B,因此需要执行该步骤。

  • 如果您的聚合账号已经是RAM用户,可以直接连接聚合阿里云账号B,因此无需再次创建RAM用户,可以跳过该步骤。

操作步骤

  1. 使用阿里云账号(主账号)或RAM管理员登录RAM控制台

  2. 在左侧导航栏,选择身份管理 > 用户

  3. 用户页面,单击创建用户

  4. 创建用户页面的用户账号信息区域,设置用户基本信息。

    • 登录名称:可包含英文字母、数字、半角句号(.)、短划线(-)和下划线(_),最多64个字符。

    • 显示名称:最多包含128个字符或汉字。

    • 标签:单击edit,然后输入标签键和标签值。为RAM用户绑定标签,便于后续基于标签的用户管理。

    说明

    单击添加用户,可以批量创建多个RAM用户。

  5. 访问方式区域,选择访问方式,然后设置对应参数。

    为了账号安全,建议您只选择以下访问方式中的一种,将人员用户和应用程序用户分离,避免混用。

    • 控制台访问

      如果RAM用户代表人员,建议启用控制台访问,使用用户名和登录密码访问阿里云。您需要设置以下参数:

      • 控制台登录密码:选择自动生成密码或者自定义密码。自定义登录密码时,密码必须满足密码复杂度规则。更多信息,请参见设置RAM用户密码强度

      • 密码重置策略:选择RAM用户在下次登录时是否需要重置密码。

      • 多因素认证(MFA)策略:选择是否为当前RAM用户启用MFA。启用MFA后,主账号还需要为RAM用户绑定MFA设备或RAM用户自行绑定MFA设备。更多信息,请参见为RAM用户绑定MFA设备

    • OpenAPI调用访问

      如果RAM用户代表应用程序,建议启用OpenAPI调用访问,使用访问密钥(AccessKey)访问阿里云。启用后,系统会自动为RAM用户生成一个AccessKey ID和AccessKey Secret。更多信息,请参见创建AccessKey

      重要

      RAM用户的AccessKey Secret只在创建时显示,不支持查看,请妥善保管。

  6. 单击确定

  7. 根据界面提示,完成安全验证。

步骤四:为阿里云账号A的RAM用户授权

  1. 单击目标RAM用户名称,然后单击权限管理页签。

  2. 单击新增授权,在弹出的面板的选择权限区域通过在搜索框输入AliyunSTSAssumeRoleAccessAliyunARMSFullAccess权限,将其选中并添加在右侧区域,然后单击确定,并单击完成

步骤五:聚合Prometheus实例数据

  1. 使用阿里云账号A的RAM用户登录Prometheus控制台

  2. 单击目标全局聚合实例操作列的编辑,然后在STEP3区域选择要聚合的实例其他账号(自定义鉴权)(图标①)。

  3. 阿里云账号右侧搜索框中搜索阿里云账号B,单击确认(图标②),系统会过滤出阿里云账号B下的所有Prometheus实例,您可以选中对应的Prometheus实例进行聚合(图标③),然后单击编辑聚合实例image.png

    说明

    只有进行过授权的RAM用户可以编辑保存自定义授权的跨账号监控实例,阿里云账号暂无相关权限。

步骤六:查看跨账号的全局聚合实例数据

通过阿里云账号A的RAM用户下的全局聚合实例聚合阿里云账号B的Prometheus实例后,您可以通过预置的Grafana大盘查看聚合后的Prometheus实例的性能指标数据。

  1. Prometheus监控页面,单击目标Prometheus实例名称,然后在左侧导航栏单击大盘列表

  2. 大盘列表页面,单击大盘名称,查看该全局聚合实例下所有Prometheus实例的性能指标数据。

步骤七:为跨账号的全局聚合实例创建告警规则

  1. Prometheus监控页面,单击目标Prometheus实例名称,然后在左侧导航栏单击告警规则

  2. 在页面右上角单击创建Prometheus告警规则,并按照控制台界面提示配置告警规则的基本信息。具体操作,请参见Prometheus告警规则

    说明

    其中,在创建Prometheus告警规则页面的数据预览区域,全局聚合实例提供了unique_cluster_id(实例的唯一标识)和unique_cluster_name(实例名称),以便您在追踪告警对象时,能快速定位到对应触发告警阈值的实例。

    fhj

相关操作

编辑全局聚合实例

Prometheus监控页面,您可以单击已聚合的全局聚合实例右侧操作列的编辑,编辑聚合的全局聚合实例信息。若您重新修改了Endpoint信息 ,会导致在原Endpoint下配置的告警规则失效,因此不建议您随意变更Endpoint。

卸载全局聚合实例

若您暂不需要监控全局聚合实例,您可以卸载相关插件。

实例列表页面,单击目标Prometheus实例操作列的卸载,然后在弹出的对话框中单击确认,即可卸载成功。卸载完成后,实例列表页面不再显示该Prometheus实例

卸载后的全局聚合实例将不再继续计费。目前全局聚合实例仅支持按量计费(后付费)的计费模式,因此卸载后暂不涉及相关退费。

相关文档

  • 如果您需要了解更多RAM的信息,请参见什么是访问控制

  • 卸载全局聚合实例后,暂不涉及退费问题,更多退费详情,请参见退款说明