Windows - IIS naplófájlok konvertálása

Az Internet Information Services (IIS) által készített különböző típusú naplófájlok egységes formátumúra alakíthatók a Windows beépített eszközeivel. A formai átalakításokon túl IP címből gépnevet és egyéb konverziókat is elvégezhetünk. Saját formátum használatával javul az áttekinthetőség és a dátumok alakja is "magyarosítható".
A %systemroot\system32 könyvtárban kapott helyett a CONVLOG.EXE nevű parancssori alkalmazás, amely arra hivatott, hogy elvégezze az átalakításokat. Többféle típusú IIS naplófájlok léteznek: "Microsoft IIS Log File Format", "NCSA Common Log File Format", "W3C Extended Log File Format" és "ODBC Logging". Az utóbbi nem naplófájlba, hanem ODBC adatbázisba rögzít, ezért erre nem terjed ki a segédprogram hatásköre. A célformátum minden esetben "NCSA Common Log File Format". Tehát a "Microsoft IIS Log File Format" és "W3C Extended Log File Format" alakítható át illetve a "NCSA Common Log File Format" is változtatható. A naplóállományok alapértelmezett tárolója a %systemroot%\system32\logfiles mappa. Ezen belül további alkönyvtárak tartalmazzák a különböző szolgáltatások és virtuális kiszolgálók állományait.
Indítsunk el egy parancssori ablakot (WIN+R > cmd) és tallózzunk el a logfájlokat tároló könyvtárba. Nézzük meg konkrét példákon keresztül, hogy milyen konverziós lehetőségeink vannak.
A "-i" paraméter és az utána következő karakter határozzák meg az átalakítandó (bemeneti) napló típusát: i= Microsoft IIS Log File Format, n= NCSA Common Log File Format, e=W3C Extended Log File Format.
A "in011218.log" nevű "Microsoft IIS Log File" típusú naplóállomány átalakítása NCSA formátumra:
convlog -ii in011218.log
A kimeneti fájl neve megegyezik a bemenetivel, csak hozzáfűződik a ".ncsa" utótag.
Aktuális alkönyvtárban lévő összes "W3C Extended Log File" típusú fájl átalakítása:
convlog -ie in*.log
Most alakítsuk át úgy a fájlt, hogy a benne lévő IP címekből készítsünk gépneveket. Ehhez a "-d" kapcsolót kell használni:
convlog -ii in011218.log -d
Ilyenkor a kimeneti fájl nevéhez az ".ncsa.dns" utótag fűződik hozzá.
A bejegyzésekhez tartozó idő formátumot is meg lehet változtatni. Ehhez a "-t" kapcsolóra lesz szükségünk. Adjuk meg utána a következő paramétereket: "none" - nem változtatja meg a formátumot, "ncsa" - szabványos NCSA naplófájl időformátumot használ, "ncsa:eltolás" - NCSA időformátum utána a GMT-hez viszonyított időzóna eltérést.
A célfájl időformátuma az NCSA naplóknál alkalmazott formátummal egyezik meg:
convlog -ii in011218.log -t ncsa
Ez az alapértelmezett érték, ha nem írjuk be a "-t" kapcsolót automatikusan ezt használja.
Feltételezzük, hogy minden időpont a GMT +0200 érteknek felel meg. Ekkor a következőképpen kell a konverziót végrehajtani:
convlog -ii in011218.log -t ncsa:+0200
Az eredeti időformátum megőrzése így lehetséges:
convlog -ii in011218.log -t none
Ez azonban csak az "Microsoft IIS Log File Format" típusnál lehetséges.
A dátumot sem kötelező az alapértelmezéseknek megfelelően használni. Átalakítási lehetőség a "-l" kapcsolóval és az utána lévő számmal lehetséges. A szám lehet: 0 - hh/nn/éé, 1 - éé/hh/nn és 2 - nn.hh.éé. Konvertáljuk át a dátumot év/honap/nap alakúra:
convlog -ie in*.log -l1
A kimeneti fájl neve automatikusan képződik, de elhelyezési könyvtára a "-o" kapcsoló után előírható:
convlog -ie in*.log -o c:\Backup\LogConvert
Ha nem adjuk meg, az aktuális mappába ment.
Utolsó lehetőségünk, hogy a nem WWW bejegyzéseket egy ".dmp" naplófájlba mentsük a "-x" kapcsolóval:
convlog -ie in*.log -o c:\Backup\LogConvert -x
A bemutatott kapcsolókat természetesen kombinálva is lehet használni.