本文包含一些疑難排解步驟,可協助您確保使用 Microsoft Sentinel 來準確且及時地擷取和監視 SAP 環境的資料。
使用無代理程式數據連接器時,大部分的疑難解答都會直接在 SAP Integration Suite 中完成,其中訊息記錄檔會顯示指出所發生問題本質的錯誤。
這很重要
SAP 的資料連接器代理程式將被 棄用 ,並將於 2026 年 9 月 30 日前永久停用。 我們建議您 遷移到無代理資料連接器。 想了解更多關於無代理人的方法,請參閱我們的 部落格文章。
從檢查訊息處理記錄開始。 如需詳細資訊,請參閱 SAP 檔。 有的錯誤訊息可協助您診斷遺漏許可權、連線錯誤和其他設定錯誤的問題。
如果您沒有看到問題的相關錯誤,請開啟追蹤記錄以取得更深入的疑難解答。 如需詳細資訊,請參閱 SAP 檔。
檢查必要條件
執行 初始連接器組態時部署的無代理程式數據連接器套件包含一項工具,可協助 SAP 系統管理員診斷和修正與 SAP 環境設定相關的問題。
若要執行此工具:
開啟整合套件、瀏覽至 [成品] 索引標籤,然後選取 [必要條件檢查工具] iflow >[設定]。
將遠端函式呼叫 (RFC) 的目標目的地名稱設定為您想要檢查的 SAP 系統。 例如:
A4H-100-Sentinel-RFC。比照部署 SAP 系統的方式部署 iflow。
從任何 REST 用戶端觸發 iflow。 例如,使用下列範例 PowerShell 腳本,修改您環境的範例佔位符值:
$cpiEndpoint = "https://my-cpi-uri.it-cpi012-rt.cfapps.eu01-010.hana.ondemand.com" # CPI endpoint URL $credentialsUrl = "https://my-uaa-uri.authentication.eu01.hana.ondemand.com/oauth/token" # SAP authorization server URL $serviceKey = 'sb-12324cd-a1b2-5678-a1b2-1234cd5678ef!g9123|it-rt-my-cpi!h45678' # Process Integration Runtime Service client ID $serviceSecret = '< client secret >' # Your Process Integration Runtime service secret (make sure to use single quotes) $credentials = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes("$serviceKey`:$serviceSecret")) $headers = @{ "Authorization" = "Basic $credentials" "Content-Type" = "application/json" } $authResponse = Invoke-WebRequest -Uri $credentialsUrl"?grant_type=client_credentials" ` -Method Post ` -Headers $headers $token = ($authResponse.Content | ConvertFrom-Json).access_token $path = "/http/checkSAP" $param = "?startTimeUTC=$((Get-Date).AddMinutes(-1).ToString("yyyy-MM-ddTHH:mm:ss"))&endTimeUTC=$((Get-Date).ToString("yyyy-MM-ddTHH:mm:ss"))" $headers = @{ "Authorization" = "Bearer $token" "Content-Type" = "application/json" } $response = Invoke-WebRequest -Uri "$cpiEndpoint$path$param" -Method Get -Headers $headers Write-Host $response.RawContent
在連線到 Microsoft Sentinel 之前,請確定必要條件檢查程式已成功執行 (狀態碼 200),且回應輸出上沒有警告。
如果有任何發現,請參閱回應詳細資料,以取得補救步驟的指引。 舊版 SAP 系統通常需要額外的 SAP 註釋。 此外,請參閱 故障排除部分 以了解常見問題和解決方案。
舊版 SAP 系統中缺少的功能
某些舊版 SAP 系統可能缺少 RFC_READ_TABLE 函式模組的必要功能。 請確定您的 SAP 系統管理員已檢閱 SAP 附注3390051和382318,並據以修補系統。
如需詳細資訊,請參閱 設定 SAP Cloud Connector 設定。
設定資料連接器時發生「部署必要的 Azure 資源」錯誤
當您設定適用於 SAP 的 Microsoft Sentinel - 無代理程式資料連接器時,在 [初始連接器設定 > 步驟 1:觸發自動部署必要 Azure 資源/SOC 工程師] 底下,選取 [部署必要的資源] 之後,您可能會看到「部署必要的 Azure 資源」錯誤或類似錯誤 (錯誤可能會有所不同)。 此錯誤可能表示您缺少 Entra ID 應用程式註冊的必要許可權。
如果您沒有 Entra ID 應用程式開發人員 角色或更高版本,您必須與具有此許可權的同事合作,才能完成 Azure 資源的設定。 如需詳細資訊,請遵循 數據連接器代理程式連接 步驟中的程式。
缺少「上次路由的位址」
如果您在安全性稽核記錄中看到錯誤,指出您遺漏路由的最後一個位址(IP 位址),請遵循 SAP 附注中的指引3566290。
不完整的 SAP 使用者主要數據
如果您看到有關您的 SAP 使用者主數據不完整或 ABAPAuthorizationDetails Microsoft Sentinel 表中沒有數據的情況,請執行下列動作:
- 確認 SAP 來源系統中存在 SIAG_ROLE_GET_AUTH SAP 功能模組。
- 請遵循 SAP 附註3088309中相關解決方案中的指引。
在 Sentinel 上與 SAP 系統連結時出現狀態碼 500
如果您在從 Sentinel 到 SAP Cloud Integration 的連線過程中看到狀態碼為 500 的錯誤,請聯絡正在監控 SAP Cloud Integration 上整合流「資料收集器」的 SAP 同事。 從本質上講,錯誤訊息詳細資料僅在 SAP 的 訊息處理記錄中可用。
SAP Cloud Integration 上的訊息處理時間過長或訊息量異常
如果您在 SAP Cloud Integration 上看到訊息數量和處理時間突然激增,請考慮在 NetWeaver 端篩選負責的來源。 有兩種選擇。
- 使用交易代碼 SM19 和 SAP 的最佳做法,將篩選設定套用至導致異常峰值的使用者和訊息類別
- 使用 SAP Cloud Integration 上 Sentinel 套件的 篩選功能 ,在記錄讀取上套用篩選。 參數 max-rows 會預先填入,以保護整合流程免受訊息泛洪的影響,這是預先的設計考量。
請注意,NetWeaver 上的記錄篩選器會影響寫入來源稽核記錄的內容,而 SAP Cloud Integration 上的篩選器只會選擇不讀取有問題的項目。
只有在數據連接器代理程式 透過命令列部署時,選取的疑難解答程序才會相關。 如果您使用建議的程式 從入口網站部署代理程式,請使用入口網站進行任何設定變更。
實用的 Docker 命令
在對「適用於 SAP 的 Microsoft Sentinel」資料連接器進行疑難排解時,您可能會發現以下命令很有用:
| 函式 | Command |
|---|---|
| 停止 Docker 容器 | docker stop sapcon-[SID] |
| 啟動 Docker 容器 | docker start sapcon-[SID] |
| 檢視 Docker 系統記錄 | docker logs -f sapcon-[SID] |
| 輸入 Docker 容器 | docker exec -it sapcon-[SID] bash |
如需詳細資訊,請參閱 Docker CLI 檔。
檢閱系統記錄檔
強烈建議您在安裝或 重設數據連接器之後檢閱系統記錄。
請執行:
docker logs -f sapcon-[SID]
啟用/停用偵錯模式列印
只有當您已從命令列部署資料連接器代理程式時,此程序才受支援。
在您的數據收集器代理程式容器虛擬機上,編輯 /opt/sapcon/[SID]/systemconfig.json 檔案。
如果先前未定義,請定義 [一般 ] 區段。 在本節中,定義
logging_debug = True以啟用偵錯模式列印,或定義logging_debug = False以停用它。例如:
[General] logging_debug = True儲存檔案。
變更會在您儲存檔案後大約兩分鐘生效。 您無須重新啟動 Docker 容器。
檢視所有容器執行記錄
Microsoft Sentinel 解決方案中的 SAP 應用程式資料連接器部署執行記錄會儲存在 VM 的 /opt/sapcon/[SID]/log/ 目錄中。 記錄檔案名稱是 OmniLog.log。 記錄檔的歷程記錄會保留,後綴為 。[number] 例如 OmniLog.log.1、 OmniLog.log.2 等等。
檢閱並更新「適用於 SAP 的 Microsoft Sentinel」代理程式連接器設定檔
只有當您已從命令列部署資料連接器代理程式時,此程序才受支援。 如果您 透過入口網站部署代理程式,請繼續透過入口網站維護和變更組態設定。
如果您透過命令列部署,請執行下列步驟:
在您的 VM 上,開啟組態檔: sapcon/[SID]/systemconfig.json
視需要更新設定,並儲存檔案。 如需詳細資訊,請參閱 Microsoft Sentinel 解決方案中 SAP 應用程式的檔案參考資料
systemconfig.json。
變更會在您儲存檔案後大約兩分鐘生效。 您無須重新啟動 Docker 容器。
重設適用於 SAP 的 Microsoft Sentinel 資料連接器
下列步驟會重設連接器,並重新擷取過去 30 分鐘內的 SAP 記錄。
停止連接器。 請執行:
docker stop sapcon-[SID]從 /opt/sapcon/[SID] 目錄中刪除metadata.db檔案。 請執行:
cd /opt/sapcon/<SID> rm metadata.db附註
metadata.db 檔案包含每個記錄檔的最後一個時間戳記,用於避免發生重複。
再次啟動連接器。 請執行:
docker start sapcon-[SID]
當您完成時,請務必 檢閱系統記錄 。
常見問題
部署「適用於 SAP 的 Microsoft Sentinel」資料連接器和安全性內容之後,您可能會遇到下列錯誤或問題:
損毀或遺失 SAP SDK 檔案
當連接器無法以 PyRfc 開機,或顯示 zip 相關的錯誤訊息時,可能會發生此錯誤。
- 重新安裝 SAP SDK。
- 確認您是正確的 Linux 64 位版本,例如 nwrfc750P_8-70002752.zip。
如果您手動安裝資料連接器,請確定您已將 SDK 檔案複製到 Docker 容器。
請執行:
docker cp nwrfc750P_8-70002752.zip /sapcon-app/inst/
大型系統上會出現 ABAP 執行階段錯誤
只有當您已從命令列部署資料連接器代理程式時,此程序才受支援。
如果大型系統上出現 ABAP 執行階段錯誤,請嘗試設定較小的區塊大小:
編輯 /opt/sapcon/[SID]/systemconfig.json 檔案,並在 [ 連接器組態 ] 區段中定義
timechunk = 5。例如:
[Connector Configuration] timechunk = 5儲存檔案。
變更會在您儲存檔案後大約兩分鐘生效。 您無須重新啟動 Docker 容器。
附註
timechunk 是以分鐘為單位定義。
空白或未擷取任何稽核記錄,且沒有特殊錯誤訊息
- 檢查 SAP 中是否已啟用稽核記錄。
- 確認 SM19 或 RSAU_CONFIG 交易。
- 視需要啟用任何事件。
- 確認訊息送達並存在於 SAP SM20 或 RSAU_READ_LOG中,而不會在連接器記錄檔上出現任何特殊錯誤。
金鑰保存庫中的工作區識別碼或金鑰不正確
如果您發現您在部署腳本中輸入了不正確的工作區標識碼或密鑰,請更新儲存在 Azure Key Vault 中的認證。
在 Azure KeyVault 中確認您的認證之後,請重新啟動容器:
docker restart sapcon-[SID]
金鑰保存庫中的 SAP ABAP 使用者認證不正確
檢查您的認證並視需要加以修正,並將正確的值套用至 Azure Key Vault 中的 ABAPUSER 和 ABAPPASS 值。
然後,重新啟動容器:
docker restart sapcon-[SID]
固定設定中的 SAP ABAP 使用者認證不正確
只有在您已 從命令列部署數據連接器代理程式時,才支援本節。
固定組態是當密碼直接儲存在 systemconfig.json 組態檔中時。
如果該處的認證不正確,請確認您的認證。
使用 base64 加密來加密使用者和密碼。 您可以使用線上加密工具來加密您的認證,例如 https://www.base64encode.org/。
缺少 ABAP ( SAP 使用者) 權限
如果您收到類似以下的錯誤訊息:遺漏後端 RFC 授權,這表示您的 SAP 授權和角色未正確套用。
確定 MSFTSEN/SENTINEL_CONNECTOR 角色已匯入為 變更要求 傳輸的一部分,並套用至連接器使用者。
使用 SAP 交易 PFCG 執行角色產生和使用者比較程序。
活頁簿或警示中遺漏資料
如果您發現Microsoft Sentinel 活頁簿或警示中遺失數據,請確定 SAP 端已啟用 Auditlog 原則,且容器記錄檔中沒有任何錯誤。
針對此步驟使用 RSAU_CONFIG_LOG 交易。
如需詳細資訊,請參閱 SAP 檔和收集 Microsoft Sentinel 中的 SAP HANA 稽核記錄。
建議您設定稽核記錄 中所有 訊息的稽核,而不只是特定記錄。 擷取成本差異通常極小,且資料對於 Microsoft Sentinel 偵測和入侵後調查與搜捕很有用。 如需詳細資訊,請參閱 設定 SAP 稽核。
SAP 稽核記錄中缺少 IP 位址或交易代碼欄位
在 SAP BASIS 7.5 SP12 和更新版本的 SAP 系統中,Microsoft Sentinel 可能會在 ABAPAuditLog_CL 和 SAPAuditLog 表格中反映額外的欄位。
如果您使用的 SAP BASIS 版本高於 7.5 SP12,且 SAP 稽核記錄中缺少 IP 位址或交易代碼欄位,請驗證您要從其中擷取資料的 SAP 系統是否包含相關的變更要求 (傳輸)。 如需詳細資訊,請參閱設定額外數據擷取的支持(建議)。
遺失 SAP 變更要求
如果您發現缺少必要的 SAP 變更要求的錯誤,請確保您已為系統匯入正確的 SAP 變更要求。 如需詳細資訊,請參閱 SAP 必要條件 和 為 Microsoft Sentinel 解決方案設定 SAP 系統。
SAP 表格資料記錄中未顯示任何資料
在 SAP BASIS 7.5 SP12 和更新版本的 SAP 系統中,Microsoft Sentinel 可能會在 ABAPTableDataLog_CL 表格中反映表格資料記錄的變更。
如果 ABAPTableDataLog_CL 表格中未顯示任何資料,請驗證您要從其中擷取資料的 SAP 系統是否包含相關的變更要求 (傳輸)。 如需詳細資訊,請參閱設定額外數據擷取的支持(建議)。
無記錄/延遲記錄
資料收集器代理程式會依賴時區資訊的準確性。 如果您看到 SAP 稽核和變更記錄中沒有任何記錄,或記錄持續落後數小時,請檢查 SAP TZCUSTHELP 報告是否有任何錯誤。 如需詳細資訊,請參閱 SAP 附注481835。
裝載資料收集器代理程式容器的虛擬機器上的時鐘可能也有問題,而且 VM 上的時鐘與 UTC 的任何偏差都會影響資料收集。 更重要的是,SAP 系統機器和資料收集器代理程式機器上的時鐘必須相符。
建議您設定稽核記錄 中所有 訊息的稽核,而不只是特定記錄。 擷取成本差異通常極小,且資料對於 Microsoft Sentinel 偵測和入侵後調查與搜捕很有用。 如需詳細資訊,請參閱 設定 SAP 稽核。
網路連線問題
如果您遇到 SAP 環境或 Microsoft Sentinel 的網路連線問題,請檢查您的網路連線,以確定資料如預期般傳送。
常見問題包括:
Docker 容器與 SAP 主機之間的防火牆可能會封鎖流量。 SAP 主機會透過下列必須開啟的 TCP 連接埠接收通訊:32xx、5xx13 和 33xx,其中 xx 是 SAP 實例號碼。
從 SAP 代理程式主機到 Microsoft Container Registry 或 Azure 的輸出通訊需要 Proxy 設定。 這通常會影響安裝,並需要您設定
HTTP_PROXY和HTTPS_PROXY環境變數。 您也可以藉由將-e旗標新增至 Dockercreate/run命令,在建立容器時將環境變數內嵌至 Docker 容器。
擷取稽核記錄失敗,並出現警告
只有在您已 從命令列部署數據連接器代理程式時,才支援本節。
如果您嘗試在沒有 必要設定 的情況下擷取稽核記錄,且程式失敗並出現警告,請確認可以使用下列其中一種方法來擷取 SAP Auditlog:
- 在舊版上使用稱為 XAL 的相容性模式
- 使用最近未修補的版本
- 無需對連線到 Microsoft Sentinel 資料連接器代理程式進行任何變更。 如需詳細資訊,請參閱 為Microsoft Sentinel 解決方案設定 SAP 系統。
雖然您的系統應該會在需要時自動切換到相容性模式,但您可能需要手動切換它。 手動切換至相容性模式:
在連接器組態區段中定義:
auditlogforcexal = True例如:
[Connector Configuration] auditlogforcexal = True儲存檔案。
變更會在您儲存檔案後大約兩分鐘生效。 您無須重新啟動 Docker 容器。
SAPCONTROL 或 JAVA 子系統無法連線
檢查 OS 使用者是否有效,而且可以在目標 SAP 系統上執行下列命令:
sapcontrol -nr <SID> -function GetSystemInstanceList
SAPCONTROL 或 JAVA 子系統失敗,並出現與時區相關的錯誤訊息
如果您的 SAPCONTROL 或 JAVA 子系統失敗,並出現時區相關的錯誤訊息,例如: 請檢查 SAP 伺服器的組態和網路存取 - 'Etc/NZST',請確定您使用的是標準時區代碼。
例如,使用 javatz = GMT+12 或 abaptz = GMT-3**。
稽核記錄資料未擷取過去的初始載入
如果在初次載入後,RSAU_READ_LOAD 或 SM200 交易中可見的 SAP 稽核記錄數據未能匯入 Microsoft Sentinel,則可能是您在 SAP 系統和 SAP 主機作業系統的設定上發生錯誤。
- 初始載入在全新安裝適用於 SAP Data Connector 的 Microsoft Sentinel 之後進行,或在刪除 metadata.db 檔案之後進行。
- 範例設定錯誤可能是當您的 SAP 系統時區在 STZAC 交易中設定為 CET,但 SAP 主機作系統時區設定為 UTC 時。
若要檢查設定錯誤,請在交易 SE38 中執行 RSDBTIME 報告。 如果您在 SAP 系統與 SAP 主機作業系統之間發現不相符的情況:
停止 Docker 容器。 跑步
docker stop sapcon-[SID]從 /opt/sapcon/[SID] 目錄中刪除metadata.db檔案。 請執行:
rm /opt/sapcon/[SID]/metadata.db更新 SAP 系統和 SAP 主機作業系統,使其具有相符的設定,例如相同的時區。 如需詳細資訊,請參閱 SAP 社群 Wiki。
再次啟動容器。 請執行:
docker start sapcon-[SID]
其他非預期的問題
如果您有本文中未列出的非預期問題,請嘗試下列步驟:
- 重設連接器並重載您的記錄
- 將連接器升級 至最新版本。
秘訣
執行任何重大的設定變更之後,也建議您重設連接器並確定已升級至最新狀態。
相關內容
深入了解「適用於 SAP 的 Microsoft Sentinel 解決方案」應用程式:
- 為 SAP 應用程式部署Microsoft Sentinel 解決方案
- 部署 SAP 應用程式Microsoft Sentinel 解決方案的必要條件
- 為 Microsoft Sentinel 解決方案設定 SAP 系統
- 從內容中樞部署解決方案內容
參考檔案:
如需詳細資訊,請參閱 Microsoft Sentinel 解決方案。