安装指南

IMPORTANT
自2024年4月23日起,所有Adobe Commerce本地客户都将停用Site-Wide Analysis Tool。

Site-Wide Analysis Tool提供全天候的实时性能监控、报告和建议,以确保Adobe Commerce在云基础架构安装上的安全性和可操作性。 它还提供有关可用和已安装的修补程序、第三方扩展以及Adobe Commerce安装的详细信息。

INFO
了解如何启用 Site-Wide Analysis Tool并生成报告。

如果您内部安装了Adobe Commerce,请在您的基础架构上安装代理以使用该工具。 您不需要在云基础架构项目上的Adobe Commerce上安装代理。

代理

Site-Wide Analysis Tool代理允许您将Site-Wide Analysis Tool用于Adobe Commerce的内部安装。

Site-Wide Analysis Tool代理收集应用程序和业务数据,对其进行分析并提供有关安装运行状况的更多见解,以便您改善客户体验。 它可以监视您的应用程序,并帮助您识别性能、安全性、可用性和应用程序问题。

安装代理程序需要以下步骤:

  1. 验证系统要求。

  2. 在Commerce Services Connector扩展中配置API密钥。

  3. 安装代理。

  4. 运行代理。

INFO
代理支持多节点Adobe Commerce安装。 在每个节点上安装和配置代理。

系统要求

安装代理之前,您的内部部署基础架构必须满足以下要求:

  • 操作系统

    • Linux x86-64分配,如Red Hat® Enterprise Linux (RHEL)、CentOS、Ubuntu、Debian等
    note important
    IMPORTANT
    Microsoft Windows或macOS不支持Adobe Commerce。
  • Adobe Commerce 2.4.5-p1或更高版本(由于依赖于Service Connector)

  • Commerce Services Connector extension

  • PHP CLI

  • Bash/shell实用程序

    • php

    • wget

    • awk

    • nice

    • grep

    • openssl

Commerce Services Connector

代理需要在您的系统上安装Commerce Services Connector扩展和已使用API密钥配置。 要验证是否已安装扩展,请运行以下命令:

bin/magento module:status Magento_ServicesId

如果您已安装扩展并使用其他服务的现有API密钥对其进行配置,则​ 必须重新生成API密钥 ​并在代理的Adobe Commerce管理员中对其进行更新。

  1. 将您的网站置于维护模式

  2. 登录account.magento.com

    note note
    NOTE
    如果访问帐户时遇到问题,请参阅无法登录Adobe Commerce支持或云帐户以获取疑难解答帮助。
  3. 单击​ API Portal

  4. 单击现有API密钥旁边的​ Delete

  5. 配置新的API密钥。

IMPORTANT
如果您在API门户中生成新密钥,请立即更新Admin configuration中的API密钥。 如果您生成新密钥但未更新Admin中的密钥,则SaaS扩展将不再有效,并且您将丢失有价值的数据。

如果未安装该扩展,请按照以下说明进行安装:

  1. 将扩展添加到composer.json文件并进行安装。

    code language-bash
    composer require magento/services-id
    
  2. 启用该扩展。

    code language-bash
    bin/magento module:enable Magento_ServicesId
    
  3. 更新数据库架构。

    code language-bash
    bin/magento setup:upgrade
    
  4. 清除缓存。

    code language-bash
    bin/magento cache:clean
    
  5. 配置API密钥以将扩展连接到您的系统。

安装代理

我们已创建了shell脚本以简化安装。 我们建议使用shell脚本,但您可以根据需要遵循手动安装方法。

INFO
安装代理后,当有新版本可用时,它会自行更新。

脚本

  1. 下载并执行shell脚本。

    code language-bash
    bash -c "$(wget -qO - https://raw.githubusercontent.com/magento-swat/install-agent-helpers/main/install.sh)"
    
    note tip
    TIP
    我们建议在根Adobe Commerce项目目录之外安装代理。
  2. 验证安装。

    code language-bash
    ./scheduler -v
    
    code language-bash
    Version: 1.0.1
    Success exit.
    
  3. 下载并安装代理后,使用以下方法之一将其配置为运行

    • 服务(如果您具有根访问权限,则为首选服务)

    • Cron

手动 manual

如果您不想使用我们的shell脚本来安装代理,则必须按照以下步骤手动安装:

  1. 创建要下载代理的目录。

    note tip
    TIP
    我们建议在根Adobe Commerce项目目录之外安装代理。
  2. 下载二进制文件并将其解包。

    note info
    INFO
    要使用Site-Wide Analysis Tool,您必须首先阅读并接受在从Adobe Commerce管理员访问仪表板时显示的使用条款。

    对于​ AMD64 ​体系结构:

    1. 下载启动器档案。

      code language-bash
      curl -O https://updater.supportinsights.adobe.com/launcher/launcher.linux-amd64.tar.gz
      
    2. 解压缩启动器档案。

      code language-bash
      tar -xf launcher.linux-amd64.tar.gz
      

    对于​ ARM64 ​架构:

    1. 下载启动器档案。

      code language-bash
      curl -O https://updater.supportinsights.adobe.com/launcher/launcher.linux-arm64.tar.gz
      
    2. 解压缩启动器档案。

      code language-bash
      tar -xf launcher.linux-arm64.tar.gz
      
  3. (可选) ​验证校验和文件的签名。

    code language-bash
    echo -n "LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0KTUlJQ0lqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FnOEFNSUlDQ2dLQ0FnRUE0M2FBTk1WRXR3eEZBdTd4TE91dQpacG5FTk9pV3Y2aXpLS29HendGRitMTzZXNEpOR3lRS1Jha0MxTXRsU283VnFPWnhUbHZSSFhQZWt6TG5vSHVHCmdmNEZKa3RPUEE2S3d6cjF4WFZ3RVg4MEFYU1JNYTFadzdyOThhenh0ZHdURVh3bU9GUXdDcjYramFOM3ErbUoKbkRlUWYzMThsclk0NVJxWHV1R294QzBhbWVoakRnTGxJUSs1d1kxR1NtRGRiaDFJOWZqMENVNkNzaFpsOXFtdgorelhjWGh4dlhmTUU4MUZsVUN1elRydHJFb1Bsc3dtVHN3ODNVY1lGNTFUak8zWWVlRno3RFRhRUhMUVVhUlBKClJtVzdxWE9kTGdRdGxIV0t3V2ppMFlrM0d0Ylc3NVBMQ2pGdEQzNytkVDFpTEtzYjFyR0VUYm42V3I0Nno4Z24KY1Q4cVFhS3pYRThoWjJPSDhSWjN1aFVpRHhZQUszdmdsYXJSdUFacmVYMVE2ZHdwYW9ZcERKa29XOXNjNXlkWApBTkJsYnBjVXhiYkpaWThLS0lRSURnTFdOckw3SVNxK2FnYlRXektFZEl0Ni9EZm1YUnJlUmlMbDlQMldvOFRyCnFxaHNHRlZoRHZlMFN6MjYyOU55amgwelloSmRUWXRpdldxbGl6VTdWbXBob1NrVnNqTGtwQXBiUUNtVm9vNkgKakJmdU1sY1JPeWI4TXJCMXZTNDJRU1MrNktkMytwR3JyVnh0akNWaWwyekhSSTRMRGwrVzUwR1B6LzFkeEw2TgprZktZWjVhNUdCZm00aUNlaWVNa3lBT2lKTkxNa1cvcTdwM200ejdUQjJnbWtldm1aU3Z5MnVMNGJLYlRoYXRlCm9sdlpFd253WWRxaktkcVkrOVM1UlNVQ0F3RUFBUT09Ci0tLS0tRU5EIFBVQkxJQyBLRVktLS0tLQ==" | base64 -d > release.pub
    
    code language-bash
    openssl dgst -sha256 -verify release.pub -signature launcher.sha256 launcher.checksum
    
  4. (可选) ​验证校验和。

    code language-bash
    shasum -a 512 -c launcher.checksum
    
  5. 创建包含以下内容的config.yaml文件。

    code language-yaml
    project:
      appname: "Acme Inc" # Company or site name that you provided when installing the agent
    application:
      phppath: php # Path to your PHP CLI interpreter (usually /usr/bin/php)
      magentopath: /var/www/html/example.com # Root directory where your Adobe Commerce application is installed (usually /var/www/html)
      checkregistrypath: /path/to/swat-agent/tmp # Temporary directory for the agent (usually /usr/local/swat-agent/tmp)
      issandbox: false # Enabling sandbox mode to use the agent on staging environment (true or false)
      database:
        user: your-adobe-commerce-db-username # Database user for your Adobe Commerce installation
        password: your-password # Database password for the specified user for your Adobe Commerce installation
        host: 127.0.0.1 # Database host for your Adobe Commerce installation
        dbname: your-adobe-commerce-db-name # Database name for your Adobe Commerce installation
        port: 3306 # Database port for your Adobe Commerce installation (usually 3306)
        tableprefix: # Table Prefix for your Adobe Commerce installation (default value: empty)
     enableautoupgrade: true # Enables automatic upgrade (restart required after an upgrade; agent does not check for upgrades if the option is disabled; true or false)
     runchecksonstart: true # Collect data on the first run (Usually 1)
     loglevel: error # Determines what events are logged based on severity (usually error)
    
  6. 验证安装。

    code language-bash
    scheduler -v
    
    code language-bash
    Version: 1.0.1
    Success exit.
    
  7. 下载并安装代理后,必须将其配置为使用以下方法之一运行

    • 服务(如果您具有根访问权限,则为首选服务)

    • Cron

运行代理 run-the-agent

我们建议将代理配置为作为服务运行。 如果您对基础结构的访问权限有限,并且没有root权限,则必须改用cron

服务 service

  1. 使用以下配置创建系统单元文件(/etc/systemd/system/scheduler.service)(将<filesystemowner>替换为拥有代理和Adobe Commerce软件安装目录的UNIX®用户)。 如果以root用户身份下载代理,请更改目录和嵌套文件所有者。

    code language-config
    [Unit]
    Wants=network.target
    After=network.target
    
    [Service]
    Type=simple
    User=<filesystemowner>
    ExecStart=/path/to/agent/scheduler
    Restart=always
    RestartSec=3
    
    [Install]
    WantedBy=multi-user.target
    
  2. 启动服务。

    code language-bash
    systemctl daemon-reload
    
    code language-bash
    systemctl start scheduler
    
    code language-bash
    systemctl enable scheduler
    
  3. 验证服务是否已启动并正在运行。

    code language-bash
    journalctl -u scheduler | grep "Application is going to update" | tail -1 && echo "Agent is successfully installed"
    

Cron cron

如果您没有root权限或没有将服务配置为root的权限,则可以改用cron。

更新cron计划:

( crontab -l ; echo "* * * * * flock -n /tmp/swat-agent.lockfile -c '/path/to/agent/scheduler' >> /path/to/agent/errors.log 2>&1" ) | sort - | uniq - | crontab -

卸载

运行以下命令从系统中卸载服务并删除所有生成的文件:

  1. 停止计划程序。

    code language-bash
    systemctl stop scheduler
    
  2. 禁用计划程序。

    code language-bash
    systemctl disable scheduler
    
  3. 删除计划程序服务的systemd单元文件。

    code language-bash
    rm /etc/systemd/system/scheduler.service
    
  4. 重新加载systemd管理器配置。

    code language-bash
    systemctl daemon-reload
    
  5. 从失败状态重置任何systemd设备。

    code language-bash
    systemctl reset-failed
    
  6. 删除计划程序服务目录。

    code language-bash
    rm -rf <CHECK_REGISTRY_PATH> #see SWAT_AGENT_APPLICATION_CHECK_REGISTRY_PATH in /etc/systemd/system/scheduler.service
    
  7. 删除计划程序二进制文件。

    code language-bash
    rm /usr/local/bin/scheduler
    

如果您将代理配置为使用cron运行,请使用以下说明:

  1. 从crontab列表中删除代理。

    code language-bash
    crontab -e
    
  2. 停止正在运行的作业。

    code language-bash
    ps aux | grep scheduler
    
  3. 删除安装代理的目录。

    code language-bash
    rm -rf swat-agent
    

故障排除

访问密钥未正确解析

如果未正确解析访问密钥,您可能会看到以下错误:

ERRO[2022-10-10 00:01:41] Error while refreshing token: error while getting jwt from magento: invalid character 'M' looking for beginning of value
FATA[2022-12-10 20:38:44] bad http status from https://updater.supportinsights.adobe.com/linux-amd64.json: 403 Forbidden

要解决此错误,请尝试执行以下步骤:

  1. 执行脚本安装,保存输出并查看输出是否有错误。
  2. 查看生成的config.yaml文件,并验证指向Commerce实例和PHP的路径是否正确。
  3. 确保运行计划程序的用户位于文件系统所有者 Unix组中,或者与文件系统所有者是同一个用户。
  4. 确保已正确安装Commerce Services Connector密钥,并尝试更新这些密钥以将扩展连接到您的系统。
  5. 在更新密钥后卸载代理并使用安装脚本重新安装。
  6. 运行调度程序并查看您是否仍收到相同的错误。
  7. 如果您仍收到相同的错误,请增加config.yaml中的日志级别以调试并打开支持票证。

SIGFAULT ​错误

如果在运行二进制文件时看到​ SIGFAULT 错误,则您可能不会以Adobe Commerce和代理文件的文件所有者身份运行此文件。
要解决此问题,请检查代理目录中的所有文件(这些文件的用户与Adobe Commerce文件拥有的文件所有者相同)是否也应该在该用户下运行二进制文件。
您可以使用chown命令更改文件所有者并切换到适当的用户。
确保您的守护程序机制(Cron或System.d)在适当的用户下运行该过程。

recommendation-more-help
c2d96e17-5179-455c-ad3a-e1697bb4e8c3