SAS 教學

SAS 系統管理 (23)

教學目標

初步了解如何確認 SAS 伺服器的狀態、連線和驗證。

重點概念

當我們安裝與設定完成之後,在 Windows Server 2012 R2 伺服器中要進行伺服器狀態的確認,主要有三種方式,分別為:

  1. SAS Base 工具。
  2. 命令提示字元工具。
  3. SAS Management Console 工具。

SAS Base 工具

首先透過 SAS Base 9.4 工具輸入下述 SAS 程式碼就能夠查詢 SAS Metadata Server 執行的狀態。

1
2
3
4
5
6
7
8
PROC METAOPERATE
SERVER='伺服器完整網域名稱'
PORT=8561
USERID='sasadm@saspw'
PASSWORD='sasadm@saspw 使用者帳戶的密碼'
PROTOCOL=BRIDGE
ACTION=STATUS;
RUN;

命令提示字元工具

接著透過命令提示字元工具主要會針對不同的伺服器或服務執行不同的指令搭配 -status 選項查看狀態。

伺服器或服務 指令路徑 指令名稱
SAS Metadata Server D:\SAS\Config\Lev1\SASMeta\MetadataServer\ MetadataServer.bat -status
SAS Web Infrastructure Platform Data Server D:\SAS\Config\Lev1\WebInfrastructurePlatformDataServer\ webinfdsvrc.bat -status
SAS Object Spawner D:\SAS\Config\Lev1\ObjectSpawner\ ObjectSpawner.bat -status
SAS Connect Spawner D:\SAS\Config\Lev1\ConnectSpawner\ ConnectSpawner.bat -status
SAS OLAP Server D:\SAS\Config\Lev1\OLAPServer OLAPServer.bat -status
SAS/SHARE Server D:\SAS\Config\Lev1\ShareServer\ ShareServer.bat -status

(註: SAS 設定目錄為 D:\SAS\Config\。)

SAS Management Console 工具

最後透過 SAS Management Console 工具主要會針對不同的伺服器確認狀態、連線和驗證。

伺服器名稱 動作類型 確認方式
SAS Metadata Server 狀態 點選「環境管理」->「中繼資料管理員」->「使用中的伺服器」,按右鍵點選「屬性」,點選「一般」確認狀態,點選「統計資料」確認伺服器上線時間。
SAS Object Spawner 連線 點選「環境管理」->「伺服器管理員」->「Object Spaner」,按下「+」,在「伺服器完整網域名稱」按右鍵點選「連線」。
SAS Connect Spawner 連線 點選「環境管理」->「伺服器管理員」->「Connect Spawner」按右鍵點選「連線」。
SAS Stored Process 連線 點選「環境管理」->「伺服器管理員」->「Object Spaner」,按下「+」,在「伺服器完整網域名稱」上按「右鍵」點選「連線」。
SAS Metadata Server 驗證 點選「環境管理」->「伺服器管理員」->「SASMeta」->「SASMeta - Logical Metadata Server」,按右鍵點選「驗證」。
SAS Pooled Workspace Server 驗證 點選「環境管理」->「伺服器管理員」->「SASApp」->「SASMeta - Logical Pooled Workspace Server」,按右鍵點選「驗證」。
SAS Stored Process Server 驗證 點選「環境管理」->「伺服器管理員」->「SASApp」->「SASApp - Logical Stored Process Server」,按右鍵點選「驗證」。
SAS Workspace Server 驗證 點選「環境管理」->「伺服器管理員」->「SASApp」->「SASMeta - Logical Workspace Server」,按右鍵點選「驗證」。
SAS Content Server 驗證 點選「環境管理」->「伺服器管理員」->「SAS Content Server」,按右鍵點選「驗證」。

總結我們可以在 Windows Server 2012 R2 伺服器上透過 SAS Base 工具、命令提示字元工具和 SAS Management Console 工具三種方式確認 SAS 伺服器的狀態、連線和驗證。

相關資源

SAS 系統管理 (22)

教學目標

初步了解如何在所有的 SAS 伺服器上執行所有的測試。

重點概念

當我們安裝與設定 SAS 解決方案完成之後,基本上會需要在所有的 SAS 伺服器上執行所有的測試,以利確保安裝與設定是否正確。此時 SAS 就有提供部署測試器,主要能夠讓我們在安裝與更新完成之後確保 SAS 軟體和關鍵元件是否已經安裝首設定正確,此外若有其它 SAS 部署環境的改變也可以透過部署測試器確保 SAS 元件仍然持續進行運作,同時當問題發生進行故障排除時,部署測試器也能夠監測部署的健康狀態。

認識部署測試器

首先部署測試器主要有四個元件所組成:

  1. 伺服器。
  2. 外掛程式。
  3. 批次客戶端。
  4. 測試套件。

第一當我們安裝與設定 SAS 解決方案時,通常會安裝部署測試器伺服器,並且建立 Windows 服務「SAS [Config-Lev1] Deployment Tester Server」,請注意服務預設啟動類型為手動,所以需要先確認是否已經執行,若沒有執行請手動執行。第二在「SAS Management Console 工具」在中的「應用程式管理」會有「部署測試器」的外掛程式能夠讓我們從單一介面透過互動的方案進行部署測試,同時我們可以從外掛程式中查看測試結果和管理測試結果檔案。第三部署測試器還包括批次客戶端主要能夠讓我們透過命令提示字元工具和排程為主執行部署測試,重點在於只有有安裝 SAS Foundation 的機器,皆可以透過批次客戶端進行測試。第四測試套件主要有四個,分別為:

  1. SAS 安裝品質工具。
  2. SAS 運作品質工具。
  3. SAS 功能測試。
  4. SAS 金鑰確認。

第一所謂 SAS 安裝品質工具,簡稱為 SAS IQ ,此測試套件主要會示範 SAS 軟體已經根據規格進行安裝和設定。第二所謂 SAS 運作品質工具,簡稱為 SAS OQ,此測試套件主要要會示範 Base SAS 軟體是運作中。第三 SAS 功能測試主 是針對 SAS OLAP 伺服器、SAS Stored Process 伺服器和 SAS Content 伺服器進行功能測試。第四 SAS 金鑰確認主要是針對 SAS Pooled Workspace Server 和 SAS Workspace Server 進要金鑰和到期日的確認。此外我們更可以透過 SAS 運作品質工具為了企業組織建立更多 SAS 軟體的測試案例。

何時使用部署測試器

接著部署測試器提供更多的驗證測試,最佳實務中我們應該使用部署測試器確保我們 SAS 部署功能與運作,通常會在下述的情況之後執行。

  1. 我們使用 SAS 部署精靈安裝 SAS 軟體、更新 SAS 軟體或設定新的 SAS 網頁應用程式伺服器元件。
  2. 我們針對 SAS 內容伺服器和 SAS 應用程式伺服器元件進行類型的更改設定。
  3. 我們使用 SAS 部署管理員解除安裝 SAS 軟體、移除相關設定、更新主機名稱或套用修補程式。
  4. 我們將中繼資料從儲存器至另一個儲存器。
  5. 我們使用 SAS 移轉工具升級 SAS 內容。
  6. 我們透過備份還原中繼資料儲存體檔案。

此外若設定新的伺服器時,請先重新啟動部署測試器伺服器,否則部署測試器會不認得新的伺服器。同時我們使用 SAS 解決方案時發生問題時,可以先透過部署測試器進行故障排除識別原因,若有必要則儲存測試結果給 SAS 原廠技術支援進行故障排除的協助。

使用部署測試器必要條件

為了正確執行測試案例,所以需要 JUnit 第三方軟體,主要是開放源始碼框架透過 Java 程式語言執行測試,通常在我們安裝 SAS 軟體之後,會先放置 JUnit 第三方軟體的 JAR 檔在部署測試器的機器上的特定資料夾中,同時若 JAR 檔有版本編號,建議將其命名為 junit.jar。此外部署測試器伺服器因為是選擇性的伺服器,所以預設為手動啟動,因此當我們在安裝與設定完成 SAS 軟體之後,請確認部署測試器伺服器的「SAS [Config-Lev1] Deployment Tester Server」服務是否正常啟動。(註:在測試套件中僅有Content Server 和 Stored Process Server 測試會需要 Junit 工具。)

開始使用部署測試器

再來請先開啟「SAS Management Console」工具,點選「應用程式管理」->「部署測試器」,按右鍵點選「在所有的伺服器上執行所有的測試」,基本上會要輸入三次日常用的使用者帳號進行部署測試,像是 SAS 示範使用者 (sasdemo)。接著當部署測試完成之後,點選「結果」就能查看「測試套件」的結果,此外也可以在「C:\Users\user\AppData\Roaming\SAS\SASDeploymentTesterSASMCPlugin\2.2\Reports\yyyymmdd\report_test-suite-name 」資料夾夾中找到測試套件的報告網頁檔,其中包括以下資訊,請參考下表範例。

測試套件: SAS IQ
伺服器: server.sas.com:10021
命令: C:\Program Files\SASHome\InstallMisc\utilities\installqual\9.4\sasiqt.exe -silent -out C:\SAS\Config\Lev1\DeploymentTesterServer\workspace\yyyymmdd_xxxxxx_xx_xxxxxxx_tempSASContractContID
描述: Verifies the integrity of a SAS Foundation install
執行時間: 15 分鐘,30 秒
測試執行: 1
通過: 0
失敗: 0
錯誤: 0
逾時: 0
測試名稱 傳回碼 預期的傳回碼 是否通過?
1. Validation successful 0 0 成功

最後部署測試器也有提供批次客戶端執行批次命令,但是除非必需完成自動化部署測試與驗證,不然透過「SAS Management Console」工具中的部署測試器進行測試與驗證操作就已經很簡單了。總結我們可以透過「SAS Management Console」工具中的部署測試器進行在所有伺服器上執行所有的測試,以利再次驗證 SAS 軟體安裝與設定是否正常完成。

相關資源

SAS 系統管理 (21)

教學目標

初步了解 SAS 網頁伺服器叢集架構和設定高可用性同質叢集架構的概念。

重點概念

首先 SAS Enterprise BI Server 和 SAS Visual Analytics 解決方案被使用於提供觀點至客戶資料中,並且提供答案解決商業問題。此時 SAS Enterprise BI Server 和 SAS Visual Analytics 皆會使用 Middle Tier 伺服器,因此如何設定高可用性將會是解決方案關鍵的重點。

基本上 SAS 網頁應用程式為了改善效能和提供高可用性可以被設定為叢集的架構,在叢集環境中多台伺服器實體將會分別處理來自於客戶端的請求,因此可以改善效能,雖然效能也可以由提升部署伺服器的硬體配備進行改善,但是若發生部署伺服器硬體損毀時就無法正常運作,此時叢集的架構就能達到高可用性以利確保部署伺服器繼續運作。

接著若是叢集伺服器實體皆執行於相同機器上時則稱為水平叢集,若伺服器實體執行於叢集機器則稱為重直叢集,此時 SAS 網頁應用程式伺服器則可以部署水平叢集、重直叢集或混合應用。一般來說來 SAS 網頁伺服器主要是提供分散 HTTP 請求至 SAS 網頁應用伺服器實體的負載平衡應用,重點在於 SAS 網頁伺服器是客戶存取所有網頁伺服器的唯一存取點,其會偵測叢集中的應用程式伺服器是否關閉和設定路由請求,但可惜的是 SAS 網頁伺服器無法監測 SAS 網頁應用程式伺服器的狀態。

再來 SAS 智慧平台主要有兩種部署 Middle Tier 伺服器的方式,分別為單一伺服器,又稱同質叢集,多個伺服器,又稱異質叢集,預設為單一伺服器的部署方式,主要差別在於同質叢集是叢集的每個節點伺服器包括所有相同的應用程式,反之異質叢集則是特定應用程式在不同節點伺服器上。簡單來說我們在透過 SAS 部署精靈進行安裝與設定時,只要選擇「 Middle Tier Node (Optional) 」就能夠部署 SAS 網頁應用程式伺服器的高可用性架構,但是若這樣設定會發現問題點在於 SAS 網頁伺服器一般會在主要 Middle Tier 伺服器中,所以給客戶發出請求時皆會透過主要 Middle Tier 伺服器中的 SAS 網頁伺服器進行負載平衡或反向代理的應用,將請求轉至叢集中的 SAS 網頁應用程式伺服器。此時問題在於若主要 Middle Tier 伺服器損毀時則就無法使用了。

為了解決此問題我們可以將主要 Middle Tier 伺服器上的 SAS 網頁伺服器設定檔複製至每台 Middle Tier 伺服器上,接著執行 PowerShell 指令安裝與啟動 SAS 網頁伺服器服務。

1
2
3
4
$ Set-ExecutionPolicy RemoteSigned
$ cd D:\SAS\Config\Lev1\Web\WebServer\bin

$ powershell .\httpdctl.ps1 install
$ powershell .\httpdctl.ps1 start

此時每台 Middle Tier 伺服器就真的是同質叢集架構了,但是還有個問題在於 Compute Tier 伺服器中針對所有 SAS 網頁應用程式伺服器的內部連線和外部連線皆是以主要 Middle Tier 伺服器為主,因此我們必須透過 SAS Management Console 工具修改每個 SAS 網頁應用程式伺服器屬性中的內部連線和外部連線為「負載平衡伺服器的完整網域名稱」,這部份若不知如何設定建議請教 SAS 原廠顧問,一般來說企業會有專屬的負載平衡伺服器進行分流。接著針對每個 SAS 網頁應用程式伺服器設定資料夾中的 server.xml 設定檔修改 Connector 的 proxyName 屬性值為「負載平衡伺服器的完整網域名稱」,startup.prerequisites 設定檔加入所有叢集伺服器的成員,以及 wrapper.conf 設定檔加入以下 JVM 參數:

1
2
-Dsas.retry.internal.url=true
-Dsas.web.html.cdps.use.internal.urls=true

最後我們還須透過 SAS Management Console 工具設定 WebDAV 儲存體的網址和 SAS 資料夾內部對應為「SAS Content Server」,這部份若不知如何設定建議請教 SAS 原廠顧問,當我們完成將 SAS 網頁應用程式所有相關連線皆透過負載平衡伺服器時的所有設定,此時重新啟動 Compute Tier 伺服器、Middle Tier 伺服器,請等待一段時間,否則太快進行測試 SAS 網頁應用程式伺服器未完整啟動,將會有 503、404、… 等錯誤訊息。

總結 SAS 9.4 解決方案預設會以主要 Middle Tier 伺服器中的 SAS 網頁伺服器當成負載平衡伺服器,此架構問題在於主要 Middle Tier 伺服器不能停機或損毀,不然無法達到高可用性的運作。這時理論上我們可以透過簡單設定,而非客製程式的方式將 SAS 解決方案與任何負載平衡伺服器進行整合,實務上還是需要進行測試才能夠確保達到高可用性的運作。

相關資源

SAS 系統管理 (20)

教學目標

初步了解 SAS 內部使用者帳號。

重點概念

當我們開始要部署 SAS 解決方案之前最好先了解使用者與群組的設定,首先我們要先了解內部和外部使用者帳號是什麼?基本上使用者帳號主要有兩種類型分別為內部使用者帳號和外部使用者帳號。

本篇主要介紹內部使用者帳號,所謂內部使用者帳號只會被 SAS 使用,主要被建立於進行 SAS 中繼資料內部驗證之用途,至於外部使用者帳號則主要被建立在本機或網域服務中的成員。SAS 識別內部使用者帳號主要會在使用者 ID 之後加上 @saspw,主要當我們透過 SAS 部署精靈進行設定時會需要輸入預設必要的內部使用者帳號帳號的密碼,請參考下表。

基本內部使用者帳號

使用者 ID 使用者名稱 描述說明
sasadm@saspw SAS 管理員 第一位不受限制的管理員,主要為負責執行中繼資料管理工作的使用者。
sastrust@saspw SAS 受信任使用者 受信任使用者是一個授權服務的帳號,主要可以代表其他的使用者與中繼資料伺服器連線。
sasevs@saspw SAS Environment Manager 服務帳戶 SAS Environment Manager 服務的使用者帳號主要是用於監控 SAS 部署環境中的流程進行溝通,同時也是不受限制的管理員,可以不受限制的存取與管理中繼資料伺服器。
webanon@saspw SAS 匿名 Web 使用者 匿名 Web 使用者被授與網路客戶端存取 SAS Web Infrastructure Platform 元件,當網路客戶請求存取網路服務時,它們就會透過此帳號授與權取。

一般來說透過 SAS 部署精靈進行設定 sasadm@saspw 管理員密碼時,可以勾選「使用不受限制的管理員密碼設定密碼」選項,就能夠直接將 sasadm@saspw 管理員密碼自動填入至接下來的密碼設定中。以及若是 Compute Tier 伺服器和 Middle Tier 伺服器二層部署架構,則 SAS 管理員、SAS 受信任使用者和 SAS Environment Manager 服務帳戶會在 Compute Tier 伺服器透過 SAS 部署精靈進行設定,而 SAS 匿名 Web 使用者則會在 Middle Tier 伺服器透過 SAS 部署精靈進行設定。

更多內部使用者帳號

使用者 ID 使用者名稱 描述說明
dbmsowner SAS Web Infrastructure Platform Data Server 管理員 管理 SAS Web Infrastructure Platform Data Server 中所有資料庫,同時為所有資料庫的擁有者
SharedServices SAS Web Infrastructure Platform SharedServices 資料庫服務帳戶 管理 SAS Web Infrastructure Platform SharedServices 資料庫服務
adminowner SAS Environment Manager 管理員 管理SAS Environment Manager 資料庫
EVManager SAS Environment Manager EVManager 資料庫管理員 管理 SAS Environment Manager EVManager 資料庫
vatadm SAS Visual Analytics 服務管理員 管理 SAS Visual Analytics 服務資料庫

若是 Compute Tier 伺服器和 Middle Tier 伺服器二層部署架構,則 SAS Web Infrastructure Platform Data Server 管理員會在 Compute Tier 伺服器透過 SAS 部署精靈進行設定,而其它內部使用者帳戶則會在 Middle Tier 伺服器透過 SAS 部署精靈進行設定。

總結內部使用者帳號主要是透過 SAS Management Console 進行定義,基本上獨立於本機的安全政策,因此我們可以在不透過資訊部門的情況下,管理單位就能夠建立不受限制的使用者和管理使用者帳號進行中繼資料管理,例如我們可以透過 SAS Management Conosole 工具,點選「SAS 管理員」,選取「使用者」,點選「帳戶」,在下方內部帳戶的左方按下「更新」,此就能設定「不受帳戶鎖定原則限制」,避免帳號密碼輸入錯誤三次就會被定鎖一小時,所以我們直接透過設定避免「SAS 管理員」帳號被鎖定,或者新增其它 SAS 管理者內部使用者帳號,當 SAS 管理者帳號被鎖定時可以透過其它 SAS 管理者內部使用者帳號登入 SAS Management Conosole 工具,點選「SAS 管理員」,選取「使用者」,點選「帳戶」進行解鎖。此外透過 SAS 受信任使用者可以降低 SAS 應用程序之間的溝通上人為疏失造成錯誤的風險。最後因為 SAS 管理員和 SAS 受信任使用者最高權限只能存取 SAS 解決方案,無法存取作業系統的資源,因此對於企業來說是符合安全的管理。

相關資源

SAS 系統管理 (19)

教學目標

初步了解透過 SAS 部署精靈安裝與設定 SAS 解決方案時,不考慮排程需求的情況下,必須安裝哪些第三方產品。

重點概念

若是我們目前將要部署 SAS 解決方案的環境為 Windows Server 2012 R2 伺服器搭配 SQL Server 2012 資料庫時,不考慮排程需求的情況下,必須安裝的第三方產品,其產品類型基本上可分為更新、功能、軟體和驅動程式。

更新

Windows Update

當我們開始透過 SAS 部署精靈進行安裝與設定之前,必須先進行 Windwos 更新,建議先下載 KB2919355 更新檔案,若沒有網際網路環境時請手動安裝至 Windows Server 2012 R2,以利降低安裝與設定可能發生錯誤的風險。

功能

PowerShell 2.2

當我們開始透過 SAS 部署精靈進行安裝時,過程中會需要輸入 PowerShell 的安裝位置,目前 Windows Server 2012 R2 預設已經有安裝,所以直接按下一步,會有版本警告訊息,但是不影響可以直接按「是」。Power Shell 主要是基於 .Net 為基礎設定管理的框架,主要被應用於在 Windows 上部署 SAS Middle Tier 伺服器,簡單來說 SAS 部署經靈會使用 PowerShell 執行修改路徑資訊的設定指令。

.Net Framework 3.5

當我們開始透過 SAS 部署精靈進行安裝時,過程中就必須先安裝 .Net Framework 3.5 版本的功能,否則將無法順利進行安裝與設定,若沒有網際網路環境時請透過 Windows Server 2012 R2 安裝光碟片或 ISO 檔案中 \Sources\sxs 資料夾路徑進行安裝。

軟體

Junit 4.8.1

當我們透過 SAS 部署精靈安裝 SAS 解決方案完成之後,我們會透過 SAS Managmenet Conosle 軟體執行 Deployment Tester 工具測試所有伺服器,主要使用 Junit 4.8.1 版本,通常不用特別安裝,只需要複製 sqljdbc41.jar 至建議的資料夾中即可。

Python 2.7

當我們透過 SAS 部署精靈安裝 SAS 解決方案時因為大部份會搭配內建的報表呈現軟體,此時 SAS Visual Analytics 中的 SAS information Retrieval Studio 軟體就會需要安裝 Python 2.6 ~2.7 版本的軟體,此外 Windows 會需要安裝兩種版本的 Python 軟體,一是 Active Python 軟體或是 Python Software Foundation 軟體。

驅動程式

JDBC

當我們透過 SAS 部署精靈設定 SAS 解決方案,必須先確認資料庫連線的 JDBC 驅動程式是否已經正常安裝,像是 SQL Server 2012 就會需要安裝 Microsoft Driver 4.1 for SQL Server 驅動程式 sqljdbc41.jar 的應用程式檔案,通常不用特別安裝,只需要複製 sqljdbc41.jar 至建議的資料夾中即可。

ODBC

當我們透過 SAS 部署精靈設定 SAS 解決方案,必須先確認資料庫連線的 ODBC 驅動程式是否已經正常安裝,像是 SQL Server 2012 就會需要安裝 Microsoft ODBC Driver 11 for SQL Server 驅動程式,當安裝完成之後我們會在透過「ODBC 資料來源管理員 (64 位元)」工具選擇「系統資料來源名稱」新增以 ODBC Driver 11 for SQL Server 驅動程式設定資料來源的資料庫連線進行測試 。

所以我們將上述第三方產品初步整理為下述表格。

類型 第三方產品 安裝方式 注意事項
更新 Windows Update 安裝檔 若無網路環境需特別注意
功能 PowerShell 2.2 預設功能 部署精靈相關警示訊息無影響
功能 .Net Framework 3.5 新增功能 若無網路環境需特別注意
軟體 Junit 4.8.1 JAR 檔 複製檔案
軟體 Python 2.7 安裝檔 安裝設定
驅動程式 JDBC JAR 檔 複製檔案
驅動程式 ODBC 安裝檔 安裝設定

總結第三方產品通常在 SAS 部署精靈安裝與設定的過程中就會被要求設定安裝路徑,所以若沒有完成上述第三方產品,理論上就無法透過 SAS 部署精靈正常進行安裝與設定。

相關資源