skrypt wyszukujący sesje po failureMessageId:
var arraya = db.getCollection('Log_20210415').distinct('executionData.id',{'executionData.logId':{$in: 2 ['ec80f010-53ee-4d4c-a120-3f6672920c85','650b4ba8-c38b-462c-abf4-9392864c4cf0', '8afe2705-3891-48f1-a77c-9ddbab00ab10','c3717fee-8e4d-4136-b41d-7b950381db97', '7b025954-7f06-47bb-b756-8831ceceeceb']},'executionData.invoker':{$not: /BatchJob/i}}) 3db.getCollection('Log_20210415').find({ 4 'executionData.id':{$in: arraya} 5})Po otrzymaniu logów, aby zaimportować je do mongo należy w notepadzie przerobić wg:
wklejamy do notepada
robimy replace, używając wyrażeń regularnych, zamieniając dany regex na pustą linię:
regex:
\/. [0-9]+ .\/idziemy od mongo, tworzymy nową kolekcję, robimy insert do tej kolekcji, przeklejamy treść i zapisujemy.
4. obróbka logów z kolekcji Consent:
\/\*.*\*\/ -> pusty string
UUID\((.*)\) -> $1
ISODate\((.*)\) ->$1
ObjectId\((.*)\) → $1 *w przypadku obrabiania logów z NLogTRZEBA ZAINSTALOWAĆ MONGOTOOLS - https://www.mongodb.com/try/download/database-tools
cd "C:\Program Files\MongoDB\Tools\100\bin"- przejście do miejsca instalacji mongotools, mongoimport.exe
.\mongoimport --uri="mongodb://LOGIN:HASLO@ADRES_SERWERA:27017/NAZWA_BAZY" --authenticationDatabase admin --collection=KOLEKCJA --file="C:\Users\Bartosz\Downloads\ad2.json"
przykład:PS C:\Program Files\MongoDB\Tools\100\bin> .\mongoimport --uri="mongodb://bxxxp:[email protected]:27017/temp" --authenticationDatabase admin --collection=nazywasz_kolekcje --file="C:\sciezka_do_pliku_z_rozszerzeniem_pliku" --legacy
--file - wskazanie pełnej ścieżki do pliku json po przerobieniu regexemprzykładowy mongoexport dla loga z całego dnia dla UP z proda:
.\mongoexport.exe --host UPMongoRS/production-external-up-2.banqware-internal.com,production-external-up-3.banqware-internal.com,production-external-up-4.banqware-internal.com --port 27017 --username username--password password --authenticationDatabase admin --db NLog --collection Log_20210430 --out up_prod_20210430
