於有串接AD/LDAP的環境遇到Navigate及各Client登入失敗時的查修方式

  1. 先判斷OSM中是否有服務異常,亦可透過以下方式直接以瀏覽器判斷個服務員艦是否異常

    AP Service Gateway https://FQDN/sg/monitor/test/ 看到傳回下列格式,代表服務正常/失敗: OK/Fail Auth Broker https://FQDN/aaabroker/ADLogInTool.jsp 看到服務主頁出現,代表服務正常
  2. 如服務皆正常,可以透過以往公開方想連結看是否下載

  3. 透過https://{FQDN}/aaabroker/ADLogInTool.jsp 進行帳號密碼登入即可取得AD/LDAP驗證結果

  4. 除第3步,亦可透過AP server中/var/log/omnistor/service-log/authentication-broker/access/authenticationbroker.{當天時間,如2022-01-24-10 }.log中當刻的log看出AD/LDAP驗證狀態,如下

    1.  

      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|||||||||||
    1. 以上範例說明使用者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

  5. 如AD/LDAP正常或是aaabroker中無對應的log,則回推 AP Server中/var/log/omnistor/service-log/service-gateway/access/serviceservicegateway.{當天時間,如2022-01-24-10 }.log中當刻的log,並與原廠詢問log資訊,如下

    1.  

      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||||||||
  6. 以上log的判讀可參考”系統為運管理手冊”中”日誌格式與說明”,如下

    1. 日誌主要分為兩大類:

      1. Service Log,紀錄Omnistor各個API或排程執行所產生的紀錄。Service Log進一步區分:Access Log,System Log兩小類。

      1. 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指令送出到結束所花費的時間,此欄位可能為空值。