#21c71
Back
2025/12/01
1 min read

OBP 操作流程與維運手動執行方式

OBP 操作流程與維運手動執行方式.md
71 additions, 5 deletions
... ... @@ -1,12 +1,78 @@
1 -# 日常維運檢查項目
2 -table schema:
3 -MFT_MASTER_LOG - mft主檔 : 紀錄整體告警狀態與執行狀態
4 - MFT__LOG - mft子檔 : 記錄各檔案送出obp狀態
1 + # 流程說明:
2 +😀 Step1. 從sgs產生每天要送的報表json檔後, 上傳到mft server上
5 - 1. 檢查以下sql : MFT_MASTER_LOG這status = success or retry_success就是整批成功囉
3 + 主要為以下SGS上五api 從每天am1:00-1:40開始產生檔案
4 +1. generateBonusItemInfoByPageManual 產生T_BAS_BONUS_ITEM_INFO json並上傳
5 +2. generateBasExchangeVoucherByPageManual 產生T_BAS_EXCHANGE_VOUCHER json並上傳
6 +3. generateBasExchangePointByPageManual 產生T_BAS_EXCHANGE_POINT json並上傳
7 +4. generateBasExchangeMasterByPageManual 產生T_BAS_EXCHANGE_MASTER json並上傳
8 +5. generateBasBrandInfoByPageManual 產生T_BAS_BRAND_INFO json並上傳
9 +_且產生完成後會 insert MFT_SGS_LOG 作為哪些檔案的依據_
10 +😀 Step2. 從mft server透過windows工作排程上傳檔案到神坊obp server上
11 +會產生檔案到\\88.8.232.164\ebtlxmyr01_app\DATA\OBP\上
12 +且log會寫入到OBP\jar\logs\下
13 +
14 +> 最有可能發生的問題:
15 +`issue1`: connection refuse, 導致整個檔案沒做
16 +com.jcraft.jsch.JSchException: connection is closed by foreign host
17 +`issue2:` 整台mft server的工作排程沒跑(LOG打開是空的)
18 +
19 +😀 Step3. 從sgs之 ObpLogRawFileParser 下載該mft 上的log檔案後, 進行log parse來判斷該天檔案是否正常上傳正確
20 +
21 +```coffeescript
22 +MFT上面的obp.log會下載到:80 server上的 /MMO/logs/obp/, 且該LOG 可以在KIBANA 上看到喔
23 +```
24 +
25 +流程解釋:
26 +1. 先下載mft 上的obp.log
27 +2. MFT_SGS_LOG 作為第一步產生哪些檔案的依據, 可用以下sql查詢當日產生的檔案有哪些
28 +
29 +select * from MFT_SGS_LOG where JOBTYPE = :jobType and CREATE_TIME >= :startDate AND CREATE_TIME < :endDate order by CREATE_TIME desc
30 +```
31 +
32 +3. 之後以 MFT_SGS_LOG 查詢到的結果 與obp.log parser作為比較
33 +看有沒有缺少的檔案作為紀錄
34 +結論:
35 +1. 全產檔成功:mft_master_log.status = success 且 mft_log.status=success 且每種檔案都有產生
36 +2. 若該天obp.log沒有內容, 則 mft_master_log.status = failed 且 errormsg=WINDOWS JOB IS NOT WORKING!, mft_log.status=success 且每種檔案都有產生 且status = failed
37 +3. 若該天sgs沒有執行, 則 mft_master_log.status = failed 且 mft_log 為空
38 +
39 +附註:
40 +**1. GET**[/sgs/obp/getMftFileStatus](http://88.249.29.34:10051/swagger-ui/index.html#/obp-controller/getMftFileStatus) 查看mft table狀態 : 這個可以打了查看table
41 +2. **GET**[/sgs/obp/downloadOBPLogFromMft](http://88.249.29.34:10051/swagger-ui/index.html#/obp-controller/downloadOBPLogFromMft) 重新下載mft上的obp.log: 這個可以重新下載obp.log
42 +
43 +😀 Step4. **GET**[/sgs/obp/retry](http://88.249.29.34:10051/swagger-ui/index.html#/obp-controller/retryOBPfile) 重新產生&上傳失敗的OBP報表, 若sgs第一次都沒有跑檔成功, 可以使用此api重新產生所有檔案, 若遇到該天所有檔案都沒有執行的話, 就會全部重新產出喔
44 +
45 +😀 Step5. 從mft server透過windows工作排程上傳檔案到神坊obp server上
46 +會產生檔案到\\88.8.232.164\ebtlxmyr01_app\DATA\OBP\retry上
47 +且log會寫入到OBP\jar\logs\下
48 +
49 +😀 Step6. 從sgs之 ObpLogRetryFileParser 下載該mft 上的log檔案後, 進行log parse來判斷該天retry檔案是否正常上傳正確
50 +
51 +流程解釋:
52 +1. 先下載mft 上的obp.log
53 +2. 查詢MFT_SGS_LOG 可用以下sql查詢當日產生的檔案有哪些作為依據
54 +
55 +```sql
56 +select * from MFT_SGS_LOG where JOBTYPE = :jobType and CREATE_TIME >= :startDate AND CREATE_TIME < :endDate order by CREATE_TIME desc
57 +```
58 +
59 +3. 之後以MFT_SGS_LOG查詢到的結果與obp.log parser作為比較. 來更新之前的狀態與寄送告警
60 +
61 +```sql
62 +
63 +
64 +
65 +
66 +[object Object]
67 +table schema:
68 +MFT_MASTER_LOG - mft主檔 : 紀錄整體告警狀態與執行狀態
69 +MFT__LOG - mft子檔 : 記錄各檔案送出obp狀態
70 +
71 +檢查以下sql : MFT_MASTER_LOG這個status = success or retry_success就是整批成功囉