SAS Management Console

SAS 系統管理 (14)

教學目標

初步了解安裝、設定與驗證 SAS 軟體的操作重點。

重點概念

首先在 Windows Server 2012 R2 伺服器執行 SAS 部署精靈根據規劃檔 (plan.xml) 進行 SAS 軟體安裝,主要會建立 SASHome 資料夾將相關安裝檔案安裝至此處,安裝過程中可能會需要安裝 Python 2.6 或 2.7 工具,在安裝過程中會進行後續設定,若在最後一步安裝後續處理發生問題,則很有可能是金鑰檔 (SID) 未授權的問題。

接著當確認 SAS 軟體安裝正確無誤之後我們才會進執行 SAS 部署精靈根據規劃檔 (plan.xml) 進行設定,主要會建立 SAS\Config\Lev1 資料夾將相關安裝檔案安裝至此處,此時主要會設定本機主機的完整名稱和簡短名稱,此時必須要確認電腦是否已經加入網域中,才能夠使用完整名稱,此外還會設定作業系統之外部使用者的帳密,例如:sassrv、sasdemo,設定 SAS 伺服器之內部使用者的帳密,例如:sasadm@saspw、sastrust@saspw,設定資料庫 ODBC 或 JDBC 的連線與使用者的帳密,以及設定解決方案中相關伺服器的各種參數。

當安裝設定完成之後,我們先透過系統管理工具中服務確認 SAS 相關服務是否啟動正常,一般會有以下 SAS 相關服務:

  1. SAS [Config-Lev1] Cache Locator on port 41415
  2. SAS [Config-Lev1] Connect Spawner
  3. SAS [Config-Lev1] Object Spawner
  4. SAS [Config-Lev1] SAS Environment Manager Agent
  5. SAS [Config-Lev1] SASMeta - Metadata Server
  6. SAS [Config-Lev1] Web Infrastructure Platform Data Server
  7. SAS [Config-Lev1] SAS Deployment Agent

再來開啟 SAS Management Console 工具,登入 sasadm@saspw 的管理者帳密,首先透過「使用者管理員」,將「SAS 示範使用者」加入「SAS 管理員」群組的成員,接著確定「帳戶」頁籤中的使用者ID 是否為「主機名稱\使用者ID」,點選「伺服器管理員」中的「SAS App」,然後在「SASApp - Logical Workspace Server」上按右鍵選擇「驗證」,然後輸入「sasdemo」的使用者帳密,若出現「驗證成功!」訊息即代表伺服器安裝設定已正常,若有問題請透過統管理工具重啟「SAS [Config-Lev1] Object Spawner」服務。

最後還可以進行更嚴謹的所有伺服器測試,開啟「應用程式管理」中的「部署測試器」,點選「動作」,按下「在所有的伺上執行所有的測試」,若沒反應則請透過統管理工具啟動「SAS [Config-Lev1」Deployment Tester Server」服務,重新開啟 SAS Management Console 工具,開啟「在所有的伺上執行所有的測試」動作,輸入三次 「sasdemo」的使用者帳密即可開啟進行測試,最後會產生結果記錄,主要包括以下測試套件的項目有:

  1. SAS IQ
  2. SAS OQ
  3. Pooled Workspace Server setinit 測試 (SASApp)
  4. Stored Process Server 測試 (SASApp)
  5. Workspace Server setinit 測試 (SASApp)

總結我們安裝 與設定 SAS 解決方案主要會透過同一份規劃檔 (plan.xml) 將將安裝與設定分二階段進行,並且當完成安裝與設定之後,會再透過 SAS Management Console 工具進行使用者管理以及所有伺服器測試。

相關資源

SAS 系統管理 (9)

教學目標

初步了解 SAS 平台管理前十大日常維運作業。

重點概念

在企業組織中維運作業是一件很重要的工作項目,請參考 SAS 官方影片,一般來說 SAS 平台管理的生命週期主要可以分為開發階段和維運階段,請參考 SAS 官方文件,其中開發階段主要為收集客戶需求、接著根據客戶需求進行預見和設計規劃,再來建構部署和教育訓練,維運階段則是推出與使用、管理與更新以及增強調效和擴展功能,不論是 SAS 9 或 SAS Viya 皆適用上述管理的生命週期,其中 SAS 平台管理前十大日常維運作業主要有:

1. 管理排程

管理排程設計和維護 SAS 平台管理活動日常排程,並且指定日常清掃 (Housekeeping) 作業順利進行,以利確保系統執行更有效率。

2. 進行備份

定義備份和復原策略,其中需要描述哪一個 SAS 平台中的元件需要進行備份,頻率多久,以及備分需要在哪裡保留多久。看起來簡單,但是針對多台機器進行部署將會非常複雜。因為系統狀態儲存在多個地方,所以必須備份和還原同步資訊以利保留系統狀態一致性,此時請善用 SAS Deployment Backup and Recovery 工具。

3. 更新金鑰

當金鑰到期時定期更新金鑰,最好預留足夠的時間在過期之前重新更新金鑰。

4. 壓縮和刪除記錄檔

撰寫腳本檔案壓縮和刪除記錄檔,一般我們會在晚上時執定期執行腳本檔案,例如: 在 7 天之後壓縮記錄檔,在 30 天之後刪除壓縮檔。

5. 更改 SAS Work 暫存資料夾

設定 SAS Work 暫存資料夾,預設在 Linux 中 SAS Work 暫存資料夾為 /tmp,在 Windows 中 SAS Work 暫存資料夾為使用者文件資料夾,但是企業部署時通常會重的更改和配置 SAS Work 暫存資料夾的位置,主要會根據大量資料的讀寫選擇最適當的儲存位置和空間配置,以利達到最佳化的應用。

6. 清除 SAS Work 暫存資料夾

刪除 SAS Work 暫存資料夾,在 Linux 中主要透過 SAS Cleanwork Utility 工具,在 Windows 中主要透過 SAS Disk Cleanup Handler 工具,一般我們會規律執行,例如: 透過 Linux 中的 cronjob 每週執行 cleanwork 指令刪除 SAS Work 暫存資料夾。

7. 設定安全模型

設計和維護安全模型,接著實作安全政策,主要使用群組管理資料、中繼資料和應用程式的存取控管,其中包括新增、更新和移除,此時請善用 SAS Management Console 工具。

8. 設定檔案系統存取控制

預防未授權讀取和寫入存取檔案和資料夾。

9. 進行監控

透過工具監控 SAS 伺服器,相關使用者互動作業與查詢,設定批次排程工作流程,同時識別出執行最長時間的作業與查詢,以及設定相關警告訊息進行有效的控管,此時請善用 SAS Environment Manager 工具。

10. 更新修補程式

定期更新修補程式。

最後除了上述前十大日常維運作業之外還有其它的日常相關作業則請參考 SAS 官方文件。藉由 SAS 官方所提供的影片和文件,將可以讓我們在維運 SAS 平台時更有信心完成維運作業。

相關資源

SAS 商業智慧 (3)

基本介紹

教學目標

初步了解如何透過 SAS 商業智慧平台打造自主性分析報表平台。

重點概念

首先我們需要針對使用者進行權限控管,主要有三種類型分別為使用者、群組和角色,其中群組和角色最大的差別在於每個角色可以在「Capablities」中設定可以使用的功能,例如:我們為了資訊安全的需求,可以設定該角色無法進行 SAS Enterprise Guide 工具進行儲存檔案至本機端。使用者主要分為外部和內部兩種類型,兩者最大的不同點在於外部使用者才擁有 SAS Enterprise Guide 工具處理資料的能力,因為 Stored Process 伺服器一開機就在,此時內部使用者就能被執行,而 Workspace 伺服器則是當有人使用 SAS Enterprise Guide 時才會開始,因此只有外部使用者才能執行。若為外部使用者則要先在作業系統新增使用者,一定要儲存密碼,並且不要更改密碼,並且加入至 SAS Server Users 群組,接著在 SAS Management Console 工具中點選「Plug-ins」→「User Manager」新增使用者,此時先在「General」設定帳號名稱,點選「Account」新增作業系統使用者的對應,請不要設定密碼,就能夠與作業系統中對應使用者帳號的密碼相同,點選「Groups and Roles」設定對應群組和角色。若為內部使用者則只要在 SAS Management Console 工具中點選「Plug-ins」→「User Manager」新增使用者,此時先在「General」設定帳號名稱,點選「Account」→「Create Internal User」新增使用者,必須設定密碼,點選「Groups and Roles」設定對應群組和角色。當我設定完外部與內部使用者之後,就能夠透過 SAS Enterprise Guide 工具進行測試,其中只有外部使用者才能夠進行資料處理。小結新增使用者的流程為先在「General」設定名稱,接著區分內部和外部類型透過「Account」新增,再來在「Groups and Roles」設定對應的群組和角色,至於「Authorization」通常不會使用。

接著我們需要讓資料管理者註冊資料館,並且將伺服器上的內部檔案或本機端上的外部檔案匯入至註冊資料館中。首先過 SAS Enterprise Guide 工具先透過 LIBNAME 資料館名稱 “伺服器端的資料夾位置”; 程式先註冊資料館對應伺服器端的資料夾位置,此時權限控管會由作業統統帳號進行權限控管,當然我們也可以透過 LIBNAME 新的資料館名稱 META LIBRARY=”資料館名稱” METAOUT=DATA; 程式在不用知道伺服器端的資料夾位置時,就能註冊新的資料館,關鍵在於 METAOUT=DATA 參數設定才能夠建立和刪除資料館中的資料集,接著點選「File」→「Import Data」精靈匯入 Excel 檔案至伺服器中對應的資料夾中產生資料集,注意記得要勾選「Embed the data within the generated SAS Code」將資料產生至 SAS 程式之中,再來透過 SAS Management Console 工具在資料館中註冊資料集。

再來我們需要讓資料管理者建立預儲程式所產生的報表,先針對資料館建立預儲程式對應的子資料夾,接著透過 SAS Enterprise Guide 工具以操作精靈的方式透過查詢建立工具建立匯整資料和篩選條件、再透過任務工具建立交叉資料表和建立視覺化圖表產生匯整報表,再來新增預儲程式,此時重點在於要選擇「Stored process server only」統一由 Stored Process 伺服器執行,此時就必須要有作業系統帳號的權限,以及「Source code repository」建議選擇預儲程式對應的子資料夾,最後就能夠將預儲程式建立至子資料夾中,只要執行預儲程式就能夠在資料館對應的資料夾建立報表,此時外部使用者則可以透過 SAS Enterprise Guide 工具就能夠正常讀取預儲程式所產生的報表,而內部使用者則必須透過 Stored Process 伺服器網站中點選「List Available Stored Processes and Reports」才能夠正常讀取預儲程式所產生的報表。當然我們也可以透過「Prompt Manager」建立提示參數,此時在「General」中設定參數名稱和描述,接著選項「Requires a non-blank value」和「Use prompt value throughout project」必須勾選,再來在「Prompt Type and Values」中設定動態清單,完成提示參數的宣告之後,在查詢建立工具中的「Filter Data」點選「Generate filter for a prompt value (only applies to prompt types)」,接著設定「Value」為提示參數名稱,此時就能夠產生動態篩選的報表。

最後針對所有建立的使用者和群組進行備份,首先在 SAS Enterprise Guide 工具中選取「System」→「Security」按右鍵點選「Export SAS Package…」進行匯出,先選擇備份檔儲存位置,接著針對匯出選項點選「Include empty folders」和「Include dependent object when retrieving initial collection of objects」,然後僅勾選所有建立的使用者和群組,再來在 SAS Enterprise Guide 工具中選取「SAS Folder」按右鍵點選「Export SAS Package…」進行匯出,先選擇備份檔儲存位置,接著針對匯出選項點選「Include empty folders」和「Include dependent object when retrieving initial collection of objects」,然後僅勾選所有建立的資料夾,此外當選取「SAS Folder」按右鍵點選「Import SAS Package…」進行匯入,切記必須點選「Include access control」選項再進行匯入操作。總結商業智慧平台的基本管理主要在於使用者、資源和報表的權限控管,SAS 系統管理者為總管理者,而每個單位最好都有資料管理者管理該單位所有的資料。此外只要有用到 SAS Management Console 工具就一定會有 Stored Process 伺服器,代表我們就已經有能力建立自主性分析報表平台。

相關資源

SAS 商業智慧 (2)

基本介紹

教學目標

初步了解 SAS 商業智慧平台之系統管理的權限控管。

重點概念

一開始我們針對使用者對應群組的權限控管,在 SAS Management Console 工具中點選「Plug-ins」→「User Manager」,就能夠管理使用者和群組,此時所有授權皆以群組為主。首先針對使用者按右鍵點選「Properties」→「Groups and Roles」進行權限的設定,資料管理者建議可以設定 SAS Administrators、Metadata Server: Unrestricted、Metadata Server: User Administration、Enterprise Guide: Advanced、Enterprise Guide: Analysis、Enterprise Guide: OLAP、Enterprise Guide: Programming、Report Consumers 和 Report Content Creators 等角色。此外我們也可以針對多位相同角色的使用者統一新建群組,該群組對應相同角色,而使用者則只需要設定為該群組,這時該使用者就一樣會擁有相同角色的所有權限。

接著我們要進行資料夾實體位置對應使用者的權限控管,首先在 SAS Management Console 工具中點選「Folder」建立資料夾,建議至少分成資料和報表資料夾,其中資料的資料夾以英文為主,而報表的資料夾以中文為主。此時我們針對資料夾按右鍵點選「Properties」→「Authorization」進行權限的設定,其中預先定義群組主要有 PUBLIC 和 SAS USER 兩種,在 SAS 平台中有帳號與密碼的使用者皆為 PUBLIC,但是只有在 SAS Metadata 伺服器中有使用者註冊的才屬於 SAS USER,一般來說 PUBLIC 預設權限皆為 Deny,以及 SAS USER 預設權限則有 ReadMetadata 為 Grant,背後原理就是只有在 SAS Metadata 伺服器註冊的使用者才能夠看到所有資源,但不代表可以進行讀取,因此我們要先設定 SAS USER 角色有 Read 權限就能夠進行讀取,此外當我們設定 SAS USER 的權限皆為 Deny 時就會影響到 SAS Administrators 、 SAS System Service 和 Data Integrators 的角色權限,此時就必須針對角色設定 ReadMetadata 權限為 Grant 避免造成看不到資源的問題。接著我們將對應群組加入資料夾中,並且設定權限,此時建議在設定權限時最好將灰色變白色避免權限繼承所造成的問題,所有角色、群組和使用者皆會繼承 SAS USER 權限,並且當 SAS USER 權限為繼承時就會導致角色、群組和使用者皆會先繼承上一層對應的角色、群組和使用者的設定。

再來我們要進行資料夾實體位置對應資料館的權限控管,首先確認資料夾中有存在資料集,接著在 SAS Management Console 工具中點選「Plug-ins」→「Data Library Manager」→「Library」按右鍵選擇「New Library…」建立 SAS 基礎資料館,注意 SAS Management Console 工具主要僅會建立資料館,並不包括如何匯入資料集的處理操作。此時我們在 SAS Management Console 工具中針對不同單位的使用者建立連線設定檔,此時就能讓使用者只能夠處理有權限存取的資料夾和資料館,接著只要在 SAS Management Console 工具中點選「Plug-ins」→「Data Library Manager」→「Library」,選擇資料館按右鍵選擇「Register Tables」,選擇資料夾中的資料集,並且更改資料館對應的資料夾,避免儲存至我的資料夾,就能夠完成資料集的註冊。也就是說資料註冊建議不應該由 SAS 系統管理者統一管理,而是由各單位的資料管理者根據不同的需求管理資料集。

總結我們首先針對使用者對應群組的權限控管,接著使用者與資料館的權限控管,再來我們要進行資料夾實體位置對應資料館的權限控管,最後就能夠讓各單位的資料管理者根據不同的需求管理資料集,達到最簡化管理資料的架構,但又能夠擁有符合複雜彈性需求的權限控管能力,也就說權限控管對於商業智慧平台導入成功將會是非常關鍵的因素。

相關資源

SAS 商業智慧 (1)

基本介紹

教學目標

初步了解 SAS 商業智慧平台之系統管理的基本介紹。

重點概念

SAS Management Console 主要為商業智慧平台的系統管理工具,主要針對 SAS Visual Analytics、SAS Enterprise Miner、SAS Customer Intelligence、… 等商業智慧相關工具進行控管,所以未來新一代的平台 SAS Viya 主要不會透過 SAS Management Console 進行伺服器的控管。使用之前首先要確認服務是否正常啟動,接著才能夠正常啟動 SAS 平台,接著工具的最高權限管理者為 sasadm@saspw,一定要知道且控管這個密碼。一般我們會先從單機版 SAS 工具開始操作,接著使用平台版 SAS Enterprise Guide 工具連線伺服器平台進行操作,現今則可以使用雲端版 SAS Studio 網頁進行 SAS 環境操作。SAS 商業智慧管理工具主要有三大類,分別為 SAS Enterprise BI Server、SAS Online Analytics 和 SAS Visual Analytics。在商業智慧上不同使用者會有不同角色,包括平台管理者、資料整合開發者、資料品質管理者、最高權使用者和資訊使用者,不同角色能看到的內容皆是不一樣的。SAS 平台架構主要由資料來源、伺服器、中介層和客戶端所組成。其中伺服器和中介層會為了效能而分開使用,任何客戶端一般會透過中介層與伺服器進行操作,伺服器最重要有三個伺服器,分別為 SAS Metadata Server 、 SAS Workspace Server 和 SAS Stored Process Server,此外與商業智慧相關安裝資訊主要儲存在伺服器中的 \SASHome\ 資料夾中,以及相關設定資訊主要儲存在伺服器中的 \SAS\Config\Lev1\ 資料夾中,此時重點在於根據需求備份特定資料夾。接著平台管理者主要會使用三個工具,分別為 SAS Management Console 、 SAS Environment Manager 和 SAS Deployment Manager ,其中我們可以透過 SAS Management Console 進行使用者權限的控管,接著透過 SAS Environment Manager 進行資源監控,最後當我們要進行與部署相關的作業,或者忘記 sasadm@saspw 密碼時,可以透過 SAS Deployment Manager 進行部署作業與密碼重設。

接著管理工作概念上主要可分成三個階段,第一階段主要在於進行 SAS 伺服器安全設定,建立正式、規律排程和備份流程。第二階段主要在於新增使用者,接著設定資料夾結構,此時資料夾的控管建議使用作業系統帳號進行控管,接著在透過 SAS Management Console 工具針對不同使用者進行權限控管,以及資料來源連線與 Metadata 權限控管。第三階段主要重點在於維持平台營運,包括重新啟動伺服器,透過記錄檔案查詢系統問題,將部份 Metadata 資料進行匯出與匯入的備份操作。假設有一天 SAS 平台發生問題時,建議請按照以下順序由上至下關閉 SAS 伺服器和中介層,接著再由上至上開啟 SAS 伺服器和中介層,其中 SAS Web Application Server 根據經驗會花費比較多的時間進行開啟,若當有叢集時建議按照序號由大至小關閉,接著再按照序號由小至大開啟。

  1. SAS Deployment Agent
  2. SAS Environment Manager Agent
  3. SAS Environment Manager Server
  4. SAS Web Application Server
  5. SAS Web Server
  6. Cache Locator
  7. JMS Broker
  8. SAS Distributed In-Process Scheduler Job Runner
  9. SAS Deployment Tester SERVER
  10. SAS/CONNECT Spawner
  11. SAS/SHARE Server
  12. SAS Object Spawner
  13. SAS OLAP Server
  14. SAS Metadata Server
  15. SAS Web Infrastructure Platform Data Server

再來 SAS Metadata Server 主要會與所有 SAS 應用程式工具進行連線進行 SAS Metadata 讀取與寫入,因此主要是 In-memory 伺服器允許高效能的方式存取應用程式,並且同時支援多個使用者,SAS Metadata 主要儲存伺服器定義、資料定義、使用者和群組、安全設定和商業智慧內容等相關資訊主要會以 SAS 資料集進行儲存,然而當 SAS 資料集寫入過程中造成損壞時不容易還原,所以進行之前建議先進行備份,只要在 SAS Management Console 工具中點選「Metadata Manager」→「Metadata Utilities」,「Server Backup」,按右鍵選擇「Run Backup Now」,接著輸入備註訊息,此時按下「OK」,就能夠匯出 Metadata 所有資料備份,接著只需要點選適當的備份項目,按右鍵選擇「Recover from This Backup」,接著輸入備註訊息,此時按下「OK」,就能夠匯入 Metadata 所有資料備份。當然除了可以備份 Metadata 所有資料之外,更能夠透過 SAS Management Console 工具針對特定資源進行備份。

最後所謂特定資源為儲存在資料館中的資料集,並且透過資料夾進行權限控管,此時針對特定資料夾進行備份的重點在於先備份使用者群組,再備份資源,一定要備份所有相關的使用者群組與資源。此外每個資料館皆有對應實體子目錄位置和資料夾位置,在 SAS Management Console 工具中點選「Plug-ins」→「Data Library Manager」下的資料館按右鍵選擇「Display LIBNAME Statement」顯示實體子目錄位置,以及按右鍵選擇「Properties」,查看資料館對應的資料夾位置。SAS 商業平台是逐步建立起來,一開始僅能針對資料集權限進行權限控管,但是後來發現報表也要進行權限控管,也因此我們除了在「Plug-ins」中的「Data Library Manager」針對資料館中的資料集按右鍵選擇「Properties」→「Authorization」進行權限控管之外,建議在「Folders」中針對資料館的資料夾的上層資料夾按右鍵選擇「Properties」→「Authorization」進行權限控管,因為當針對上層資料夾進行權限的權限控管時,就會影響至所有子目錄的權限,其中灰色的就能繼承的權限,此時就能夠同時針對資料集和報表進行權限控管,簡單來說「Plug-ins」主要是宣告資料館,然而「Folders」主要是針對資料館進行權限的權限控管,注意一般來說不會直接針對使用者進行權限的權限控管,而是針對群組進行設定,接著再將使用者拉入對應的群組完成權限的權限控管,以及建議在作業系統層只先設定某些特定群組有寫入權限,其它使用者則僅有讀取權限,接著再透過 SAS Management Console 工具針對群組的讀取權限進行更詳細的權限控管。

相關資源