You need to enable JavaScript to run this app.
导航
使用秒级监控功能
最近更新时间:2024.04.16 15:32:25首次发布时间:2023.09.06 07:44:19

本文介绍如何配置、使用火山引擎提供的秒级监控功能。

说明

本功能正在邀测中,如需试用,请联系客户经理申请。

操作场景

在LLM(Large Language Model,大规模语言模型)训练场景中,常使用TP(Tensor Parallelism)/PP(Pipeline Parallelism)/DP(Data parallelism )三者融合的方式训练,可以降低有额外开销的通信过程。其中TP主要是机内计算和通信,由NV提供比较固定;PP是一种高频(间隔40ms)单次ms级的活动;DP是低频(间隔5s)单次100ms级的活动。
为方便您更精细、高效的解决通信中的问题,火山引擎提供了秒级监控功能。

前提条件

  • 在集群的同一地域(Region)下创建火山引擎托管 Prometheus(Volcengine Managed Service for Prometheus,VMP),操作详情可查看托管 Prometheus

    请根据实际需求选择合适的工作区类型。

  • 执行如下命令,查看云监控插件版本,确保用户已在实例内安装版本不低于3.16.0的云监控插件。

    LD_LIBRARY_PATH=/usr/local/cloud-monitor-agent/lib /usr/local/cloud-monitor-agent/cloud-monitor-agent version --config-file /usr/local/cloud-monitor-agent/config.yaml
    

    说明

    • 若未安装或插件版本过低,请重新安装插件。操作详情可查看安装插件
    • 若您的实例集群规模较大,可使用批量作业功能快速安装插件,操作详情可查看批量安装云监控插件
  • 请确认已安装Grafana,操作详情可查看Install Grafana

操作步骤

步骤一:开启秒级监控功能

使用批量作业配置

在较大规模的实例中开启秒级监控功能时,可通过批量作业功能,批量、自动完成监控配置。

说明

如需开启非RDMA指标的秒级监控功能,请参考下文“手动配置”操作。

  1. 登录云服务器控制台

  2. 在顶部导航栏中选择您业务所在的地域。

  3. 在左侧导航树选择“运维与监控 > 批量作业”,进入作业管理页面。

  4. 选择“自定义命令”页签,单击“创建自定义命令”按钮。

  5. 在创建命令页面,配置如下信息创建自定义命令。

    本文仅说明差异化参数,完成参数说明请查看克隆到自定义命令

    参数说明取值样例
    命令类型命令类型请选择“Python”,火山引擎提供了Python脚本,方便您快速完成配置。Python

    命令内容

    请复制如下内容填写。

    #!/usr/bin/python
    # -*- coding: utf-8 -*-
    import json
    import subprocess
    
    file_path = "/usr/local/cloud-monitor-agent/conf_plugin.json"  # 指定文件路径
    # 输入要修改的值
    enable={{enable}}
    infoList='''{{user_password_url_list}}'''
    
    flag = False
    if enable == 1:
       flag = True
    
    # 在每个双引号前添加反斜线
    infoList = infoList.replace('"', '\"')
    
    # 读取文件内容并进行处理
    with open(file_path, "r") as file:
         data = json.load(file)
    
    # 修改值
    data["PrometheusRdmaCounterCollectorEnabled"] = flag
    data["PrometheusUserPasswordUrlList"] = infoList
    
    # 保存修改后的内容回文件
    with open(file_path, "w") as file:
       json.dump(data, file, indent=4)
    
    subprocess.call(["systemctl", "daemon-reload"])
    subprocess.call(["systemctl", "restart", "cloud-monitor-agent.service"])
    

    -

    使用参数勾选本选项使用自定义参数,开启后将自动展示命令内容中的自定义参数。-

    示例:

  6. 若您的实例未安装批量作业客户端,需按如下步骤完成操作。

    • 在控制台批量安装
      请选择“客户端管理”页签,勾选需要配置秒级监控的实例,安装批量作业客户端。

      说明

      您可以在控制台批量为多台实例安装批量作业Agent,安装成功后需要重启实例生效。

    • 手动执行脚本安装
      您可以在实例中,通过火山引擎提供的脚本安装批量作业客户端。

      说明

      通过脚本安装成功后,无需重启实例。

      • 内网安装
        在实例中执行如下命令,通过火山引擎内网安装批量作业客户端。

        # 北京地域
        sudo bash -c "$(curl http://assist-client-beijing.tos-cn-beijing.ivolces.com/install.sh)"
        
        # 上海地域
        sudo bash -c "$(curl http://assist-client-shanghai.tos-cn-shanghai.ivolces.com/install.sh)"
        
        # 广州地域
        sudo bash -c "$(curl http://assist-client-guangzhou.tos-cn-guangzhou.ivolces.com/install.sh)"
        

        # 北京地域
        sudo bash -c "$(curl http://assist-client-beijing.tos-s3-cn-beijing.ivolces.com/install.sh)"
        
        # 上海地域
        sudo bash -c "$(curl http://assist-client-shanghai.tos-s3-cn-shanghai.ivolces.com/install.sh)"
        
        # 广州地域
        sudo bash -c "$(curl http://assist-client-guangzhou.tos-s3-cn-guangzhou.ivolces.com/install.sh)"
        
      • 公网安装
        若您的云服务器实例已绑定公网IP,可以执行如下命令,通过公网安装批量作业客户端。

        sudo bash -c "$(curl http://assist-client.tos-cn-beijing.volces.com/install.sh)"
        

        sudo bash -c "$(curl http://assist-client.tos-s3-cn-beijing.volces.com/install.sh)"
        
  7. 创建批量作业任务,在目标实例中配置秒级监控功能。

    1. 选择”作业管理“页签,单击”创建作业“按钮。

    2. 在创建作业页面,填写如下信息。

      本文仅展示差异化参数,完整参数说明请查看创建作业

      参数说明取值样例
      作业名称设置任务名称。配置秒级监控功能
      命令类型选择“自定义命令"。自定义命令
      命令选择您在步骤4中创建的自定义命令。配置秒级监控

      参数

      配置秒级监控。

      • enable:必填,是否开启RDMA指标秒级监控功能,支持:
        • 0:不开启。
        • 1:开启。
      • user_password_url_list:必填,格式为[{"user":"xxx","passwd":"xxx","url":"http://write.prometheus-cn-beijing.ivolces.com/workspaces/xxx"}]。其中:

      -

      执行对象请通过实例名称、所在项目或标签等信息,选择需要配置秒级监控的实例。-
    3. 单击“确认”按钮完成任务创建。

    4. 任务创建成功后将自动跳转至作业管理页面,根据执行方式自动执行。

    5. 您可以根据查看作业执行结果指引,查看作业在各实例的执行状态与结果。

手动配置

若您仅需在少数实例使用秒级监控功能或需要开启非RDMA指标的秒级监控功能,可根据本节指引,手动配置秒级监控功能。

  1. 登录云服务器实例

  2. 执行如下命令,打开/usr/local/cloud-monitor-agent/conf_plugin.json配置文件。

    vi /usr/local/cloud-monitor-agent/conf_plugin.json
    
  3. i键进入编辑模式,修改如下参数。

    参数说明:

    参数名说明取值样例

    PrometheusRdmaCounterCollectorEnabled

    是否开启RDMA指标的秒级监控,支持:

    • true:开启
    • false:关闭

    true

    PrometheusNormalCollectorEnabled

    是否开启非RDMA指标的秒级监控,支持:

    • true:开启
    • false:关闭。

    说明

    不支持配置采集周期,默认为30s。

    true

    PrometheusUserPasswordUrlList

    VMP工作区的Basic Auth设置,支持多个工作区。格式为[{\"user\":\"xxx\",\"passwd\":\"xxx\",\"url\":\"http://write.prometheus-cn-beijing.ivolces.com/workspaces/xxx"}]

    -

  4. 执行如下命令,重启云监控服务。

    systemctl restart cloud-monitor-agent.service
    

步骤二:配置Grafana

  1. 登录Grafana。
  2. 单击左上角“Toggle menu”按钮,在左侧目录树选择“Connections > Data Sources”。
  3. 单击“Add data source”按钮,搜索并添加
  4. 在“Settings”页签中,配置VMP数据源。

    参数说明:
    参数名说明
    Prometheus server URL请填写Query URL,获取详情可查看获取 Remote Write 和 Query 地址
    Basic auth请开启本功能,使用VMP认证信息。

    User
    Password

    请填写VMP的用户名。
    请填写对应用户的VMP登录密码。

  5. 配置好后,请单击页面底部“Save & test”按钮。
  6. 在左侧目录树选择“Dashboards”,并在右侧“New”下拉选项中选择“Import”。
  7. 选择火山引擎秒级监控JSON文件,单击“import”按钮完成导入。

    说明

    请点联系客户经理获取火山引擎秒级监控JSON文件。



  8. 导入成功后,即可在Grafana中查看火山引擎实例秒级监控数据。