FDOAGENT日誌分析
一、 SITA-PLN報文處理
fdoagent日誌分析:
對於PLN報的處理:在有起降機場的前提下,判斷條件:日期+航班號+起飛機場+落地機場;假如沒有的話,就是日期+航班號。如果有預計起飛時間,還要判斷資料庫中計劃的預計起飛時間和報文的不能超過一定值,可配置。透過PLN報能取消計劃,增加計劃,修改計劃! PLN不會刪除計劃,新增只限本場,修改只改機號和預計起飛時間。且有改變後沒有提示!,
可在db.ini中配置航空公司的pln本場的是否可以新建計劃。
fdoagent程式收到fdptel發來的報文GRD3444
[N][FDOAGENT::HST][03-28 07:03:22]>>>Receive NetObj FDPTEL_AFTNMESSAGE FinID = 202103280713444GRD
將報文寫入資料庫表TEL_RCV
[N][FDOAGENT::HST][03-28 07:03:22]>>>SQL:insert into TEL_RCV (ID, TELCSN, TELTYPE, SUBTYPE, GRADE,SNDADDR, RCVADDR, ERROR, TEXT, INDATE, ERRORREASON, ACTIVEID, ACID, ADEP, ADES, MESSAGE, SITAINFO) values ('202103280713444GRD', '3444', 'SITA','PLN', 'QU', 'CTUXXEU', 'TYNZPCA
', 0, 'ZCZC GRD3444 280703
識別報文為SITA型別PLN報( 系統透過報文第二行的第一個大寫字母 “Q” ,識別SITA 格式 ! 透過 報文中...PLN 28APR...中 關鍵字識別為 PLN 報)
[N][FDOAGENT::HST][03-28 07:03:22]>>>[OnSITA2UpdatePlan]:: header.typestr=PLN!
使用正規表示式解析SITA報:UEA2216, etd = 1225, depad = ZBYN, arrad = ZSDY (W/Z 29MAR EU2216 B620D CAT1 (8) TYN 0425 0620DOY)
[N][FDOAGENT::HST][03-28 07:03:22]>>>RegularExpesstionID = 30, Modify regnum = B620D : acid = UEA2216, executedate = 20210329, etd = 1225, depad = ZBYN, arrad = ZSDY
在資料庫PLAN_ACTIVE表中匹配計劃:條件包含航班號,起降機場和VALID = 1,時間條件(db.ini:VALID_FPL_ETD_RANGE=21600--6小時):etd=1225,前後6小時得到時間範圍 '202103290625'<= ETD <='202103291825'
[N][FDOAGENT::HST][03-28 07:03:22]>>>PLN SQL:select * from PLAN_ACTIVE where ETD >= '202103290625' and ETD <= '202103291825' and DEPAD = 'ZBYN' and ARRAD = 'ZSDY' and CALLSIGN = 'UEA2216' and VALID = 1
select未找到計劃PLAN_ACTIVE表中新增一條:insert,問題MID [20210329 1225UEA2216ZBYNZSDY]應該使用世界時,即 [20210329 0425UEA2216ZBYNZSDY]
[N][FDOAGENT::HST][03-28 07:03:22]>>>[UpdatePlan]: planmid=[202103291225UEA2216ZBYNZSDY], strSQL = [insert into PLAN_ACTIVE (ID, EXECUTEDATE, CALLSIGN, DEPAD, ETD, ARRAD, REGNUM, CPLSRC) values ('202103291225UEA2216ZBYNZSDY', '2021-03-29', 'UEA2216', 'ZBYN', '202103291225', 'ZSDY','B620D','PLN')]!
[N][FDOAGENT::HST][03-28 07:03:22]>>>SQL:insert into PLAN_ACTIVE (ID, EXECUTEDATE, CALLSIGN, DEPAD, ETD, ARRAD, REGNUM, CPLSRC) values ('202103291225UEA2216ZBYNZSDY', '2021-03-29', 'UEA2216', 'ZBYN', '202103291225', 'ZSDY','B620D','PLN')
同步到FDO
[N][FDOAGENT::HST][03-28 07:03:22]>>>SndFDOudp:$#NOTICE$#FAG$#PLAN_ACTIVE$#I$#202103291225UEA2216ZBYNZSDY$#
二、 FPL報文處理 ( fdp程式收到提前12小時以上發的 fpl報)預起時間和RPL中的一樣, PLAN_ACTIVE只有一條記錄。
FDO上來源是RPL的計劃關聯到FPL報,SDD上該計劃來源是FPL(兩者這裡資訊不一致,原因——>),說明FDP程式 建立(>12小時)新動態(SDD上顯示來源是FPL的動態),通知FDOAGENT後,因為MID一樣,fdoagent 查詢 關聯修改資料庫中MID一樣的來源是RPL的計劃。
fdp程式日誌,顯示建立計劃[202103301910CPA278LFPGVHHH],:
Info>: 20210330065429 [FPL]: Receive a FPL Tele For Plan:[CPA278]-[LFPG]-[VHHH]
<Info>: 20210330065429 [FPL] Create a Plan:[CPA278] ——>SDD可見,但是寫入資料庫MID應該衝突,所以是update。
<Info>: 20210330065429 the ACKAFTNGROUP mid is [202103301910CPA278LFPGVHHH],finid is [202103300600002ATC]
fdoagent程式日誌:
[N][FDOAGENT::HST][03-30 06:54:29]>>>[UpdatePlanState]::strmsg = ZCZC ATC0002 300654
FF ZBYNZZZZ ZBYNZBZC
300654 ZBYNZPZX
(FPL-CPA278-IS
-A333/J-SW/N
-LFPG1910
-K0800S1020 NIXAL B208 SQ W45 MI
-VHHH0205 ZBYN
-0)
NNNN, vecBody.size()=1.
[N][FDOAGENT::HST][03-30 06:54:29]>>>[UpdatePlanState]::strbody = (FPL-CPA278-IS -A333/J-SW/N -LFPG1910 -K0800S1020 NIXAL B208 SQ W45 MI -VHHH0205 ZBYN -0)
[N][FDOAGENT::HST][03-30 06:54:29]>>>[UpdatePlanState]::vecStr[0] = (FPL
查詢計劃轉換為北京時1910+0800=次日03:10: 前後6小時 ( db.ini:VALID_FPL_ETD_RANGE=21600--6小時)得到時間範圍 STD >= '202103302110' and STD <= '202103310910',select看看資料庫中有沒有對應記錄
[N][FDOAGENT::HST][03-30 06:54:29]>>>[UpdatePlanState()] strSQLcmdSelect is :[ select * from PLAN_ACTIVE where STD >= '202103302110' and STD <= '202103310910' and DEPAD = 'LFPG' and ARRAD = 'VHHH' and CALLSIGN = 'CPA278' and VALID = 1].
找見一條 vecResult.size=[1],MID=[202103301910CPA278LFPGVHHH],來源是RPL。
[N][FDOAGENT::HST][03-30 06:54:29]>>>vecResult.size=[1], MID=[202103301910CPA278LFPGVHHH]
修改找到計劃的狀態
FISTATE < 1 ——> FISTATE = 1
[N][FDOAGENT::HST][03-30 06:54:29]>>>SQL:update PLAN_ACTIVE set FISTATE = 1, MODIFIER = 'FAG' where ID = '202103301910CPA278LFPGVHHH' and VALID = 1 and FISTATE < 1
同步UDP通知FDO
[N][FDOAGENT::HST][03-30 06:54:29]>>>SndFDOudp:$#NOTICE$#FAG$#PLAN_ACTIVE$#U$#202103301910CPA278LFPGVHHH$#
將報文寫入資料庫表TEL_SND
[N][FDOAGENT::HST][03-30 06:54:29]>>>SQL:insert into TEL_SND (ID, TELCSN, TELTYPE, SUBTYPE,GRADE, SNDADDR, RCVADDR, TEXT, INDATE, ACTIVEID, ACID, ADEP, ADES) values ('202103300600002ATC', '0002', 'AFTN', 'FPL', 'FF', 'ZBYNZPZX', 'ZBYNZZZZ ZBYNZBZC
', 'ZCZC ATC0002 300654
FF ZBYNZZZZ ZBYNZBZC
300654 ZBYNZPZX
(FPL-CPA278-IS
-A333/J-SW/N
-LFPG1910
-K0800S1020 NIXAL B208 SQ W45 MI
-VHHH0205 ZBYN
-0)
NNNN', sysdate, '202103301910CPA278LFPGVHHH', 'CPA278', 'LFPG', 'VHHH')
記錄主機168.192.11.24使用者ZD傳送FPL報
[N][FDOAGENT::HST][03-30 06:54:27]>>>SndFDOudp:$#RESPOND$#FAG$#FDO$#MESS_CHECK$#168.192.11.24$#MNO=6&RESULT=OK$#
[N][FDOAGENT::HST][03-30 06:54:29]>>>UDP:$#REQUEST$#FDO$#FAG$#MESS_SEND$#168.192.11.24$#TELCSN=0000&SNDUSER=ZD&TEXT=ZCZC AAA0000 300654
按唯一索引MID, where ID = '202103301910CPA278LFPGVHHH' update 修改計劃
[N][FDOAGENT::HST][03-30 06:54:29]>>>[Bupdate]: p->m_strMID=[202103301910CPA278LFPGVHHH], strsql=[STA = '202103310515', ATN = '202103310338', ATX = '202103310410', FDPSTATE = '1', CPLTYPE = 10, FLYRULE = 'I', ACFTNUM = '1', ACTYPE = 'A333', ACFTCLASS = '0', TURBO = 'J', WIRELESSEP = 'SW', SURVEILEP = 'N', ALTN1 = 'ZBYN', EET = '0205', TAS = 'K0800', RFL = 'S1020', ROUTE = 'NIXAL B208 SQ W45 MI', BPN = 'TODAM', BPX = '354733N1130849E', ISCOUPLED = '0', RVSM = '0', OTHERSTATUS = '1', PRL = 'S0000', CFL = 'S0000', XFL = 'S0000', DECODEROUTE = 'ATPOK TODAM P461 EKETA TYN EXORI ANPIG EGEBI SQ',]!
[N][FDOAGENT::HST][03-30 06:54:29]>>>[WritePlan2DB]: planmid=[202103301910CPA278LFPGVHHH], strSQL = [ update PLAN_ACTIVE set STA = '202103310515', ...... where ID = '202103291910CPA278LFPGVHHH' ]!
[N][FDOAGENT::HST][03-30 06:54:29]>>>SQL:update PLAN_ACTIVE set......
三、FPL報文處理( fdp程式收到提前12小時以上發的 fpl報)預起時間和RPL的 不一樣(差了1分鐘 1910--> 1911)
PLAN_ACTIVE有MID不同的2條記錄(來源分別是RPL- 管制狀態FUTR/FPL-管制狀態NACT),SDD和FDO一樣。
fdp程式日誌,顯示建立計劃[202103301911CPA256EGLLVHHH]: 來源FPL
<Info>: 20210330065116 [FPL]: Receive a FPL Tele For Plan:[CPA256]-[EGLL]-[VHHH]
<Info>: 20210330065116 [FPL] Create a Plan:[CPA256]
<Info>: 20210330065116 the ACKAFTNGROUP mid is [202103301911CPA256EGLLVHHH],finid is [202103300600001ATC]
fdp程式收到: fdoagent提前12小時該航班的RPL計劃發給fdp程式轉為動態
<Warn>: 20210330071004 主機編號為[14]的席位增加計劃: [CPA256].——> 伺服器的主機號從11開始,14是FDP2
<Warn>: 20210330071004FDO&FDD Failure to Add a Plan:[CPA256],Same Plan Already Exist(這個是 最佳化fdoagent轉動態時發兩遍在FDP引起的提示)
fdoagent程式日誌:
新建 insert 一條計劃: 202103301911CPA256EGLLVHHH
[N][FDOAGENT::HST][03-30 06:51:16]>>>Deal with:MID=202103301911CPA256EGLLVHHH, ACID=CPA256, CPLDATE=20210330, DOF=210330, HandCommSec=, CommSec=!!
[N][FDOAGENT::HST][03-30 06:51:16]>>>[WritePlan2DB]: planmid=[202103301911CPA256EGLLVHHH], strSQL = [insert into PLAN_ACTIVE (ID, EXECUTEDATE, FDPSTATE, CPLSRC, CPLTYPE, CALLSIGN, SSR, FLYRULE, FLYCLASS, ACTYPE, ACFTNUM, ACFTCLASS, TURBO, REGNUM, SEL, WIRELESSEP, SURVEILEP, SUP, OTHER, OPDATA, GLOBALINFO, DEPAD, ETD, STD, ATD, BPN, ATN, EET, ARRAD, ALTN1, ALTN2, ETA, STA, ATA, ROUTE, RFL, TAS, BPX, ATX, GATE, ARWY, DRWY, SID, STAR, ISCOUPLED, VIP, RVSM, OTHERSTATUS, PRL, CFL, XFL, DECODEROUTE, AIDCSTATUS, CTRLSEC, ISFOREIGN, CURSEC, ACPSEC, NEXTSEC, PBN, MODIFIER) values ('202103301911CPA256EGLLVHHH', '2021-03-31', '1', 'FPL', 10, 'CPA256', '', 'I', 'S', 'A333', 1, 0, 'J', '', '', 'SW', 'N', '', '', '', '', 'EGLL', '202103310311', '202103310311', '', 'TODAM', '202103310339', '0205', 'VHHH', 'ZBYN', '', '202103310516', '202103310516', '', 'NIXAL B208 SQ W45 ML', 'S1020', 'K0800', 'UBDUN', '202103310413', '', '', '', '', '', 0, '', 0, 65, 'S0000', 'S0000', 'S0000', 'ATPOK TODAM P461 EKETA TYN EXORI ANPIG EGEBI SQ URBIL UBDUN NUNGA', '', '', '0', '', '', '', '', 'FAG')]!
06:51:17]>>>SndFDOudp:$#NOTICE$#FAG$#PLAN_ACTIVE$#I$#202103301911CPA256EGLLVHHH$#
[N][FDOAGENT::HST][03-30 06:51:17]>>>[UpdatePlanState]::strbody = (FPL-CPA256-IS -A333/J-SW/N -EGLL1911 -K0800S1020 NIXAL B208 SQ W45 ML -VHHH0205 ZBYN -0)
[N][FDOAGENT::HST][03-30 06:51:17]>>>[UpdatePlanState]::vecStr[0] = (FPL
查詢資料庫中符合條件的計劃 vecResult.size=[2],有兩條包含 20210330 1910CPA256EGLLVHHH?但是時間更接近的是 [20210330 1911 CPA256EGLLVHHH]
[N][FDOAGENT::HST][03-30 06:51:17]>>>[UpdatePlanState()] strSQLcmd Select is :[select * from PLAN_ACTIVE where STD >= '202103302111' and STD <= '202103310911' and DEPAD = 'EGLL' and ARRAD = 'VHHH' and CALLSIGN = 'CPA256' and VALID = 1].
[N][FDOAGENT::HST][03-30 06:51:17]>>>vecResult. size=[2], MID=[20210330 1911CPA256EGLLVHHH]
fdoagent提前12小時該航班的RPL計劃 [202103301910CPA256EGLLVHHH]發給fdp程式轉為動態(管制狀態:FUTR);此時在SDD計劃列表有來源分別是RPL/FPL的2條動態。
[N][FDOAGENT::HST][03-30 07:10:04]>>>Deal with:MID= 202103301910CPA256EGLLVHHH, ACID=CPA256, CPLDATE=20210330, DOF=210330, HandCommSec=, CommSec=!!
[N][FDOAGENT::HST][03-30 07:10:04]>>>202103301910CPA256EGLLVHHH Add successful!!
[N][FDOAGENT::HST][03-30 07:10:04]>>>[Bupdate]: p->m_strMID=[202103301910CPA256EGLLVHHH], strsql=[FDPSTATE = '0', CPLTYPE = 10, FLYRULE = ' ', ACFTNUM = '0', ACFTCLASS = '3', EET = '1205', TAS = 'K0800', RFL = 'S0102', ISCOUPLED = '0', RVSM = '0', PRL = 'S0000', CFL = 'S0000', XFL = 'S0000',]!
[N][FDOAGENT::HST][03-30 07:10:04]>>>[WritePlan2DB]: planmid=[202103301910CPA256EGLLVHHH], strSQL = [update PLAN_ACTIVE set FDPSTATE = '0', CPLTYPE = 10, FLYRULE = ' ', ACFTNUM = '0', ACFTCLASS = '3', EET = '1205', TAS = 'K0800', RFL = 'S0102', ISCOUPLED = '0', RVSM = '0', PRL = 'S0000', CFL = 'S0000', XFL = 'S0000', MODIFIER = 'FAG' where ID = '202103301910CPA256EGLLVHHH' ]!
[N][FDOAGENT::HST][03-30 07:10:04]>>>SQL:update PLAN_ACTIVE set FDPSTATE = '0', CPLTYPE = 10, FLYRULE = ' ', ACFTNUM = '0', ACFTCLASS = '3', EET = '1205', TAS = 'K0800', RFL = 'S0102', ISCOUPLED = '0', RVSM = '0', PRL = 'S0000', CFL = 'S0000', XFL = 'S0000', MODIFIER = 'FAG' where ID = '202103301910CPA256EGLLVHHH'
[N][FDOAGENT::HST][03-30 07:10:04]>>>SndFDOudp:$#NOTICE$#FAG$#PLAN_ACTIVE$#U$#202103301910CPA256EGLLVHHH$#
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7970627/viewspace-2765585/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 日誌分析-apache日誌分析Apache
- [日誌分析篇]-利用ELK分析jumpserver日誌-日誌拆分篇Server
- 玄機-第二章日誌分析-apache日誌分析Apache
- Apche日誌系列(4):日誌分析(轉)
- crash日誌分析
- awk分析日誌
- pg日誌分析
- Docker 容器日誌分析Docker
- JAVA GC日誌分析JavaGC
- perl分析apache日誌Apache
- 日誌收集分析-heka
- awstats分析web日誌Web
- mysqldumpslow日誌分析MySql
- LOGMINER日誌分析
- 日誌採集/分析
- 日誌分析一例
- mongodb 日誌分析工具mtoolsMongoDB
- IOS 崩潰日誌分析iOS
- 日誌分析如何演變
- CDN日誌實時分析
- ELK日誌分析系統
- net 日誌分析錯誤
- 日誌分析常規操作
- MongoDB 日誌分析工具 mtoolsMongoDB
- 日誌分析工具 Log Parser
- logminer 日誌分析案例
- elk 日誌分析系統
- ELK 日誌分析體系
- dml操作重做日誌分析
- 【ELK】日誌分析系統
- 分析一段日誌
- MySQL 死鎖日誌分析MySql
- nginx日誌分析工具goaccessNginxGo
- 【REDO】Oracle 日誌挖掘,分析歸檔日誌線上日誌主要步驟Oracle
- oracle日誌分析從列表中移去一個日誌檔案Oracle
- Android ANR日誌分析指南Android
- 日誌分析(1)常見命令
- ELK-日誌分析系統