Od dluzszego czasu uzywam Logparser 2.2, narzedzie do analizy logow. Wiem ze kreci sie pod Windows. Co w nim takiego fajnego to to ze zjada wszystko co ma strukture, czyli od TXT, CSV, XML az po EVT, ADS i LDAP. Podobnie wypluwa z siebie tez cala skale mozliwych formatow a nawet moze bezposrednio pisac do SQL servera albo bezposrednio generowac graficzne wykresy. To Narzedzie mozna tez bezposrednio stosowac w scryptach VB, C++.
Poniewaz chcialem mojemu klientowi zaoszczedzic kasy, postanowilem zbudowac cos zamiast kupowac Quest Message Stats.
Jak to dziala; narzedzie najlatwiej stosowac uzywajac command-prompt oto przyklad:
C:Program FilesLog Parser 2.2>logparser “SELECT * FROM D:Downloadaccess.log” -i:ncsa -o:tsv
albo to samo mozna osiagnac z takiej command line:
C:Program FilesLog Parser 2.2>logparser file:MojePytanie.sql -i:ncsa -o:tsv
gdzie >file:MojePytanie.sql< to plik tekstowy z extensia .sql w ktorym zawarte jest query w jezyku SQL.
Forma z plikiem .sql jest wiele latwiejsza w utrzymaniu i uzywaniu. Wyobraz sobie bardziej skaplikowane query zajmujace kilkanascie linijek wpisane w command-prompt, jak to:
SELECT EXTRACT_TOKEN(FullUri, 0, '|') AS Uri, EXTRACT_TOKEN(cs-uri-query, -1, '|') AS ErrorMsg, EXTRACT_TOKEN(cs-uri-query, 1, '|') AS LineNo, COUNT(*) AS Total USING STRCAT( cs-uri-stem, REPLACE_IF_NOT_NULL(cs-uri-query, STRCAT('?', cs-uri-query))) AS FullUri FROM ex*.log WHERE (sc-status = 500) AND (cs-uri-stem LIKE '%.asp') GROUP BY Uri, ErrorMsg, LineNo ORDER BY Total DESC
Ale nie martw sie jezeli SQL (jak i dla mnie) nie jezykiem uzywanym na codzien bede tu umieszczal przyklady jak ja tego uzywam. Przy zastosowaniu tego narzedzia mozna nawet generowac feed RSS, a z odrobina umiejetnosci programowania nawet zbudowac programik ktory wygeneruje kompletny RSS dla iTunes.
Ciekawe strony o LogParser:
To na tyle dzis.