SAS Viya (83)

教學目標

初步了解 SAS Viya 平台關鍵服務和微服務的基本概念。

重點概念

首先許多客戶會問是否需要監控所有 SAS Viya 平台的服務和微服務呢? 若不需要,則有哪些關鍵的服務和微服務,我們主要可以分為三大類別,分別為:

  1. 關鍵基礎架構服務
  2. 關鍵功能微服務
  3. 關鍵網站應用程式

接著所謂關鍵基礎架構服務主要在啟動其它 SAS Viya 關鍵功能微服務之前,就必須先啟動和執行的服務,並且按照以下順序從上到下的依賴關係進行啟動,分別為:

  1. consul
  2. vault
  3. rabbitmq
  4. postgres
  5. httpd
  6. cas-shared-default
  7. cas-shared-default-http
  8. cachelocator
  9. cacheserver

請注意若是其中一項服務停止將會使得 SAS Viya 平台無法按預期正常使用,並且重新啟動其中一些服務可能需要重新啟動 SAS Viya 平台,其中 cas-shared-default 和 cas-shared-default-http 需要特別注意,因為與資料可用性非常相關。

再來所謂關鍵功能微服務主要在使用 SAS Viya 關鍵網站應用程式之前,就必須先啟動和執行的服務,但是沒有強制的相依順序,但是不同功能微服務將會有不同的功能,像是 SASLogon 就是用於登入的微服務,所以對於採用單一登入機制的 SAS Viya 平台非常重要,所以我們必須先確認是否正常啟動,而在 SAS Viya 平台中有許多關鍵功能微服務,分別為:

  1. SASLogon
  2. identities
  3. launcher
  4. compute
  5. object-spawner
  6. ops-agent
  7. ops-agentsrv
  8. watch-log
  9. licenses
  10. backup-agent

最後所謂關鍵網站應用程式主要皆是視覺化使用者操作界面,所以若這些服務或微服務未正常啟動,則使用者將會無法按預期使用 SAS Viya 平台,此時可能會有 503 或 404 等錯誤訊息,而當我們直接透過 curl 指定連結至任關鍵網站應用程式對應的網址,若是回應 401 未驗證的錯誤訊息,則代表該網站應用程式已經啟動成功,而在 SAS Viya 平台中有許多關鍵網站應用程式,分別為:

  1. SASEnvironmentManager
  2. SASBackupManager
  3. SASDrive
  4. SASStudio
  5. SASStudioV
  6. SASDataExplorer
  7. SASDataStudio
  8. SASGraphBuilder
  9. SASJobExecution
  10. SASLineage
  11. SASQKBManager
  12. SASReportViewer
  13. SASThemeDesigner
  14. SASVisualAnalytics

因此當我們遇到 SAS Viya 平台發生異常狀況時,請先判斷屬於哪個類別的 SAS Viya 服務或微服務,再採用對應的故障排除任務,像是若發現是特定網站應用程式發生異常,則僅需重新啟動該網站應用程式,但若發現是關鍵基礎架構服務發生異常,則可能需要重新啟動 SAS Viya 平台,請注意若僅是 CAS 伺服器相關服務發生異常,則僅需重新啟動 CAS 伺服器相關服務,也就是 cas-shared-default 和 cas-shared-default-http 通常啟動在幾秒之內完成,但是當 CAS 伺服器重新啟動之後,則 CAS 伺服器記憶體中的資料表就必須重新載入。

相關資源