Leo Yeh's Blog

SAS Viya (37)

教學目標

初步了解 SAS Viya 中記錄檔的基本概念和維運操作。

重點概念

首先在 SAS Viya 中記錄檔不僅由應用程式和伺服器所產生,同時也會由 SAS Viya 服務所產生,為了管理龐大數量的記錄檔時,我們主要會透過營運架構提供收集和儲存記錄訊息的功能。其中 sas-watchlog 工具主要會持續性的收集和傳送記錄資訊息至 RabbitMQ 交換中心,以及 sas-stream 工具主要會從 RabbitMQ 將訊息寫入至磁碟儲存為 TSV 檔案。此外每五分鐘 etl-driver.sas 工作將會從 TSV 檔案中擷取記錄檔資訊,然後載入至 CAS 中的 VIYALOGS 資料表中,並且 SAS Environment Manager 會使用 VIYALOG 資料表中的資訊和透過 VIYALOGS_SOURCES 資料表顯示記錄資訊和圖形化訊息的頻率和趨勢,預設記錄資訊每天將會執行一次從 VIYALOGS 資料表中移除三天前的資料。

接著在 SAS Viya 中的 SAS Environment Manager 儀表版主要顯示前五大資料來源不同層級的資訊,視覺化圖表主要顯示近三十分鐘不同 SAS Viya 應用程式的資訊,以利我們能夠立即找出應用程式發生問題的根本原因。此外我們也能夠透過 SAS Environment Manager 記錄頁面顯示有關記錄檔的詳細資訊,以及提供近三十分鐘的統計折圖資訊,當然我們也能夠透過篩選的功能縮小查看相關記錄檔的範圍,至於常見記錄檔路徑,請參考下表。

記錄檔路徑

服務 記錄檔
Apache httpd (SAS Reverse Proxy) /var/log/httpd
httpproxy /opt/sas/viya/config/var/log/httpproxy,/var/log/sas/viya/httpproxy
CAS (Cloud Analytics Server) /opt/sas/viya/config/var/log/cas/default
Consul (SAS Configuration Server) /opt/sas/viya/config/var/log/consul/default
PostgreSQL (SAS Infrastructure Data Server) /opt/sas/viya/config/var/log/sasdatasvrc/postgres,/var/log/sas/viya/sasdatasvrc/postgres
RabbitMQ (SAS Message Broker) /opt/sas/viya/config/var/log/rabbitmq,/var/log/sas/viya/rabbitmq
Microservices and Webapps /opt/sas/viya/config/var/log/service-name/default,/var/log/sas/viya/service-name/default

再來在 SAS Viya 中主要有提供非常有彈性的 SAS 記錄檔工具,以利我們用於收集、分類和過濾事件,產生不同的記錄檔資訊。並且 SAS 記錄檔工具更能夠使用於診斷問題、解決問題、管理效能、管理容量和稽核法規等相關應用。此外我們針對問題的診斷主要能夠設定記錄檔層級從高至低,分別為 TRACE、 DEBUG、INFO、WARN、ERROR 和 FATAL,有關記錄檔層級主要是由 XML 檔案進行定義,像是有關 CAS 伺服器的記錄檔設定,主要是儲存於「/opt/sas/viya/config/etc/cas/default/logconfig.xml」檔案中,其中不同層會有不同的門檻值,當超過特定層級的門檻值時才會產生記錄檔資訊,至於記錄檔層級說明,請參考下表。

記錄檔層級

層級 說明
Trace 主要產生非常詳細的記錄檔資訊,當我們要找出問題根本原因時將會使用此層級,但是會產生大量的記錄檔。
Debug 主要產生詳細的記錄檔資訊,當我們要找出問題原因時將會使用此層級,但是會產生大量的記錄檔。
Info 主要產生應用程式處理時顯示的訊息。
Warn 主要產生可能潛在問題的訊息。
Error 主要產生當錯誤發生時的訊息,但是應用程式還能夠執行。
Fatal 主要產生當錯誤發生時的訊息,但是應用程式將會不能執行。

最後在 SAS Viya 中若我們主要能夠進行查看、刪除和設定,以利進行 SAS Viya 平台的維運,相關日常作業,主要有:

  1. 查看磁碟空間。
  2. 查看記憶體空間。
  3. 查看資料夾中的大檔。
  4. 查看快取資料夾。
  5. 查看服務錯誤的記錄檔資訊。
  6. 查詢今天有更新檔案。
  7. 設定資料市集壓縮檔的保留天數。
  8. 刪除記錄壓縮檔。

查看磁碟空間

1
# df -h

查看記憶體空間

1
# free -m

查看資料夾中的大檔

1
# du -B M --max-depth=1 | sort -g

查看快取資料夾

1
2
# ps -aux | grep cas 
# lsof -p [PID]

查看服務錯誤的記錄檔資訊

1
# sudo grep ERROR: /var/log/sas/viya/*/default/*

查詢今天有更新檔案

1
# ls -ltr */* | grep [todays_date]

設定資料市集壓縮檔的保留天數

1
# ./dm-admin --datamart evdm set EMI_DELETE_TSVZIP_DAYS=7

刪除記錄壓縮檔

1
2
# cd /var/log/sas/viya/
# rm -rf log-*.zip

相關資源

⬅️ Go back