全部產品
Search
文件中心

Elastic Compute Service:營運與監控FAQ

更新時間:Oct 24, 2024

本文匯總了使用Elastic Compute Service營運與監控功能時的常見問題。

雲助手問題

雲助手支援哪些作業系統類型?

  • Alibaba Cloud Linux

  • CentOS 6/7/8及更高版本

  • CoreOS

  • Debian 8/9/10及更高版本

  • OpenSUSE

  • RedHat 5/6/7及更高版本

    說明

    RedHat中需要您自行下載rpm包安裝雲助手Agent,具體操作,請參見安裝雲助手Agent

  • SUSE Linux Enterprise Server 11/12/15及更高版本

  • Ubuntu 12/14/16/18及更高版本

  • Window Server 2012/2016/2019及更高版本

說明
  • 使用ECS公用鏡像建立的執行個體會預設安裝雲助手Agent。

  • 使用自訂鏡像或者雲市場鏡像建立的執行個體需要您首先確認作業系統是否支援雲助手,再自行安裝雲助手Agent。具體步驟請參見安裝雲助手Agent

最多能保有多少條雲助手命令?

在一個阿里雲地區下,根據您的雲端服務器使用方式而定,您可以保留100到10000條雲助手命令。

可以修改已經建立的命令嗎?

您可以修改雲助手命令的名稱和描述。為確保周期命令的一致性,不支援修改命令內容、逾時時間和執行路徑等資訊。 如果您需要調整命令內容或執行路徑,可以複製命令,在目標命令的基礎建立命令版本。具體步驟請參見複製命令

在ECS執行個體中執行命令有許可權限制嗎?

有。您需要以管理員的身份安裝和使用雲助手:

  • Windows Server系統的管理員為administrator。

  • Linux系統的管理員為root。

可以同時在多台執行個體上執行雲助手命令嗎?

可以。

  • 方式一:在ECS控制台上,一次執行命令操作最多可以選擇50台執行個體。在一個阿里雲地區下,您每天最多能執行5000次雲助手命令。

  • 方式二:如果執行大批量任務,建議您使用系統營運管理OOSACS-ECS-BulkyRunCommand營運模板,根據Tag批量執行雲助手命令無需您逐一輸入InstanceId。OOS單個迴圈任務最多能夠執行1000次雲助手命令,並且支援分批執行和並發度控制。

如何查看是否成功執行了命令?

執行雲助手命令與您登入執行個體後執行命令一樣,只有命令所需條件滿足後才會執行成功。您可以選擇以下任一方式查看命令結果:

雲助手故障排查問題

Linux系統ECS執行個體安裝雲助手Agent失敗,提示No such file or directory.

因為ECS執行個體中已經安裝了雲助手。請參見以下步驟修複。詳情請參見安裝雲助手Agent

  • rpm安裝包:運行以下命令,強制覆蓋安裝。

    sudo rpm -i --force aliyun_x.x.x.rpm
  • deb安裝包:運行以下命令。

    1. 卸載舊版本雲助手服務。

      sudo dpkg -r aliyun-assist
    2. 重新安裝雲助手服務。

      sudo dpkg -i aliyun_x.x.x.deb

如何查看雲助手的作業記錄?

您需要遠端連線執行個體查看記錄檔。雲助手的作業記錄檔案如下所示:

  • ${install_dir}/${version}/log/aliyun_assist_main.log

  • ${install_dir}/${version}/log/aliyun_assist_update.log

說明

${version}為雲助手的版本號碼, 例如1.0.1.368。${install_dir}為雲助手在ECS執行個體作業系統中的安裝路徑。

不同系統的雲助手Agent的預設安裝路徑在哪裡?

不同系統的安裝路徑如下:

  • Windows Server系統:C:\ProgramData\aliyun\assist

  • CoreOS系統:/opt/local/share/aliyun-assist/

  • 其他Linux系統(例如Alibaba Cloud Linux、CentOS、Debian、OpenSUSE、SUSE Linux Enterprise Server和Ubuntu等):/usr/local/share/aliyun-assist/

如何查看雲助手服務狀態?

遠端連線ECS執行個體後,參見以下方式:

  • 查看雲助手服務狀態,確認雲助手服務是否正常啟用:

    • Linux系統:

      方式一

      sudo systemctl status aliyun

      方式二

      ps aux | grep aliyun
    • Windows Server系統:

      選擇電腦管理 > 服務和應用程式 > 服務,並找到Aliyun Service。

  • 在相應目錄尋找記錄檔。例如:

    tail -n 100 /usr/local/share/aliyun-assist/$(/usr/sbin/aliyun-service -v)/log/aliyun_assist_main.log
  • 在相應目錄尋找心跳或者更新記錄檔。例如:

    tail -n 100 /usr/local/share/aliyun-assist/$(/usr/sbin/aliyun-service -v)/log/aliyun_assist_update.log

為什麼Shell指令碼在Ubuntu系統下無法執行?但在CentOS等系統中正常執行?

因為高版本的Ubuntu系統的預設Shell環境為dash,而非bash。dash與bash的Shell文法不完全相容,您可以切換預設的Shell環境解決該問題。

  1. 運行以下命令確認Shell環境是否為dash。

    ls /bin/sh
  2. 運行以下命令切換為預設的Shell環境。

    dpkg-reconfigure dash

按照頁面提示,選擇不要將dash設定為預設Shell環境。

傳統網路類型執行個體可以使用雲助手嗎?

可以。傳統網路類型執行個體推薦安裝最新版本雲助手Agent。具體步驟,請參見安裝雲助手Agent通過下載連結安裝用戶端章節。如果您使用的歷史版本用戶端,您必須在雲助手的安裝路徑下建立名為region-id的檔案,並在檔案中填入ECS執行個體所屬地區的ID。取值請參見地區和可用性區域。例如,一台CentOS系統ECS執行個體在華東 1(杭州)地區:

  1. 填寫地區ID。

    echo 'cn-hangzhou' > /usr/local/share/aliyun-assist/region-id
  2. 重啟雲助手服務。

為什麼在ECS控制台執行命令時,提示執行個體未安裝雲助手服務?

因為雲助手未收到相應的心跳資訊。參見以下方式解決該問題。

  • 如果是雲助手服務進程被關閉導致的,您可以重啟雲助手服務。Windows Server系統請參見如何查看雲助手服務狀態?,Linux系統可參見以下操作:

    1. 運行以下命令重啟雲助手服務。

      sudo systemctl restart aliyun
    2. 運行以下命令確認雲助手服務是否開機自動啟動。

      sudo systemctl status aliyun

      如果是disable狀態,運行以下命令設定為開機自動啟動。

      sudo systemctl enable aliyun
  • 如果是傳統網路類型執行個體,並且安裝的是低版本雲助手Agent,您需要自行添加設定檔明確ECS執行個體的地區資訊。更多詳情,請參見傳統網路類型執行個體可以使用雲助手嗎?

作業記錄中包含Failed to open gshell: Device or resource busy,如何解決?

  • 現象:日誌中包含如下資訊。

    2019-11-06 03:10:15,993 INFO  [default] /dev/virtio-ports/org.qemu.guest_agent.0:-1
    2019-11-06 03:10:15,993 ERROR [default] Failed to open gshell: Device or resource busy
  • 排查:

    方法一

    運行以下命令確認雲助手Agent是否開啟了多個進程。如果有多個,將所有進程關閉後,再重新啟動雲助手Agent。

    ps aux | grep aliyun

    方法二

    運行以下命令查看org.qemu.guest_agent.0檔案被哪些進程佔用。雲助手進程均含有aliyun-**樣式,關閉所有非雲助手的進程。

    lsof /dev/virtio-ports/org.qemu.guest_agent.0

為什麼某些指令碼在本機可以執行,但是通過雲助手執行會提示command not found?

請先排查雲助手會話的環境變數,是否包含指令碼中的相應命令。

Linux執行個體排查方式

  1. 運行以下命令,查看環境變數

    export
  2. 運行以下命令,設定環境變數(以執行個體上實際的環境變數為準)。

    export PATH=$PATH:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

Windows執行個體排查方式

  1. 運行以下命令,查看環境變數。

    set
  2. 運行以下命令,設定環境變數(以執行個體上實際的環境變數為準)。

    set PATH=%PATH%;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Users\Administrator\A

為什麼執行任務後,任務狀態為Failed?

請通過以下幾個方面進行排查問題:

  • 如果您使用Windows執行個體,請檢查執行個體中PowerShell是否正常工作。

  • 確認是否任務逾時導致失敗。

  • 確認雲助手的服務狀態是否正常。可通過DescribeCloudAssistantStatus進行查詢。

  • 查看雲助手的日誌資訊,預設的日誌路徑如下:

    • Linux執行個體:/usr/local/share/aliyun-assist/雲助手版本號碼/log/

    • Windows執行個體:C:\ProgramData\aliyun\assist\雲助手版本號碼\log

為什麼執行任務後,任務狀態為Abort?

任務狀態為“Abort”,表示在一分鐘之內任務沒有下發到執行個體,建議您重新下發任務。

如果一直失敗,請查看雲助手的日誌資訊。

雲助手指令碼中包含中文字元,為什麼返回結果中顯示亂碼?

系統標準命令編碼:Linux執行個體預設採用UTF-8編碼;Windows執行個體預設採用GBK編碼。

如果雲助手指令碼中包含中文字元,將採用輸入提供的編碼方式,請確保使用對應的方式解碼。

雲助手常見錯誤碼

  • InstanceNotRunning:執行個體未啟動,請啟動執行個體。

  • ClientNotRunning:雲助手Agent未啟動,查看雲助手日誌及確認雲助手進程是否工作正常。

  • DeliveryTimeout:雲助手下發任務失敗,查看雲助手日誌或者更新到最新版本後在嘗試執行命令。

應用營運問題

用Elastic Compute Service託管一個小型網站,有哪些日常營運建議?

維護網站應用程式時,您可以參考以下營運建議。