於有串接AD/LDAP的環境遇到Navigate及各Client登入失敗時的查修方式
先判斷OSM中是否有服務異常,亦可透過以下方式直接以瀏覽器判斷個服務員艦是否異常
AP Service Gateway https://FQDN/sg/monitor/test/ 看到傳回下列格式,代表服務正常/失敗: OK/Fail Auth Broker https://FQDN/aaabroker/ADLogInTool.jsp 看到服務主頁出現,代表服務正常
如服務皆正常,可以透過以往公開方想連結看是否下載
透過https://
{FQDN}
/aaabroker/ADLogInTool.jsp 進行帳號密碼登入即可取得AD/LDAP驗證結果除第3步,亦可透過AP server中/var/log/omnistor/service-log/authentication-broker/access/authenticationbroker.
{當天時間,如2022-01-24-10 }
.log中當刻的log看出AD/LDAP驗證狀態,如下2022/01/24 11:21:05.170,f37c74c2-ecde-493c-aa72-40726937b0fd|owen|/aaabroker/member/privatecloudaaa/|2|Error Code:2 message:javax.naming.AuthenticationException: [LDAP: error code 49 - 80090308: LdapErr: DSID-0C0903C8, comment: AcceptSecurityContext error, data 52e, v2580^@] at com.sun.jndi.ldap.LdapCtx.mapErrorCode(LdapCtx.java:3261) at com.sun.jndi.ldap.LdapCtx.processReturnCode(LdapCtx.java:3207)|127.0.0.1|127.0.0.1:80|||||||||||
以上範例說明使用者owen於登入過程中遇到ststus為2(正常為0),登入過程中AD/LDAP回應[LDAP: error code 49 - 80090308: LdapErr: DSID-0C0903C8, comment: AcceptSecurityContext error, data 52e, v2580^@] ,經標準LDAP status code對應,確定問題為帳號密碼送至AD/LDAP驗證時遇到LDAP_INVALID_CREDENTIALS
如AD/LDAP正常或是aaabroker中無對應的log,則回推 AP Server中/var/log/omnistor/service-log/service-gateway/access/serviceservicegateway.
{當天時間,如2022-01-24-10 }
.log中當刻的log,並與原廠詢問log資訊,如下2022/01/24 11:21:05|815be0b3-cda8-4fec-bcd2-5c3e0d599a35|owen|/sg/member/requesttoken/|2|Error Code:2 message:com.ecareme.http.api.APIException: Error Code:2 message:auth failed from AD|192.168.100.114|127.0.0.1:443||||10014||||||||
以上log的判讀可參考”系統為運管理手冊”中”日誌格式與說明”,如下
日誌主要分為兩大類:
Service Log,紀錄Omnistor各個API或排程執行所產生的紀錄。Service Log進一步區分:Access Log,System Log兩小類。
Tomcat Log,紀錄Tomcat服務啟動後,系統運作的相關紀錄。
Service Log/Access Log用途:
● 當API被呼叫時,會留下一筆資料
● 可匯入統計軟體進行分析,各API均輸出到同一個檔案,有一定格式
● 檔案路徑:/var/log/omnistor/service-log/[元件名稱]/access
Access Log的內容有固定格式,可匯入統計軟體進行分析,且各API均輸出到同一個檔案。格式判讀方式,可參考底下範例:
2019/11/0911:04:00|9dc7202a-00f2-464b-ad1a-1987b256d39d||/amos/file/RTovV2ViUmVsYXlfVG1wLzIwMTYxMTA5L3ByaXZldFdSXzE4LzQ4OC9kOTFjNDU5NzBlM2M0NWE1ODY3ZTJiYTY3YzNhNzJiNS12d2Zmamg/upload|0||192.168.1.168|192.168.1.168:80||||||||||||
欄位定義:
DateTime | LogKey | ID | API | ErrorCode | message | Client IP | ServerIP|ClientType|ClientVersion|X_Ver|SID|Manufacturer|ProductName|OS|SKUNumber|LastCommandLength|LastCommandResponseTime||
欄位說明:
名稱 | 說明 |
DateTime | Log記錄的日期時間 |
LogKey | UUID,Log記錄的unique key,跨log檔關聯查詢用的Key |
ID | 使用者ID (User ID) |
API | 執行的API名稱 |
ErrorCode | 執行後回傳給客戶端的Status Code,例:0表示正常執行 |
Message | 相關訊息。通常用於發生Exception時記錄錯誤訊息 |
Client IP | 呼叫此API之用戶端IP位址 |
Server IP | 執行API的伺服器端主機本身IP位址 |
Client Type | 因客戶端程式而異,後期版本改以SID判斷用戶端,此欄可能為空 0:Windows 1:Linux |
Client Version | 用戶端版號資訊,此欄可能為空值。 |
X_Ver | 若ClientVersion為模擬的版號,則此欄為真實版號。用戶端版號資訊,此欄可能為空值。 |
SID | 用戶端的ServiceID,此欄位為產品內部使用,此欄可能為空值。 |
Manufacturer | 製造廠商代碼,此欄可能為空值。 |
Product Name | 用戶端產品機型名稱,此欄可能為空值。 |
OS | 用戶端所使用的作業系統,此欄可能為空值。 |
SKUNumber | Cookie Key,此欄可能為空值。 |
LastCommandLEngth | HTTP 送出+收到的指令資料長度,此欄位可能為空值。 |
LastCommandResponseTime | HTTP指令送出到結束所花費的時間,此欄位可能為空值。 |