跨账号统一应用监控

如果您拥有多个阿里云账号,希望能跨账号统一监控,实现不同账号中的应用跨调用链路追踪能力,那么您可以将应用数据上报到同一个账号中,并通过RAM用户或RAM角色授予其他人员查看或管理数据的权限。

使用限制

跨账号统一应用监控涉及到跨账号数据上报、跨账号授权、跨账号分账、账号切换,以及多账号体系下的细粒度权限管理,这会大幅度增加使用复杂度。请您在全面评估后,再考虑规划跨账号统一应用监控方案。对于使用多账号架构的企业,在大多数情况下,每个账号的应用都只接入该账号的ARMS是最好的选择。

解决方案

假设企业同时拥有阿里云账号AB,账号A购买了ARMS产品,账号B购买了ECS、ACK等产品,现需要将账号B的应用接入账号A下的ARMS中,并在账号A中实现统一应用监控。可以进行如下设置:

ACK应用

  1. 在账号A下创建RAM用户,并授予AliyunARMSFullAccess权限和AliyunSTSAssumeRoleAccess权限。具体操作,请参见创建RAM用户

  2. RAM用户创建AccessKey,具体操作,请参见创建AccessKey

  3. 为账号B下的应用安装应用监控探针,具体操作,请参见容器服务ACK环境自动安装探针

  4. 容器服务管理控制台目标集群下的应用 > Helm页面,单击ack-onepilot组件右侧的更新

  5. accessKeyaccessKeySecret替换为步骤2获取的AccessKey,将uid替换为账号AUID,然后单击确定

    此时,账号B下的ACK应用就会将数据上报至账号AARMS中。

    重要

    请确保您的ack-onepilot版本为3.0.14或以上。自3.0.14版本开始,您需要通过调整Helm中的accessKeyaccessKeySecret来实现跨账号上报数据。ack-onepilot组件各版本发布记录请参见ack-onepilot

    image

  6. 基于账号ARAM用户管理应用。

    • 方式一:直接使用步骤1中创建的RAM用户管理应用。

    • 方式二:在账号A中新建专用RAM用户管理应用。

      在账号A下创建RAM用户,并授予ARMS完整权限AliyunARMSFullAccess,或使用自定义权限对应用精准授权。创建自定义权限策略的操作,请参见应用监控自定义RAM授权策略

    说明

    您还可以通过RAM角色使用账号BRAM用户管理应用。具体操作,请参见(可选)通过RAM角色管理应用

ECS应用

  1. ARMS控制台接入中心页面获取到账号ALicense key。

    重要

    一个账号对应唯一的License Key。

    接入中心

  2. 下载探针包,并使用账号ALicense Key安装探针。具体操作,请参见手动安装探针

  3. 基于账号ARAM用户管理应用。

    在账号A下创建RAM用户,并授予ARMS完整权限AliyunARMSFullAccess,或使用自定义权限对应用精准授权。创建自定义权限策略的操作,请参见应用监控自定义RAM授权策略

    说明

    您还可以通过RAM角色使用账号BRAM用户管理应用。具体操作,请参见(可选)通过RAM角色管理应用

(可选)通过RAM角色管理应用

如果您不希望通过账号ARAM用户使用ARMS,那么可以通过以下方式对账号BRAM用户授权,使账号BRAM用户能够通过身份切换拥有使用ARMS的能力。

步骤一:为阿里云账号B授权

  1. 账号A创建可信实体为阿里云账号的RAM角色,例如arms-admin,并选择信任的云账号为阿里云账号B。

  2. 为账号ARAM角色arms-admin添加ARMS完整权限AliyunARMSFullAccess,或使用自定义权限对应用精准授权。

  3. 为账号B创建RAM用户。

    具体操作,请参见创建RAM用户

    重要

    请保存RAM用户登录名和密码。

  4. 为账号BRAM用户添加AliyunSTSAssumeRoleAccess权限,即允许RAM用户扮演RAM角色。

    具体操作,请参见RAM用户授权

步骤二:通过账号BRAM用户管理应用

  1. 通过阿里云账号BRAM用户登录RAM控制台

    具体操作,请参见RAM用户登录阿里云控制台

  2. RAM用户登录成功后,将鼠标悬停在右上角的头像位置,然后单击切换身份

  3. 输入账号AUID和上文步骤一中账号A创建的RAM角色名。

    具体操作,请参见扮演RAM角色

  4. 登录ARMS控制台,在应用监控 > 应用列表页面查看应用。