安裝指南

IMPORTANT
自2024年4月23日起,所有Adobe Commerce內部部署客戶將停止使用Site-Wide Analysis Tool。

Site-Wide Analysis Tool提供24小時全年無休的即時效能監控、報告和建議,以確保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/殼層公用程式

    • 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指令碼,但您可以視需要遵循手動安裝方法。

INFO
安裝代理程式後,當有新版本可用時,它會自行更新。

指令碼

  1. 下載並執行殼層指令碼。

    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

如果您不想使用我們的殼層指令碼來安裝代理程式,則必須依照下列步驟手動安裝:

  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

我們建議將代理程式設定為以服務方式執行。 如果您對基礎結構的存取權有限,且沒有根許可權,則必須改用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和Agent檔案的檔案擁有者的身分執行此動作。
若要解決問題,請檢查代理程式目錄中所有與Adobe Commerce檔案擁有者具有相同使用者,以及二進位檔案的檔案,是否也應該在該使用者下執行。
您可以使用chown命令來變更檔案擁有者並切換到適當的使用者。
請確定您的模組化機制(Cron或System.d)在適當的使用者下執行流程。

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