Fisiere de log
Fisierele de log ale serverului sunt grupate in directoare care au ca nume data in care acele logri au fost generate. Directoarele au numele in formatul AAAA-LL-ZZ (an-luna-zi)
Periodic serverul verifica daca exista directoare de loguri din date mai vechi si le arhiveaza automat in fisiere .zip
Fisiere de debug pentru transmisiile de date
Formatul de denumire al acestor fisiere este <id_conexiune>.byte (ex. 1477317448889.byte).
Aceste fisiere se genereaza doar daca serverul porneste in modul DEBUG. Rolul acestora este urmarirea setului de octeti citit de pe socket de la aplicatia client.
La intalnirea secventelor de start, sfarsit sau ping se marcheaza in fisierul de log secventele * START *, * END *, * PING *. Fiecare intrare din acest fisier este precedata de un timestamp in format AAAA-LL-ZZ OO:MM:SS.ms (an-luna-zi ora:minut:secunda.milisecunda)
Exemplu:
2016-10-27 11:32:07.336 ef 81 86 e2 86 a6 ef 81 86 31 34 37 37 35 35 37 31 32 37 33 32 37 ef 81 84 e2 86 a2 ef 81 84 2016-10-27 11:32:07.336 * START * 2016-10-27 11:32:07.336 * PING * 2016-10-27 11:37:45.973 ef 81 86 e2 86 a6 ef 81 86 00 00 00 8a 00 00 00 0c f3 1f 69 fe 1a 7c a5 eb d3 bf 8b e6 2d ae ... 2016-10-27 11:37:45.973 * START * 2016-10-27 11:37:45.973 * END *
Fisier de log al activitatii CPU
Acest fisier are denumirea cpulog.csv iar datele sunt separate prin intermediul caracterului TAB.
Datele sunt structurate pe 5 coloane, dupa cum urmeaza:
- timestamp – in format an-luna-zi ora:minut:secunda.milisecunda
- utilizare CPU – total per sistem
- utilizare CPU – pentru masina virtuala java
- memorie (RAM) libera
- descriptori de fisiere utilizati – doar pe sisteme de operare de tip Linux/Unix
Exemplu:
2016-10-27 00:00:01.568 1.25 1.25 325 344 2016-10-27 00:00:02.569 1.5 15.54 324 345 2016-10-27 00:00:03.57 1.25 1.5 325 346 2016-10-27 00:00:04.57 1.52 0.76 325 346 2016-10-27 00:00:05.571 1.5 1.5 325 346 2016-10-27 00:00:06.572 1.5 1.75 325 353 2016-10-27 00:00:07.573 1.76 1.26 325 353 2016-10-27 00:00:08.573 1.51 1.26 325 353
Fisiere de log pentru bazele de date
dbTracker.txt
Acest fisier are rolul de a loga toate interogarile care depasesc un anumit timp de rulare.
Informatiile din acet fisier respecta formatul: <timestamp> <domeniu> <durata_interogare> <id_interogare> <interogare>. Scopul acestui fisier e de a scoate in evidenta interogari lente/neperformante.
Exemplu:
2016-10-27 10:45:27.716 dom01 21s 222ms 5533200904891345 select * from table_1;
Fisiere de log pentru interogarile din bazele de date
Aceste fisiere au urmatorul format pentru nume: Engine.<domeniu>.sql.txt
Informatiile din acet fisier respecta formatul: <timestamp> {<id_interogare>} <durata_interogare> <numar_resultseturi>[<numar_randuri>x<numar_coloane]… <interogare>
2016-10-27 01:08:22.625 {5498597466064610} 031ms 703us 3[1x2][1x2][1x2] call usr_Authentification('utilizator01','b3abe652c6db2f331d44a75238aa83a1','OTXONRGGCVCHFTGN','') 2016-10-27 01:08:22.754 {5498597459524990} 737us 1[1x1] SELECT usr_getIdForUser('utilizator01'); 2016-10-27 01:08:22.782 {5498597459524990} 002ms 827us 1[0x1] CALL marc_view_aux_fs_values('usr', 133, '411t', 0, 0,''); 2016-10-27 08:26:55.505 {5524890811059225} 014ms 807us [ERROR] call marc_RecordSubfield_Set('133','mon','663138','0','a','2015-01-15 15:29:01',0,0,'')
Log in format apache
Este un fisier in format apache log pentru analiza frecventei si dimensiunilor mesajelor care circula intre server si aplicatia-client. Numele fisierului este Engine.apache.txt
Exemplu:
192.168.10.43 1477294731540 bibliotecar [24/Oct/2016:10:38:56 +0300] "GET /pubsc/mc" 200 106 "getPanel" "WTFX v1.108.0 b2027" 192.168.10.43 1477294731540 bibliotecar [24/Oct/2016:10:38:56 +0300] "GET /pubsc/List/SelectMarc/Tree" 200 11930 "marcprefix" "WTFX v1.108.0 b2027" 192.168.10.43 1477294731540 bibliotecar [24/Oct/2016:10:38:56 +0300] "GET /pubsc/mc" 200 106 "marcprefix" "WTFX v1.108.0 b2027" 192.168.10.43 1477294731540 bibliotecar [24/Oct/2016:10:38:56 +0300] "GET /pubsc/List/SelectList/ContineGen" 200 1082 "TableManagementCommand" "WTFX v1.108.0 b2027" 192.168.10.43 1477294731540 bibliotecar [24/Oct/2016:10:38:56 +0300] "GET /pubsc/TableManagementCommand" 200 408 "/" "FlexClient v2.2.5" 192.168.10.43 1477294731540 bibliotecar [24/Oct/2016:10:38:56 +0300] "GET /pubsc/mc" 200 106 "TableManagementCommand" "WTFX v1.108.0 b2027" 192.168.10.43 1477294731540 bibliotecar [24/Oct/2016:10:38:57 +0300] "GET /pubsc/getPanel" 200 136 "/" "FlexClient v2.2.5" 192.168.10.43 1477294731540 bibliotecar [24/Oct/2016:10:38:57 +0300] "GET /pubsc/getPanel" 200 5306 "getPanel" "WTFX v1.108.0 b2027" 192.168.10.43 1477294731540 bibliotecar [24/Oct/2016:10:38:57 +0300] "GET /pubsc/mc" 200 106 "getPanel" "WTFX v1.108.0 b2027" 192.168.10.43 1477294731540 bibliotecar [24/Oct/2016:10:38:57 +0300] "GET /pubsc/MultiLevelDetailNoRlb" 200 392 "/" "FlexClient v2.2.5" 192.168.10.43 1477294731540 bibliotecar [24/Oct/2016:10:38:57 +0300] "GET /pubsc/SetMLForm" 200 138 "MultiLevelDetailNoRlb" "WTFX v1.108.0 b2027" 192.168.10.43 1477294731540 bibliotecar [24/Oct/2016:10:38:57 +0300] "GET /pubsc/run" 200 234 "MultiLevelDetailNoRlb" "WTFX v1.108.0 b2027" 192.168.10.43 1477294731540 bibliotecar [24/Oct/2016:10:38:57 +0300] "GET /pubsc/mc" 200 106 "MultiLevelDetailNoRlb" "WTFX v1.108.0 b2027"
Log deconectari
Logul contine informatii despre deconectarile aplicatiilor client si are formatul: <timestamp> <utilizator>:<id_utilizator>@<domeniu> <timp_online>
Numele fisierului este: Engine.disconnect
Exemplu:
2016-10-27 09:03:55.799 general:177@pubsc 0:06:58.944 2016-10-27 09:15:55.989 bibliotecar:133@pubsc 0:11:41.021 2016-10-27 09:20:25.994 bibliotecar:133@pubsc 0:04:06.438
Log erori
Fisierul Engine.error.txt contine diverse erori si exceptii care au aparut in timpul functionarii serverului
Exemplu:
2016-10-27 16:39:47.934 XMLRead.XMLReadFromString(String) org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 2113; An invalid XML character (Unicode: 0x1) was found in the element content of the document. org.apache.xerces.parsers.DOMParser.parse(Unknown Source) org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown Source) scream.xml.XMLRead.XMLReadFromString(XMLRead.java:117) scream.xml.XMLRead.<init>(XMLRead.java:44) level.Level10.aMsg(Level10.java:245) level.Level10.analizeMsg(Level10.java:166) nts.EngineExt.stage4_10(EngineExt.java:7922) nts.EngineExt.commFlexC(EngineExt.java:7617) nts.EngineExt.run(EngineExt.java:7493) 2016-10-27 16:42:11.009 DBConnection.getSingleString()->com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DragoĹź VodÄ\\"" COLLATE utf8_bin LIMIT 1' at line 6 Query being executed when exception was thrown: call marc_RecordSubfield_Set('133','mon','1013016','0','c','Editura SocietÄĹŁii Culturale Pro MaramureĹź"DragoĹź VodÄ"',0,0,'')
Log mail
In acest fisier se pot urmari email-urile trimise de catre server. In fisier se stocheaza ora si subiectul mesajului.
Exemplu:
2016-05-18 13:49:19.339 Send mail SQL query running time over 127.0.0.1 2016-05-18 13:49:21.378 Send mail SQL exception - LangDef over 127.0.0.1 2016-05-18 13:49:22.574 Send mail SQL result exception over 127.0.0.1 2016-05-18 14:22:05.978 Send mail Message format exception: FlexClient/newExtension over 127.0.0.1 2016-05-18 14:22:07.153 Send mail Message format exception: FlexClient/FlexClient over 127.0.0.1 2016-05-18 14:36:01.672 Send mail SQL result exception over 127.0.0.1
Log-uri de mesaje
Engine.messages.txt
In acest fisier se logheaza informatii generice de functionare a serverului si mesaje catre aplicatia-client care nu pot fi atribuite unui anumit utilizator(mesaje din faza de autentificare).
Exemplu:
2016-09-06 09:18:45.531 *** MySQL 5.6.29-log 2016-09-06 09:18:45.531 *** MySQL-AB JDBC Driver mysql-connector-java-5.1.22 ( Revision: ${bzr.revision-id} ) 2016-09-06 09:18:45.531 0 Comm debug: true 2016-09-06 09:18:46.595 ServerInit Server started on port: 7778 2016-09-06 09:18:46.599 ServerInit File server started on port: 8080 2016-09-06 09:18:46.601 ServerInit Policy server started on port: 843 2016-09-06 09:18:48.009 1473142728008 NewConnection 192.168.10.43:7778 is N/A 2016-09-06 09:18:48.011 1473142728008 NewConnection N/A@192.168.10.43: <FlexClient>v0.1</FlexClient> 2016-09-06 09:18:48.014 1473142728008 Set SessionKey 2016-09-06 09:18:48.036 1473142728008 Server[122/1]: <x t="sessionID"><SID>XSJQCAHOHKUJHCET</SID></x> 2016-09-06 09:18:48.055 10 Client[218/1/345213615148922]: <?xml version="1.0" encoding="UTF-8"?><x><m t='userpass'><user>bibliotecar</user><pass>d978764ef29f7785b68e0687e4d522bb</pass><domain>dom01</domain></m></x> 2016-09-06 09:18:48.266 1473142728008 Get UID for bibliotecar 2016-09-06 09:18:48.497 1473142728008 Set UID to 133 for bibliotecar 2016-09-06 09:19:45.563 0 active query(s) found 2016-09-06 09:19:45.563 Connection pool report for domain pubsc 5 idle out of 5 connections.0 active query(s) found
Log-uri de mesaje per utilizator
Odata identificat/autentificat utilizatorul, mesajele primite de la acesta sunt toate stocate in fisiere cu denumirea conform formatului <domeniu>.messages.<utilizator>.txt.
Fiecare linie din fisier este precedata de un timestamp si id-ul de conexiune.
In ceea ce priveste mesajele primite de la aplicatia-client, acestea au ca informatii suplimentare (in aceasta ordine) lungimea mesajului, numarul de ordine al mesajului si id-ul mesajului, acesta din urma putand fi folosit pentru urmarirea interogarilor din baza de date care au fost lansate ca urmare a primirii acelui mesaj.
Pentru mesajele trimise de server informatiile suplimentare includ doar lungimea mesajului si numarul de ordine al acestuia. Daca aplicatia este in modul DEBUG, pentru fiecare mesaj trimis te server se logheaza si timpul, in nanosecunde, utilizat pentru scrierea mesajului pe socket-ul de retea.
2016-09-06 08:43:47.714 1473140626409 Client[154/3/343113274860639]: <?xml version="1.0" encoding="UTF-8"?><x><m t='getUserInfo'><un>bibliotecar</un></m></x> 2016-09-06 08:43:47.816 1473140626409 Server[314/6]: <x t='userInfo'><user><id>133</id><usr>bibliotecar</usr><ip>192.168.10.40</ip><uca>general</uca><autoUpdate>false</autoUpdate><pid>1473140626409</pid><pass_exp>false</pass_exp><domain_info>Publishing SCREAM</domain_info><bid>133</bid></user></x> 2016-09-06 08:43:47.816 1473140626409 Server[314/6]: 322698ns 2016-09-06 08:43:47.817 1473140626409 Server[106/7]: <x t='mc' ><err>false</err><mno>3</mno></x> 2016-09-06 08:43:47.817 1473140626409 Server[106/7]: 296319ns 2016-09-06 08:43:47.826 1473140626409 Client[138/4/343113386851955]: <?xml version="1.0" encoding="UTF-8"?><x><m t='GetVersion' ><z>zzz</z></m></x> 2016-09-06 08:43:47.841 1473140626409 Server[154/8]: <x t='ServerVersion'><ver>1.104.3 b1881</ver><dat>26.07.2016</dat><st>1473140627839</st></x> 2016-09-06 08:43:47.841 1473140626409 Server[154/8]: 365340ns 2016-09-06 08:43:47.842 1473140626409 Server[106/9]: <x t='mc' ><err>false</err><mno>4</mno></x> 2016-09-06 08:43:47.842 1473140626409 Server[106/9]: 274276ns
Log ping
In fisierul Engine.ping.txt se afla informatii despre viteza de raspuns la mesajele de ping intre server si client. In fisier apar urmatoarele informatii: id conexiune, utilizator, timestamp-ul pingului, timpul de raspuns in milisecunde.
Exemplu:
1477644116583 bibliotecar 2016-10-28 11:42:33.864 6ms 1477644116583 bibliotecar 2016-10-28 11:43:03.865 3ms 1477644116583 bibliotecar 2016-10-28 11:43:33.866 3ms 1477644116583 bibliotecar 2016-10-28 11:44:03.866 3ms
Log remote call
In fisierul Engine.RemoteCall.log se gasesc informatii despre apelurile de proceduri realizate in mod dinamic in timpul functionarii serverului.
Exemplu:
2016-10-28 11:42:17.350 Calling nts.EngineExt.simpleMySQLReply() 2016-10-28 11:42:17.351 Looking for nts.EngineExt.simpleMySQLReply() 2016-10-28 11:42:17.351 Found class nts.EngineExt 2016-10-28 11:42:17.351 Found method simpleMySQLReply 2016-10-28 11:42:17.388 Done invoking nts.EngineExt.simpleMySQLReply()
Log sms
???????????????????????????????????????????????????????????????????????????????
log trafic
In fisierul Engine.Trafic.txt se inregistreaza, la intervale regulate de timp, traficul realizat pe conexiunile cu aplicatia client. Aici se regasesc urmatoarele informatii: timestamp, id conexiune, utilizator, domeniu, bytes in, delta bytes in, bytes out, delta bytes out, ora curenta in milisecunde.
2016-10-28 11:47:19.052 1477644399152 bibliotecar@dom01 1017 1017 1932 1932 1477644439052 2016-10-28 11:47:49.052 1477644399152 bibliotecar@dom01 1048 31 2086 154 1477644469052 2016-10-28 11:48:19.052 1477644399152 bibliotecar@dom01 1079 31 2240 154 1477644499052 2016-10-28 11:48:49.054 1477644399152 bibliotecar@dom01 1110 31 2394 154 1477644529054 2016-10-28 11:49:19.055 1477644399152 bibliotecar@dom01 1141 31 2548 154 1477644559055 2016-10-28 11:49:49.055 1477644399152 bibliotecar@dom01 1310 169 2914 366 1477644589055 2016-10-28 11:50:19.055 1477644399152 bibliotecar@dom01 1341 31 3068 154 1477644619055 2016-10-28 11:50:49.055 1477644399152 bibliotecar@dom01 1372 31 3222 154 1477644649055 2016-10-28 11:51:19.056 1477644399152 bibliotecar@dom01 1403 31 3376 154 1477644679056
log xOAI
In fisierul Engine.xOAI.requests.txt se logheaza cererile (in format URL) pentru import xOAI.
Exemplu:
2016-10-28 12:08:04.603 http://ils.bib34.ebibliophil.ro/xoai/services/?verb=xCount&prefix=products&db=defdb&lang=rou&cat=&_qt=&_qv=&_1f=299a&_1t=l&_1v=poezii&_2f=&_2t=&_2v=&_3f=&_3t=&_3v=&_4f=&_4t=&_4v=&_5f=&_5t=&_5v=&_6f=&_6t=&_6v=&_7f=&_7t=&_7v=&_8f=&_8t=&_8v=&_9f=&_9t=&_9v= 2016-10-28 12:08:04.944 http://ils.bib34.ebibliophil.ro/xoai/services/?verb=xListShortRecords&prefix=products&lang=rou&db=defdb&_qt=&_qv=&_1f=299a&_1t=l&_1v=poezii&_2f=&_2t=&_2v=&_3f=&_3t=&_3v=&_4f=&_4t=&_4v=&_5f=&_5t=&_5v=&_6f=&_6t=&_6v=&_7f=&_7t=&_7v=&_8f=&_8t=&_8v=&_9f=&_9t=&_9v=&fields=200a-%2C010a-%2C700a-%2C210c-%2C210d-&order=&cat=&lm=32&os=0&options=[AllValuesInOne] 2016-10-28 12:08:13.481 http://ils.bib34.ebibliophil.ro/xoai/services/?verb=xGetUnimarcRecord&prefix=products&db=defdb&identifier=ROIFCCD%235db9b505658ba1e2
log analiza mesaje
Lang.warning.txt
In acest fisier sunt semnalate erorile de analiza a mesajelor primite. In fisier se regasesc date referitoare la utilizator, domeniu, id conexiune, mesaj, nodul a carui valoare e neconforma, calea pana la acel nod si calea prin logica limbajului.
2016-09-08 09:24:38.23 [1473315878196:0] Level10 bibliotecar@pubsc 1473315336724 Error in format! Charts Charts <charts type='MarcOpsOnSubfields'> <p>OperatiuniSubfield</p> <o>TableManagement</o> <lang></lang> <cat></cat> <f> <_qt></_qt> <_qv></_qv> <_1op></_1op> <_1f></_1f> <_1t></_1t> <_1v></_1v> <_2op></_2op> <_2f></_2f> <_2t></_2t> <_2v></_2v> </f> <pre>art</pre> <fsf></fsf> <unit>year</unit> <dst>2016-09-08 09:24:00</dst> <den>2016-09-08 09:24:00</den> <tres>year</tres> <opts></opts> </charts> fsf=!=[0-9A-Za-z]{4} Format field-subfield incorect xmlPath:/m/charts wordPath:/FlexClient//Charts/MarcOpsOnSubfields -----------------------------------------
MA.log
Acest fisier contine informatii despre diferite exceptii/erori intalnite in timpul analizei mesajelor
Time.Level10
Fisierul detaliaza pasii de analiza realizati pentru fiecare mesaj in parte.
2016-10-28 11:41:57.704 1477644117690 2016-10-28 11:41:57.69 <m t='version'><version>FlexClient v2.2.8</version></m> 1477644117690 Validate: FlexVersion/FlexVersion 1477644117690 Validate: FlexVersion/versionauth 1477644117690 Validation: true 1477644117690 Action 0:callMethod 1477644117690 Method: clientVersionCheck 1477644117690 Loaded class: class nts.Engine 1477644117690 Got method: public void nts.Engine.clientVersionCheck(java.lang.String) 1477644117690 Action 1:callMethod+ 1477644117690 End actions 1477644117690 Validation: true 1477644117690 End actions 1477644117690 14ms ----nts.MAResult@176486a6----------------------------------------------------------------------------------------------------------
ThreadMsg.Log.txt
Fisierul detaliaza fazele de trimitere a mesajelor catre aplicatia client.
2016-10-28 11:41:56.642 1477644116642 sMsgToThread() 2016-10-28 11:41:56.642 1477644116642 TryingToConnect_1477644116583 1477644116583 2016-10-28 11:41:57.284 1477644116642 Sending message: /sessionID len:122 count:1 2016-10-28 11:41:57.284 1477644116642 Wrote startSQ 2016-10-28 11:41:57.284 1477644116642 Wrote length 122 2016-10-28 11:41:57.284 1477644116642 Wrote count 1 2016-10-28 11:41:57.284 1477644116642 Wrote message /sessionID 2016-10-28 11:41:57.285 1477644116642 Wrote endSQ 2016-10-28 11:41:57.285 1477644116642 Message sent.
Log service thread
Serverul monitorizeaza la intervale regulate daca exista conexiuni blocate in trimiterea de mesaje pe socket. Daca itentifica asemenea fire de executie le opreste fortat si logheaza in fisierul ServiceThread.log acest lucru.
Exemplu:
2016-10-26 13:13:40.168 Unblocking user00312@dom01 from user00312@dom01 PID 1477459127618 2016-10-26 13:13:40.168 Unblocked user00312@dom01 from user00312@dom01 PID 1477459127618