Leo Yeh's Blog

SAS Viya (57)

教學目標

初步了解部署 SAS Visual Investigator 基本概念。

重點概念

首先在金融犯罪領域最常見的模型調整過程就是抽樣資料之後交給主題專家進行處理,以確定活動是否可疑,建立這些目標價值是調整模型的關鍵組成部分,能夠產生更有效和有效的模型,以利避免詐欺活動和識別恐怖主義融資活動,此外提供過程的可追溯性以建立模型的門檻值和權重對於檢測可疑活動的受管制方面至關重要,而 SAS Visual Investigator 不僅提供了一個用於資料探索和分析的強大功能之外,更能夠透過附加的工作流程實現分析。

接著當我們開始要將 SAS Visual Investigator 部署至 IT 內部環境時,若僅執行 SAS Viya Infrastructure Resource Kit (VIRK) 中的 Pre-installation Playbook 驗證部署環境,則在執行部署的 Ansible Playbook 時,則會發生 Elasticsearch 服務會無法啟動的問題,為了解決此問題第一步驟我們會先查詢「/opt/sas/viya/config/var/log/svi-elasticsearch/sas-elasticsearch.log」記錄檔中的錯誤訊息,第二步驟我們根據錯誤訊息推斷可能造成無法啟動 Elasticsearch 服務的根本原因,根據「max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]」錯誤訊息我們將能夠推斷需要設定「vm.max_map_count」值為「263144」,第三步驟我們執行解決根本原因的指令「sudo sysctl -w vm.max_map_count=262144」,請注意此指令設定當重新開機之後就會重置為 65530,所以需要將此指令加入至 Linux 的啟動流程中,當我們完成以上三個步驟之後,理應就能夠執行部署的 Ansible Playbook 順利部署完成 SAS Visual Investigator。

解決無法啟動 Elasticsearch 服務的問題

1
2
3
# sudo sysctl -w vm.max_map_count=262144
# cd /etc/init.d
# sudo ./sas-viya-svi-elasticsearch-default start

查詢無法啟動 Elasticsearch 服務的錯誤訊息

1
2
3
4
5
6
# cd /opt/sas/viya/config/var/log/svi-elasticsearch
# vi sas-elasticsearch.log
java.lang.IllegalStateException: failed to obtain node locks, tried
[[/opt/sas/viya/config/data/svi-elasticsearch/sas-elasticsearch]] with lock id
[0]; maybe these locations are not writable or multiple nodes were started
without increasing [node.max_local_storage_nodes] (was [1])?

解決無法啟動 Elasticsearch 服務的問題

1
2
3
4
# ps aux | grep elastic
# sudo kill -9 <PID>
# cd /etc/init.d
# sudo ./sas-viya-svi-elasticsearch-default start

再來 SAS Visual Investigator 主要是基於 SAS Viya 強大分散式資料處理和 Elasticsearch 強大的全文搜尋功能,因此我們不僅能夠部署至一台伺服器之外能夠根據客戶不同的需求,更能夠根據客戶需求將 CAS Worker、RabbitMQ、Elasticsearch Master、Elasticsearch Data 和 Postgres 分別部署至不同伺服器中進行分散式處理和提供高可用性的服務,其中我們需要特別修改 inventory.ini 和 vars.yml 兩個設定檔。 inventory.ini 設定檔重點在於 ElasticSearch_IsMaster=true 代表部署 Elasticsearch Master,ElasticSearch_IsData=true 代表部署 Elasticsearch Data,當然我們也能夠在同一台伺服器同時設定 ElasticSearch_IsMaster=true 和 ElasticSearch_IsData=true 代表同時部署 Elasticsearch Master 和 Elasticsearch Data 至同一台伺服器中,至於 Postgres 資料庫,則需要同時修改 [pgpoolc] 和 [sasdatasvrc] 設定,以及修改 vars.yml 設定檔中的「INVOCATION_VARIABLES」,否則在自動化部署時會出現「Please add sasdatasvrc variable definitions for the system named ‘XXX’」的錯誤訊息。

inventory.ini 設定檔

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

[sas-casserver-worker]
casworker

[elasticsearch]
elasticmaster ElasticSearch_IsMaster=true ElasticSearch_IsData=false ElasticSearch_HeapSize=8g ElasticSearch_QueueSize=1000
elasticdata ElasticSearch_IsMaster=false ElasticSearch_IsData=true ElasticSearch_HeapSize=8g ElasticSearch_QueueSize=1000

[rabbitmq]
rabbitmq

[pgpoolc]
postgresql

[sasdatasvrc]
postgresql

vars.yml 設定檔

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

INVOCATION_VARIABLES:
postgresql:
pgpoolc:
- PCP_PORT: '5430'
PGPOOL_PORT: '5431'
SANMOUNT: '{{ SAS_CONFIG_ROOT }}/data/sasdatasvrc'
SERVICE_NAME: postgres
sasdatasvrc:
- NODE_NUMBER: '0'
NODE_TYPE: P
PG_PORT: '5432'
SANMOUNT: '{{ SAS_CONFIG_ROOT }}/data/sasdatasvrc'
SERVICE_NAME: postgres

最後當我們部署完成 SAS Visual Investigator 之後,請先透過「/etc/init.d/sas-viya-all-services status」指令確認 SAS Visual Investigator 直接相關的關鍵服務皆有正常啟動,否則就會發生能夠登入至 SAS Visual Investigator 中,但是會發生伺服器錯誤的訊息,導致無法正常進行操作。至於 Postgres 主要是設定每個微服務的相關設定、警示訊息、內部實體、歷史選擇關係、附件檔案以及稽核記錄。

服務名稱 描述
svi-ai Visual Investigator 分析和索引服務,主要將 CSV 檔案導入至 Postgres 資料庫中的 AIUSERDATA Schema 中,並且在 Data Hub 中進行註冊。
svi-alert Visual Investigator 警示服務,主要接受警示事件和情境觸發事件,並且透過領域、策略和佇列建立和更新調查警示。
svi-audit Visual Investigator 稽核服務,主要記錄在應用程式中的使用者操作,並且為管理員提供 API 以利查詢記錄稽核。
svi-datahub Visual Investigator 資料中心服務,主要提供與實體互動的服務,其中包括實體和關係設定,檢索和儲存。
svi-elasticsearch Visual Investigator 搜尋服務,主要提供用於文本,地理空間,時間和關係搜索和內容索引的服務。
svi-entity-resolution Visual Investigator 實體解析服務,主要執行實體解析的功能。
svi-feature Visual Investigator 功能服務,主要檢索使用者所有使用功能的集合。
svi-mobile Visual Investigator 行動服務,主要提供行動相關的功能服務。
svi-network-analytics Visual Investigator 網路分析服務,主要提供用於與網路連接圖相關的中心計算和圖形化等功能。
svi-sand Visual Investigator 搜尋和探索服務,主要用於在索引,搜索和提供資料可視化功能。
svi-transport Visual Investigator 傳輸服務,主要從正在執行的實例中提供設定資料的 .zip 檔案,並且接受/部署設定資料的 .zip 檔案至系統中。
svi-visual-investigator Visual Investigator 網站服務,主要提供給客戶端網頁瀏覽器的畫面。
svi-vsd-service Visual Investigator 情境服務,主要提供情境操作的相關功能。

相關資源

⬅️ Go back