Парсинг журналов событий и сохранение результатов в БД

Очередная микро-заметка из разряда себе на память и авось кому пригодится.
Продолжая разговор о парсинге событий хочется описать методику сохранения событий из системных журналов в таблицу на MS SQL сервере.
Предположим что вам необходимо отслеживать события из журнала приложений и архивировать их в БД для последующего анализа. Изначально считаем что у вас есть предварительно настроенный SQL сервер и установлен powershell на сервере где запускается скрипт.
В приведенном ниже скрипте берутся события из журнала Application за последний час $1HourAgo = [DateTime]::Now.AddHours(-1) и из источника if ($source -like «MSExchangeIS*»). Далее данные помещаются в таблицу ExchangeAuditLog.
{
param (
[string] $SQLSERVER,
[string] $Database
)
$SqlConnection = New-Object System.Data.SqlClient.SqlConnection
$SqlConnection.ConnectionString = "Server=$SQLSERVER;Database=$Database;Integrated Security=True"
$SqlCmd = New-Object System.Data.SqlClient.SqlCommand
$SqlCmd.Connection = $SqlConnection
$SqlAdapter = New-Object System.Data.SqlClient.SqlDataAdapter
$1HourAgo = [DateTime]::Now.AddHours(-1)
$strings = Get-eventlog application | where {$1hourago -le $_.timewritten}
foreach ($string in $strings){
$source = $string.source
if ($source -like "MSExchangeIS*") {
$source = $string.source
$midx = $string.index
$type = $string.type
$eventid = $string.eventid
$time = $string.timegenerated
$username = $string.username
$messageout = $string.message
$message = $messageout -replace "’", " "
$message = $message -replace " ", ""
$SqlCmd.CommandText = "insert into ExchangeAuditLog (midx, time, type, source, eventid, message, username) values (‘$midx’, ‘$time’, ‘$type’, ‘$source’, ‘$eventid’, ‘$message’, ‘$username’)"
$SqlAdapter.SelectCommand = $SqlCmd
$DataSet = New-Object System.Data.DataSet
$SqlAdapter.Fill($DataSet)
}
}
$SqlConnection.Close()
}
parseLog "SQL-01" "auditDb"
Вместо послесловия.
Скрипт был написан под задачу мониторинга событий на Exchange 2003 и успешно выполнив ее был отключен.
Похожие статьи
Приглашаю присоединиться ко мне в следующих сервисах:
Вы можете оставить комментарий.