Skip to main content
Data Infrastructure Insights
简体中文版经机器翻译而成,仅供参考。如与英语版出现任何冲突,应以英语版为准。

手动安装工作负载安全代理和收集器

贡献者 netapp-alavoie

默认情况下,当有新版本的工作负载安全代理或收集器可用时,会发送升级前通知,并且代理和收集器会在您的租户上自动更新。然而,在安全受控的环境中,可能不需要自动升级。在这种情况下,可以配置工作负载安全以手动安装/升级代理和收集器,从而对系统上安装的软件提供更好的控制。

开始之前

  1. 在 swagger 中验证名为“cloudsecure_installers.agent”和“cloudsecure_installers.collector”的 API 类别是否可用。如果没有,则不支持手动代理安装。请联系NetApp支持以启用该功能。

    手动安装 API

  2. 以“root”用户身份执行本文档中提到的所有命令,或者,如果以其他用户身份运行,则使用“sudo”执行命令。

安装新代理

  1. 创建一个新的工作负载安全 API 访问令牌。

    1. 导航至*管理>API 访问*。选择“工作负载安全令牌”选项卡,然后单击“+ API 访问令牌”。

      1. 设置易于识别的名称和描述。

      2. 在“此令牌将用于调用哪种类型的 API?”下拉菜单下,选择_收集器管理_和_代理和收集器安装_。

      3. 选择所需的到期时间。

    2. 单击“保存”。

  1. 复制生成的 API 访问令牌。请注意,一旦窗口关闭,就无法再检索令牌。在这种情况下,您将需要生成一个新的令牌。

    创建并保存 API 令牌

    确认令牌创建

    1. 导航到*管理 > API 访问 > API 文档*(页面右上角)并选择_工作负载安全_图标。这将打开工作负载安全 API 的 Swagger 文档。

      工作负载安全的 Swagger 文档

    2. 授权访问_工作负载安全_ API。

  2. 单击页面右上角的“授权”按钮。

  3. 在“客户 API 密钥 (apiKey)”文本字段中,粘贴之前从步骤 1c

  4. 单击“授权”并关闭窗口。

    授权 API

    1. 下载代理安装程序。

  5. 在 Swagger 中,选择 cloudsecure_installers.agent > /v1/cloudsecure/agents/installers/{platform}/latest (GET) API。单击“尝试一下”。

  6. 在_platform_字段中,输入_linux_。单击“执行”。

    Swagger 代理安装程序 API - 顶部 Swagger 代理安装程序 API - 响应

  7. 单击“下载文件”以下载安装程序。

  8. 如果安装程序文件是从要安装代理的系统以外的其他机器上外部下载的,请将安装程序文件复制到该系统。

  9. 或者,您可以复制 curl 命令并直接在应该安装代理的系统中运行它。

    • 将“-o {{file_name}}”参数附加到 curl 命令以使用所需名称保存安装程序文件。安装程序文件的实际名称可以在 swagger 响应标头部分找到。也可以使用该名称。

      通过 API 选择最新代理 - Swagger

    • 虽然该文件可以下载到任何位置,但建议将其下载到可以提取安装程序 .zip 的空文件夹中。

      1. 新建一个文件夹(推荐),将安装程序文件复制到此文件夹,然后解压:

        [root@demo-agent /]# mkdir agent_installers
        [root@demo-agent /]# cd agent_installers/
        [root@demo-agent agent_installers]# pwd
        /agent_installers
        [root@demo-agent agent_installers]# ll
        total 0
        [root@demo-agent agent_installers]# curl -X GET "https://netapp-demo.dev.cloudsecure.netapp.com/rest/v1/cloudsecure/agents/installers/linux/latest" -H "accept: application/octet-stream" -H "X-CloudInsights-ApiKey: <<API Access Token>>" -o cloudsecure-linux-agent-installer-1.617.0.zip
        [root@demo-agent agent_installers]# ll
        total 76012
        -rw------- 1 root root 77834705 Apr 26 14:34 cloudsecure-linux-agent-installer-1.617.0.zip
        [root@demo-agent agent_installers]# unzip cloudsecure-linux-agent-installer-1.617.0.zip
        Archive:  cloudsecure-linux-agent-installer-1.617.0.zip
          inflating: cloudsecure-agent-image.zip
          inflating: cloudsecure-agent-install.sh
          inflating: cloudsecure-agent-upgrade.sh
      2. 为“cloudsecure-agent-install.sh”文件设置_执行_权限。

        [root@demo-agent agent_installers]# chmod +x cloudsecure-agent-install.sh
        [root@demo-agent agent_installers]# ll
        total 153344
        -rw------- 1 root root 79154250 Apr 26 06:37 cloudsecure-agent-image.zip
        -rwx------ 1 root root    16574 Apr 26 06:25 cloudsecure-agent-install.sh
        -rw------- 1 root root     8586 Apr 26 06:25 cloudsecure-agent-upgrade.sh
        -rw------- 1 root root 77834705 Apr 26 14:34 cloudsecure-linux-agent-installer-1.617.0.zip
      3. 为新代理安装生成一次性令牌。

        注意:此步骤生成的一次性令牌与在步骤 1c

  10. 在 Swagger 中,执行 cloudsecure_installers.agent > /v1/cloudsecure/agent/oneTimeToken API 并从响应中复制令牌。

    1. 将一次性令牌导出为环境变量。

      [root@demo-agent ~]# export TOKEN=<<one time token generated in step 7>>
    2. 如果使用代理服务器,请将 https_proxy 导出为环境变量,格式如下。

      [root@demo-agent ~]# export HTTPS_PROXY='USER:PASSWORD@PROXY_SERVER:PORT'
    3. 可选:默认情况下,代理和收集器将安装在路径“/opt/netapp”中。要安装在不同的路径,请设置以下环境变量”

      [root@demo-agent ~]# export AGENT_INSTALL_PATH=/test_user/apps

      注意:如果安装在自定义路径中,数据收集器和所有其他工件(如代理日志)将仅在自定义路径内创建。安装日志仍将存在于 - /var/log/netapp/cloudsecure/install

    4. 返回下载代理安装程序的目录并运行“cloudsecure-agent-install.sh”

      [root@demo-agent agent_installers]# ./ cloudsecure-agent-install.sh

      注意:如果用户没有在“bash”shell 中运行,则导出命令可能不起作用。在这种情况下,步骤 8 至 11 可以合并并按如下所示运行。 HTTPS_PROXY 和 AGENT_INSTALL_PATH 是可选的,如果不需要可以忽略。

    sudo /bin/bash -c "TOKEN=<<one time token generated in step 7>> HTTPS_PROXY=<<proxy details in the format mentioned in step 9>> AGENT_INSTALL_PATH=<<custom_path_to_install_agent>> ./cloudsecure-agent-install.sh"

    +
    此时,代理应该已成功安装。

    1. 代理安装的健全性检查:

  11. 运行“systemctl status cloudsecure-agent.service”并验证代理服务是否处于_running_状态。

    [root@demo-agent ~]# systemctl status cloudsecure-agent.service
     cloudsecure-agent.service - Cloud Secure Agent Daemon Service
       Loaded: loaded (/usr/lib/systemd/system/cloudsecure-agent.service; enabled; vendor preset: disabled)
       Active: active (running) since Fri 2024-04-26 02:50:37 EDT; 12h ago
     Main PID: 15887 (java)
        Tasks: 72
       CGroup: /system.slice/cloudsecure-agent.service
               ├─15887 java -Dconfig.file=/test_user/apps/cloudsecure/agent/conf/application.conf -Dagent.proxy.host= -Dagent.proxy.port= -Dagent.proxy.user= -Dagent.proxy.password= -Dagent.env=prod -Dagent.base.path=/test_user/apps/cloudsecure/agent -...
  12. 代理应该在“代理”页面中可见,并且处于“连接”状态。

    显示已连接代理的 UI

    1. 安装后清理。

  13. 如果代理安装成功,则可以删除下载的代理安装程序文件。

安装新的数据收集器。

注意:本文档包含安装“ONTAP SVM 数据收集器”的说明。相同的步骤适用于“Cloud Volumes ONTAP数据收集器”和“Amazon FSx for NetApp ONTAP数据收集器”。

  1. 进入需要安装收集器的系统,在_agent安装路径_目录下创建一个名为_./tmp/collectors_的目录。

    注意:如果代理安装在 /opt/netapp 中,则导航到 /opt/netapp/cloudsecure

    [root@demo-agent ~]# cd {agent-install-path}/cloudsecure
    [root@demo-agent ~]# mkdir -p ./tmp/collectors
  2. 递归地将 tmp 目录的所有权更改为 cssys:cssys(cssys 用户和组将在代理安装期间创建)。

    [root@demo-agent /]# chown -R cssys:cssys tmp/
    [root@demo-agent /]# cd ./tmp
    [root@demo-agent tmp]# ll | grep collectors
    drwx------ 2 cssys         cssys 4096 Apr 26 15:56 collectors
  3. 现在我们需要获取收集器版本和收集器的 UUID。导航到“cloudsecure_config.collector-types”API。

  4. 转到 swagger,“cloudsecure_config.collector-types > /v1/cloudsecure/collector-types”(GET)API。在“collectorCategory”下拉菜单中,选择收集器类型为“DATA”。选择“全部”以获取所有收集器类型详细信息。

  5. 复制所需收集器类型的 UUID。

    显示 UUID 的收集器 API 响应

  6. 下载收集器安装程序。

    1. 导航到“cloudsecure_installers.collector > /v1/cloudsecure/collector-types/installers/{collectorTypeUUID}” (GET) API。输入上一步复制的 UUID 并下载安装程序文件。

      通过 UUID 下载收集器的 API

    2. 如果安装程序文件是在不同的机器上外部下载的,请将安装程序文件复制到代理正在运行的系统并放置在目录 /{agent-install-path}/cloudsecure/tmp/collectors 中。

    3. 或者,您可以从相同的 API 复制 curl 命令并直接在要安装收集器的系统上运行它。

      请注意,文件名应与下载收集器 API 的响应标头中的名称相同。请参见下面的屏幕截图。

      注意:如果代理安装在 /opt/netapp 中,则导航到 /opt/netapp/cloudsecure/tmp/collectors

      显示混淆令牌的示例 Curl 命令

    [root@demo-agent collectors]# cd {agent-install-path}/cloudsecure/tmp/collectors
    [root@demo-agent collectors]# pwd
    /opt/netapp/cloudsecure/tmp/collectors
    
    [root@demo-agent collectors]# curl -X GET "https://netapp-demo.dev.cloudsecure.netapp.com/rest/v1/cloudsecure/collector-types/installers/1829df8a-c16d-45b1-b72a-ed5707129870" -H "accept: application/octet-stream" -H "X-CloudInsights-ApiKey: <<API Access Token>>" -o cs-ontap-dsc_1.286.0.zip
  7. 将收集器安装程序 zip 文件的所有权更改为 cssys:cssys

    -rw------- 1 root root 50906252 Apr 26 16:11 cs-ontap-dsc_1.286.0.zip
    [root@demo-agent collectors]# chown cssys:cssys cs-ontap-dsc_1.286.0.zip
    [root@demo-agent collectors]# ll
    total 49716
    -rw------- 1 cssys cssys 50906252 Apr 26 16:11 cs-ontap-dsc_1.286.0.zip
  8. 导航到 工作负载安全 > 收集器 并选择 +收集器。选择 ONTAP SVM 收集器。

  9. 配置收集器详细信息并_保存_收集器。

  10. 单击“保存”后,代理进程将从_/{agent-install-path}/cloudsecure/tmp/collectors/_ 目录中找到收集器安装程序并安装收集器。

  11. 作为替代选项,除了通过 UI 添加收集器之外,还可以通过 API 添加。

    1. 导航到“cloudsecure_config.collectors”>“/v1/cloudsecure/collectors”(POST)API。

    2. 在示例下拉菜单中,选择“ONTAP SVM 数据收集器 json 示例”,更新收集器配置详细信息并执行。

      添加收集器的 API

  12. 收集器现在应该在“数据收集器”部分下可见。

    显示收藏家的 UI 列表页面

  13. 安装后清理。

    1. 如果收集器安装成功,则可以删除目录 /{agent-install-path}/cloudsecure/tmp/collectors 中的所有文件。

安装新的用户目录收集器

注意:在本文档中,我们提到了安装 LDAP 收集器的步骤。安装 AD 收集器也适用相同的步骤。

  1. 1.进入需要安装收集器的系统,在_agent安装路径_目录下创建一个名为_./tmp/collectors_的目录。

    注意:如果代理安装在 /opt/netapp 中,则导航到 /opt/netapp/cloudsecure

    [root@demo-agent ~]# cd {agent-install-path}/cloudsecure
    [root@demo-agent ~]# mkdir -p ./tmp/collectors
    1. collectors 目录的所有权更改为 cssys:cssys

      [root@demo-agent /]# chown -R cssys:cssys tmp/
      [root@demo-agent /]# cd ./tmp
      
      [root@demo-agent tmp]# ll | grep collectors
      drwx------ 2 cssys         cssys 4096 Apr 26 15:56 collectors
  2. 现在我们需要获取收集器的版本和 UUID。导航到“cloudsecure_config.collector-types”API。在 collectorCategory 下拉菜单中,选择收集器类型为“USER”。选择“全部”以在单个请求中获取所有收集器类型详细信息。

    获取所有收集器的 API

  3. 复制 LDAP 收集器的 UUID。

    API 响应显示 LDAP 收集器 UUID

  4. 下载收集器安装程序。

    1. 导航到“cloudsecure_installers.collector”>“/v1/cloudsecure/collector-types/installers/{collectorTypeUUID}”(GET)API。输入上一步复制的 UUID 并下载安装程序文件。

      下载收集器的 API 和响应

    2. 如果安装程序文件是在不同的机器上外部下载的,请将安装程序文件复制到代理正在运行的系统和目录 /{agent-installation-path}/cloudsecure/tmp/collectors 中。

    3. 或者,您可以从相同的 API 复制 curl 命令并直接在应该安装收集器的系统中运行它。

      请注意,文件名应与下载收集器 API 的响应标头中的名称相同。请参见下面的屏幕截图。

      另请注意,如果代理安装在 /opt/netapp 中,则导航到 /opt/netapp/cloudsecure/tmp/collectors

      Curl 命令 API

    [root@demo-agent collectors]# cd {agent-install-path}/cloudsecure/tmp/collectors
    [root@demo-agent collectors]# pwd
    /opt/netapp/cloudsecure/tmp/collectors
    
    [root@demo-agent collectors]# curl -X GET "https://netapp-demo.dev.cloudsecure.netapp.com/rest/v1/cloudsecure/collector-types/installers/37fb37bd-6078-4c75-a64f-2b14cb1a1eb1" -H "accept: application/octet-stream" -H "X-CloudInsights-ApiKey: <<API Access Token>>" -o cs-ldap-dsc_1.322.0.zip
  5. 将收集器安装程序 zip 文件的所有权更改为 cssys:cssys。

    [root@demo-agent collectors]# ll
    total 37156
    -rw------- 1 root root 38045966 Apr 29 10:02 cs-ldap-dsc_1.322.0.zip
    [root@demo-agent collectors]# chown cssys:cssys cs-ldap-dsc_1.322.0.zip
    [root@demo-agent collectors]# ll
    total 37156
    -rw------- 1 cssys cssys 38045966 Apr 29 10:02 cs-ldap-dsc_1.322.0.zip
  6. 导航到“用户目录收集器”页面并单击“+ 用户目录收集器”。

    添加用户目录收集器

  7. 选择“LDAP 目录服务器”。

    用于选择 LDAP 用户的 UI 窗口

  8. 输入 LDAP 目录服务器详细信息并单击“保存”

    显示 LDAP 用户详细信息的 UI

  9. 单击“保存”后,代理服务将从_/{agent-install-path}/cloudsecure/tmp/collectors/_ 目录中找到收集器安装程序并安装收集器。

  10. 作为替代选项,除了通过 UI 添加收集器之外,还可以通过 API 添加。

    1. 导航到“cloudsecure_config.collectors”>“/v1/cloudsecure/collectors”(POST)API。

    2. 在示例下拉菜单中,选择“LDAP 目录服务器用户收集器 json 示例”,更新收集器配置详细信息,然后单击“执行”。

      LDAP 收集器的 API

  11. 现在应该在“用户目录收集器”部分下可以看到收集器。

    UI 中的 LDAP 收集器列表

  12. 安装后清理。

    1. 如果收集器安装成功,则可以删除目录 /{agent-install-path}/cloudsecure/tmp/collectors 中的所有文件。

升级代理

当代理/收集器有新版本可用时,将会发送电子邮件通知。

  1. 下载最新的代理安装程序。

    1. 下载最新安装程序的步骤与“安装新代理”中的步骤类似。在 swagger 中,选择“cloudsecure_installers.agent”>“/v1/cloudsecure/agents/installers/{platform}/latest” API,输入平台“linux”并下载安装程序 zip 文件。或者,也可以使用 curl 命令。解压缩安装程序文件。

  2. 设置“cloudsecure-agent-upgrade.sh”文件的执行权限。

    [root@demo-agent agent_installers]# unzip cloudsecure-linux-agent-installer-1.618.0.zip
    Archive:  cloudsecure-linux-agent-installer-1.618.0.zip
      inflating: cloudsecure-agent-image.zip
      inflating: cloudsecure-agent-install.sh
      inflating: cloudsecure-agent-upgrade.sh
    [root@demo-agent agent_installers]# ll
    total 153344
    -rw------- 1 root root 79154230 Apr 26  2024 cloudsecure-agent-image.zip
    -rw------- 1 root root    16574 Apr 26  2024 cloudsecure-agent-install.sh
    -rw------- 1 root root     8586 Apr 26  2024 cloudsecure-agent-upgrade.sh
    -rw------- 1 root root 77834660 Apr 26 17:35 cloudsecure-linux-agent-installer-1.618.0.zip
    [root@demo-agent agent_installers]# chmod +x cloudsecure-agent-upgrade.sh
    [root@demo-agent agent_installers]# ll
    total 153344
    -rw------- 1 root root 79154230 Apr 26  2024 cloudsecure-agent-image.zip
    -rw------- 1 root root    16574 Apr 26  2024 cloudsecure-agent-install.sh
    -rwx------ 1 root root     8586 Apr 26  2024 cloudsecure-agent-upgrade.sh
    -rw------- 1 root root 77834660 Apr 26 17:35 cloudsecure-linux-agent-installer-1.618.0.zip
  3. 运行“cloudsecure-agent-upgrade.sh”脚本。如果脚本成功运行,它将在输出中打印消息“Cloudsecure 代理已成功升级。”。

  4. 运行以下命令“systemctl daemon-reload”

    [root@demo-agent ~]# systemctl daemon-reload
  5. 重新启动代理服务。

    [root@demo-agent ~]# systemctl restart cloudsecure-agent.service

    此时,代理应该已成功升级。

  6. 代理升级后进行健全性检查。

    1. 导航到安装代理的路径(例如,“/opt/netapp/cloudsecure/”)。符号链接“agent”应该指向新版本的代理。

      [root@demo-agent cloudsecure]# pwd
      /opt/netapp/cloudsecure
      [root@demo-agent cloudsecure]# ll
      total 40
      lrwxrwxrwx  1 cssys cssys  114 Apr 26 17:38 agent -> /test_user/apps/cloudsecure/cloudsecure-agent-1.618.0
      drwxr-xr-x  4 cssys cssys 4096 Apr 25 10:45 agent-certs
      drwx------  2 cssys cssys 4096 Apr 25 16:18 agent-logs
      drwx------ 11 cssys cssys 4096 Apr 26 02:50 cloudsecure-agent-1.617.0
      drwx------ 11 cssys cssys 4096 Apr 26 17:42 cloudsecure-agent-1.618.0
      drwxr-xr-x  3 cssys cssys 4096 Apr 26 02:45 collector-image
      drwx------  2 cssys cssys 4096 Apr 25 10:45 conf
      drwx------  3 cssys cssys 4096 Apr 26 16:39 data-collectors
      -rw-r--r--  1 root  root    66 Apr 25 10:45 sysctl.conf.bkp
      drwx------  2 root  root  4096 Apr 26 17:38 tmp
    2. 代理应该在“代理”页面中可见,并且处于“连接”状态。

      显示已连接代理的 UI

  7. 安装后清理。

    1. 如果代理安装成功,则可以删除下载的代理安装程序文件。

升级收集器

注意:所有类型的收集器的升级步骤都是相同的。我们将在本文档中演示“ONTAP SVM”收集器升级。

  1. 转到需要升级收集器的系统,并在_代理安装路径_目录下创建目录_./tmp/collectors_(如果尚不存在)。

    注意:如果代理安装在 /opt/netapp 中,则导航到 /opt/netapp/cloudsecure 目录。

    [root@demo-agent ~]# cd {agent-install-path}/cloudsecure
    [root@demo-agent ~]# mkdir -p ./tmp/collectors
  2. 确保目录“collectors”归 cssys:cssys 所有。

    [root@demo-agent /]# chown -R cssys:cssys tmp/
    [root@demo-agent /]# cd ./tmp
    [root@demo-agent tmp]# ll | grep collectors
    drwx------ 2 cssys         cssys 4096 Apr 26 15:56 collectors
  3. 在 swagger 中,导航到“cloudsecure_config.collector-types”GET API。在“collectorCategory”下拉菜单中,选择“DATA”(对于用户目录收集器,选择“USER”或“ALL”)。

    从响应主体复制 UUID 和版本。

    API 响应突出显示收集器 UUID 和版本

  4. 下载最新的收集器安装程序文件。

    1. 导航到 cloudsecure_installers.collector > /v1/cloudsecure/collector-types/installers/{collectorTypeUUID} API。输入从上一步复制的_collectorTypeUUID_。将安装程序下载到 /{agent-install-path}/cloudsecure/tmp/collectors 目录。

    2. 或者也可以使用相同API的curl命令。

      Curl 命令示例

    注意:文件名应与下载收集器 API 的响应头中的名称相同。

  5. 将收集器安装程序 zip 文件的所有权更改为 cssys:cssys。

    [root@demo-agent collectors]# ll
    total 55024
    -rw------- 1 root root 56343750 Apr 26 19:00 cs-ontap-dsc_1.287.0.zip
    [root@demo-agent collectors]# chown cssys:cssys cs-ontap-dsc_1.287.0.zip
    [root@demo-agent collectors]# ll
    total 55024
    -rw------- 1 cssys cssys 56343750 Apr 26 19:00 cs-ontap-dsc_1.287.0.zip
  6. 触发升级收集器 API。

    1. 在 swagger 中,导航到“cloudsecure_installers.collector”>“/v1/cloudsecure/collector-types/upgrade”(PUT)API。

    2. 在“示例”下拉菜单中,选择“ONTAP SVM 数据收集器升级 json 示例”以填充示例负载。

    3. 用从中复制的版本替换版本第 3 步并点击“执行”。

      Swagger UI 中的 SVM 升级示例

    等待几秒钟。收集器将自动升级。

  7. 健全性检查。

    收集器应该在 UI 中处于运行状态。

  8. 升级后清理:

    1. 如果收集器升级成功,则可以删除目录 /{agent-install-path}/cloudsecure/tmp/collectors 中的所有文件。

重复上述步骤来升级其他类型的收集器。

常见问题和修复。

  1. AGENT014 错误

    如果收集器安装程序文件不在 /{agent-install-path}/cloudsecure/tmp/collectors 目录中或者无法访问,则会出现此错误。确保安装程序文件已下载,并且_collectors_和安装程序 zip 文件的完整目录结构归 cssys:cssys 所有,然后重新启动代理服务:systemctl restart cloudsecure-agent.service

    UI 屏幕显示“代理 014”错误悬停提示

  2. 未授权错误

    {
      "errorMessage": "Requested public API is not allowed to be accessed by input API access token.",
      "errorCode": "NOT_AUTHORIZED"
    }

    如果生成 API 访问令牌时没有选择所有必需的 API 类别,则会显示此错误。通过选择所有必需的 API 类别来生成新的 API 访问令牌。