實例健康診斷功能是一種自助診斷方式,可以對實例的計算服務狀態、存儲服務狀態、網絡服務狀態、實例配置管理和實例操作系統內相關配置進行全方位的診斷,幫助您了解實例的健康情況,及時發現并解決常見的問題。本文介紹輕量應用服務器支持的診斷項,并提供了詳細的診斷范圍及建議操作供您參考。
診斷項
實例健康診斷功能支持診斷項分類如下表所示。
診斷項分類 | 說明 |
診斷輕量應用服務器底層的資源和虛擬化層,確保輕量應用服務器底層服務無異常。 | |
檢查實例磁盤的運行狀態是否存在異常。 | |
檢查實例內部網絡組件狀態,以及外部網絡環境異常等情況。 | |
檢查實例在啟動過程中或運行中,是否被某個操作阻塞(block)導致實例無法啟動或者運行異常。 | |
檢查實例操作系統內的系統文件、關鍵進程、防火墻狀態等是否正常。 | |
檢查實例操作系統內的常用業務端口占用狀態、防火墻狀態等是否正常。 |
計算服務健康診斷、網絡服務健康診斷、存儲服務健康診斷、實例配置管理診斷發現的異常屬于非實時態異常,診斷結果會包括過去48小時內存在過的異常用于查看歷史問題,不一定需要實時修復。
計算服務健康診斷
計算服務健康診斷項具體如下表所示。
診斷項 | 描述 | 診斷范圍及建議操作 |
實例虛擬化異常 | 實例在運行中出現崩潰或出現異常暫停。 | 檢查該實例底層虛擬化層核心服務是否出現異常。 出現此類異常可能會導致實例崩潰或出現異常暫停,您可以嘗試通過重啟實例進行恢復。 |
實例操作系統異常 | 實例系統出現了內核錯誤(kernel panic)、OOM(Out of Memory)異常或內部宕機等故障。 | 檢查該實例的操作系統(Guest OS)內部是否存在內核panic、OOM異常或內部宕機等故障。 這些故障可能是由于實例配置不當或用戶空間的程序配置不當導致,您可以嘗試通過重啟實例進行恢復。 |
實例所在宿主機告警 | 實例所在的物理設備出現故障告警。 | 檢查該實例所在的底層物理機是否有故障。 如果底層物理機存在故障,則可能會影響實例的運行狀態或性能。您可以嘗試通過重啟實例進行恢復。 |
網絡服務健康診斷
網絡服務健康診斷項具體如下表所示。
診斷項 | 描述 | 診斷范圍及建議操作 |
網絡會話異常 | 網卡會話無法正常建立,或會話數超過上限。 | 檢查該實例的網卡是否能正常建立會話。 如果網卡無法建立會話或已建立的會話超過限制,將影響實例的網絡連通性或網絡吞吐,例如導致實例無法遠程連接,或網速過慢。您可以嘗試通過重啟實例進行恢復。 |
DDos攻擊的防護狀態異常 | 檢查實例的公網IP是否受到DDoS攻擊以及防護狀態。 | 檢查該實例的IP地址是否受到了DDoS攻擊。 阿里云免費提供的DDoS原生防護服務可以幫您完成一定程度的攻擊流量清洗,緩解DDoS攻擊造成的不可用,但如果攻擊流量已超出實例的防護能力,仍會導致實例進入不可用狀態,無法正常訪問。更多DDoS攻擊詳情,請參見什么是DDoS攻擊。 您可以視情況購買其他DDoS防護產品抵御DDoS攻擊,更多信息,請參見阿里云DDoS防護產品概述。針對需要應急解除黑洞的情況,您還可以申請DDoS攻擊免費應急服務。 阿里云DDoS預防最佳方案,請參見緩解DDoS攻擊的最佳實踐。 |
存儲服務健康診斷
存儲服務健康診斷項具體如下表所示。
診斷項 | 描述 | 診斷范圍及建議操作 |
磁盤擴容未生效 | 在控制臺對Linux實例的磁盤擴容后,檢查是否需要進一步執行擴容命令。 | 檢查在控制臺對該實例的磁盤擴容后,是否已經生效。 如果在控制臺完成了擴容操作但實際沒有生效,需要手動執行擴容命令擴容分區和文件系統。具體操作,請參見擴容數據盤。 |
實例磁盤擴縮容異常 | 磁盤擴縮容后,操作系統調整文件系統的大小失敗。 | 檢查該實例的系統盤在擴容后,云盤上的文件系統是否也調整成功。 如果文件系統未成功調整,表示云盤容量因資源不足或其他原因導致擴容失敗,新擴容的磁盤無法使用。請重新發起擴容操作。具體操作,請參見擴容數據盤。 |
實例磁盤IO hang | 磁盤IO hang,導致磁盤無法讀寫。 | 檢查該實例的系統盤是否存在IO hang的情況(即磁盤內的文件系統因讀寫IO延遲過高導致系統不穩定或宕機)。 如果出現IO hang,磁盤無法進行讀寫操作,建議您查看磁盤的性能指標。具體操作,請參見查看磁盤讀寫指標。如果您使用的是Alibaba Cloud Linux 2操作系統,檢測IO hang的操作,請參見檢測文件系統和塊層的IO hang。 |
實例磁盤加載異常 | 創建或掛載磁盤時出現錯誤。 | 檢查該實例在啟動時云盤是否能正常掛載。 如果掛載失敗,則會導致實例無法正常啟動。請停止實例后再次啟動實例,或重新掛載云盤,進行恢復。掛載云盤的操作,請參見掛載數據盤和分區格式化數據盤。 |
實例云盤讀寫受限 | 磁盤IO出現延遲過長,或達到該云盤類型的IO上限。 | 檢查該實例系統盤的讀寫IO是否存在延遲,以及讀寫的IOPS是否超過了該云盤的IOPS上限。 如果云盤讀寫IOPS超過上限,則云盤讀寫將被限制,查看云盤指標的操作,請參見查看云盤監控信息。為避免該情況再次發生,請您降低磁盤的讀寫頻率或升級為更高性能的云盤類型。各類云盤的讀寫性能指標,請參見塊存儲性能。 |
實例配置管理診斷
實例配置管理診斷項具體如下表所示。
診斷項 | 描述 | 診斷范圍及建議操作 |
實例核心操作異常 | 您對實例進行管理控制的操作執行失敗。 | 檢查您對該實例最近執行的管理操作,例如開機、關機、升配等是否執行成功。 如果執行失敗,您需要重新發起該操作。 |
實例鏡像加載異常 | 實例所使用的鏡像無法正常加載。 | 檢查該實例在啟動時所使用的鏡像是否能正常加載。 鏡像可能因為系統原因、鏡像問題等加載失敗。您可以嘗試通過重啟實例進行恢復。 |
實例啟動異常 | 實例無法被管控系統正常啟動。 | 檢查該實例的boot操作是否能正常執行加載。 如果實例無法正常啟動,您需要創建一個新的實例。 |
實例操作系統內相關配置診斷(Linux)
Linux實例操作系統內相關配置診斷項具體如下表所示。
診斷項(控制臺) | 描述 | 診斷范圍及建議操作 |
總CPU使用率過高 | 實例當前CPU的使用率已經超過80%(基于top命令返回的數據)。 | 檢查該實例的總CPU使用率。 如果使用率過高,請您定位使用較多CPU資源的進程并判斷是否正常。查詢CPU資源使用情況的操作,請參見Linux系統CPU負載的查詢和案例分析。 |
disk中inode檢查 | 檢查Disk中inode是否足夠。 | 檢查該實例磁盤的inode使用率。 |
系統防火墻狀態檢查 | 檢查系統防火墻是否打開。 | 檢查該實例的防火墻。 如果實例開啟了防火墻,并設置了屏蔽外界訪問的規則,可能會導致無法遠程連接實例。開啟和關閉防火墻的方法,請參見開啟或關閉Linux實例中的系統防火墻。 |
常見業務端口監聽狀態檢查 | 檢查常見業務端口(例如22和3389)是否處于監聽狀態。 | 檢查該實例的常見業務端口。 如果端口未處于監聽狀態,可能會導致不能訪問實例上的應用。檢查并修改常見業務端口的方法,請參見Linux實例啟動常見服務并查詢端口監聽狀態的方法。 |
CPU使用率超過50%的進程 | 實例當前CPU的使用率已經超過50%(基于top命令返回的數據)。 | 檢查該實例中進程的CPU使用率。 如果一些進程的CPU使用率過高,請您判斷進程是否正常。檢查CPU使用率的方法,請參見Linux系統CPU負載的查詢和案例分析Linux系統的ECS實例CPU使用率或CPU負載較高問題的排查及解決方案。 |
selinux狀態檢查 | 檢查SELinux是否開啟。 | 檢查該實例是否開啟了SELinux服務。 如果開啟了SELinux服務,會導致SSH遠程連接實例時報錯,請您視情況選擇臨時或永久關閉SELinux服務。關閉SELinux服務的方法,請參見Linux實例中由于SELinux服務開啟導致SSH遠程連接異常。 |
SSH訪問權限檢查 | 檢查SSH的訪問權限配置是否正確。 | 檢查該實例的SSH訪問權限配置。 如果SSH訪問權限配置不正確,可能會導致無法登錄實例。修改SSH訪問權限的方法,請參見SSH的訪問權限異常導致無法遠程連接Linux實例。 |
SSH關鍵文件系統檢查 | 檢查SSH訪問所需要的關鍵文件或目錄是否存在。 | 檢查該實例中SSH服務所需的關鍵文件或目錄。 如果SSH服務所需的關鍵文件或目錄不存在,可能會導致無法SSH登錄實例。修復SSH服務所需的關鍵文件或目錄的方法,請參見檢查Linux實例是否存在SSH服務所需的必備文件或目錄。 |
SSH是否允許root用戶登錄檢查 | 檢查SSH配置是否允許root用戶連接。 | 檢查SSH配置是否允許root用戶連接。 如果禁止使用root用戶登錄實例,會導致使用root用戶登錄實例時返回Permission denied, please try again錯誤。修復root用戶登錄實例報錯的問題,請參見如何解決使用root用戶通過SSH登錄Linux實例時報“Permission denied, please try again”的錯誤。 |
實例操作系統內相關配置診斷(Windows)
Windows實例操作系統內相關配置診斷項具體如下表所示。
診斷項(控制臺) | 描述 | 診斷范圍及建議操作 |
Windows操作系統的版本檢查 | 微軟已經不再維護Windows Server 2008及之前的版本。 | 檢查該實例的Windows系統版本。 阿里云和微軟不再維護Windows Server 2008及之前的版本,請您視情況重裝更高版本的Windows系統。具體操作,請參見重置系統。 |
總CPU的使用率過高 | 檢查Windows CPU使用率總體超過85%。 | 檢查該實例的CPU使用率。 如果CPU總使用率過高,請您定位使用較多CPU資源的進程并判斷是否正常。檢查CPU使用率的方法,請參見Windows實例中CPU使用率較高問題的排查及解決方法。 |
內存使用率偏高 | 檢查Windows系統內存使用率是否超過80%。 | 檢查內存的使用率是否超過80%。 如果該實例當前內存的總使用率已經超過80%,會列出內存使用率排名前5的進程,請檢查對應進程是否正常。分析Windows內存使用率過高的具體操作,請參見Windows系統內存分析工具介紹。 |
Windows常用業務端口占用狀態檢查 | 檢查Windows系統的3389端口是否開放。 | 檢查該實例的3389端口。 如果未開啟3389端口,會導致無法使用遠程桌面連接RDP服務訪問實例。開啟3389端口允許遠程桌面連接的方法,請參見Windows實例如何啟動遠程桌面連接RDP服務。 |
磁盤容量檢查 | 檢查系統C盤容量是否小于1 GB。 | 檢查該實例系統盤(C盤)的可用空間。 如果可用空間小于1 GB,可能會導致系統運行緩慢,甚至實例無法啟動,請您根據需要擴容磁盤。具體操作,請參見升級配置。 |
Windows防火墻狀態檢查 | 檢查Windows防火墻的狀態是否為打開狀態。 | 檢查該實例的防火墻狀態。 如果防火墻處于開啟狀態,可能會導致無法訪問實例上的服務,請視情況調整防火墻的相關策略配置。配置防火墻策略的方法,請參見Windows Server實例防火墻策略的配置方法。 |
Administrator賬號檢查 | 檢查Administrator賬號是否存在。 | 檢查是否存在Administrator賬號。 如果不存在Administrator賬號,可能會導致服務無法正常訪問,請根據業務需要選擇是否要創建Administrator賬號。Windows系統創建賬號的具體操作,請參見如何使用管理控制臺添加或刪除管理員。 |