sexta-feira, 16 de julho de 2010

Às voltas com o logparser...

Bem tenho tido alguma experiência com o Microsoft Logparser 2.2.

A ferramenta está muito boa e permite-nos fazer imensas coisas.

Tenho uns logs criados diariamente e quero agarrar neles e coloca-los num servidor de SQL.

Aqui fica a minha solução em VBS que pode ser colocada numa task scheduler para ler os logs tipo w3c.

Priemeiro instalamos o logparser.

Depois registamos a dll que fica na pasta de instalação com o comando regsvr32 "caminho completo da dll\logparser.dll"


E aqui fica o código simples....


Set oLogQuery = createobject("MSUtil.LogQuery")
Set oInput = createobject("MSUtil.logquery.W3CInputformat")
Set oOutput = createobject("MSUtil.logquery.SQLOutputformat")
oOutput.driver = "SQL Server"
oOutput.server = "servidor\SQLEXPRESS"
oOutput.Database = "LogParser"
oOutput.username = "db_user"
oOutput.password = "password"
oOutput.clearTable = False
oOutput.createTable = False

Nome do ficheiro a ir buscar:
Como o ficheiro é criado diariamente com o ano mes e dia concatenados com o seu nome tenho de voltar esse nome um dia para trás. :)

sLogName = "NomedeFicheiro" & year(now) & month(now) & day(dateadd("d",-1,now)) & ".log"

sLogName = "ISALOG_" & year(now) & "0622" & "*.w3c"

Querie que me interessa do ficheiro a ser analisado.

strsql = "select c-ip, cs-username, date, time, s-computername, cs-referred, r-host, r-ip, r-port, cs-protocol, cs-uri, sc-status, error-info, action from C:\TestLog\" & sLogName & " to LogsIsa"

executar os comandos anteriores.

oLogQuery.ExecuteBatch strsql, oInput, oOutput

Para a próxima mostro como visualizar os dados que acabei de colocar na Base de Dados... :)

Sem comentários:

Enviar um comentário