Leo Yeh's Blog

SAS Viya (76)

教學目標

初步了解 SAS Viya 中操作基礎架構的基本概念。

重點概念

首先 SAS Viya 平台主要提供事件驅動的操作基礎架構,主要用於日誌、指標和通知,所謂事件驅動體系結構在邏輯上分為生產者和消費者。生產者將日誌、指標和通知發佈至事件佇列 (RabbitMQ) 中,而消費者則會訂閱已經發佈的事件,當事件佇列接受生產者已發布的事件就會將事件發送給相應訂閱的消費者,若事件的產生速度快於事件的消耗事件,則事件就是按訂閱的消費者排隊。至於在 SAS Viya 中常見的生產者服務主要為 sas-ops-agent 伺服器、 sas-watch 服務、 sas-peek 命令和 sas-check 命令,而常見的消費者主要為 sas-stream 命令,所謂 sas-ops-agent 伺服器主要是管理執行發佈測量標準或通知事件的定期任務,所謂 sas-watch 服務主要是監控 *.log 日誌記錄檔,並且將結構化日誌事件發佈至事件佇列中,所謂 sas-peek 命令和 sas-check 命令主要是收集測量,它能夠查詢各種元件和產生包含測量標準資料的 json 格式輸出指標,指標主要包括主機系統的 CPU、記憶體、網路、檔案系統、I / O、執行緒,CAS 伺服器,SAS微服務,RabbitMQ 事件佇列、 PostgreSQL 資料庫、… 等。所謂 sas-stream 命令主要是將事件資料寫入操作資料市集的服務。

接著事件主要是以標準化的 JSON 格式發佈,其中包括常見的負載欄位,每種事件類型 (像是日誌、測量、通知或資源) ,而幾乎所有服務皆是事件產生者,至於消費者則是少數特定的服務主要用於內部通信和同步事件,在 SAS Viya 的操作基礎架構中資料集市會將事件加載至 Cloud Analytic Services(CAS)中的資料表,以利提供 SAS Environment Manager 用於報表呈現或讓 SAS Administrator 用於探索資訊。因此事件的生產者收集像是系統測量或日誌訊息之類的資訊,並且在不知道資訊的消費者情況下將該資訊發佈到事件佇列進行訊息交換,此時消費者也就是訊息使用者將能夠查找指定類型的資訊,並且在找到資訊時進行檢索,同時消費者的類型主要包括提取,轉換和加載 (ETL) 過程或資料市集等相關服務。

再來我們更能夠手動執行 sas-ops 命令,同時這些命令也是作為操作基礎結構處理程序自動設定和執行的一部份,並且為了執行 sas-ops 命令,我們必須是 root 使用者或 SAS 安裝用戶,因為命令需要存取一些只有特定使用者才能夠讀取的機密檔案,至於 sas-ops 命令主要提供三大功能,分別:

  1. 提供 SAS Viya 環境和營運資訊流程相關資訊。
  2. 提供 SAS Viya 環境和營運基礎設施相關資訊。
  3. 驗證 SAS Viya 環境和營運基礎設施相關資訊。

其中第一大功能提供 SAS Viya 環境和營運資訊流程相關資訊主要包括通知警報,指標資料和日誌訊息,我們主要透過 sas-ops alerts 命令查看通知警報,透過 sas-ops metrics 命令查看指標資料以及透過 sas-ops logs 命令查看日誌訊息。第二大功能提供 SAS Viya 環境和營運基礎設施相關資訊,我們主透過 sas-ops info 命令查看作業系統詳細資訊、內核版本資訊、已經安裝的軟體套件、… 等資訊。第三大功能驗證 SAS Viya 環境和營運基礎設施相關資訊,我們主要透過 sas-ops validate 命令針對 SAS Viya 部署執行一系列詳細的驗證檢查,並且總結產生結果。針對上述三大功能將能夠與企業內部核心系統進行整合監控管理。

最後 SAS Viya 平台主要會由 sas-stream 命令收集訊息佇列中測量標準,日誌記錄和通知事件,並且寫入 TSV 檔案,對於不同類型的事件數據,存在不同的 TSV 檔案類型。請注意 SAS Viya 平台主要每隔五分鐘就會執行 etl_driver.sas 程序,對於測量標準資料, etl_driver.sas 程序將會從原始 TSV 檔案中讀取新的資料,然後它會將處理之後的資料寫入另一個 TSV 檔案和 CAS 伺服器中的 CAS 資料表,同時建立 CAS 搜尋索引,而 TSV 檔案主要會儲存一天的資料,當每天結束時系統就會將早於指定特定期間 (預設值為一天) 的 TSV 檔案進行壓縮,以減少文件佔用的佔用空間,當壓縮當天的TSV 文件之後,任何新的測量標標或日誌資料皆會儲存在新的 TSV 檔案中,同時我們除了能夠透過 ops-dm-admin 命令修改 TSV 檔案壓縮作業的相關設定之外,更能夠透過 ops-dm-admin 命令管理資料市集。

總結 SAS Viya 平台主要提供事件驅動的操作基礎架構主要有三大特色,分別為:

  1. 基於事件驅動的操作基礎結構。
  2. 提供平台自動化管理的命令工具。
  3. 整合企業內部核心系統進行監控。

相關資源

⬅️ Go back