Sql server 使用logstash从日志文件解析sql日志
我想从日志文件中读取MSSQL日志,编写NXLOG代码如下:Sql server 使用logstash从日志文件解析sql日志,sql-server,logging,
elasticsearch,logstash,nxlog,Sql Server,Logging,
elasticsearch,Logstash,Nxlog,我想从日志文件中读取MSSQL日志,编写NXLOG代码如下: <Input sql-logs> Module im_file File 'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Log\ERRORLOG*' ReadFromLast TRUE Exec if $raw_event =~ /^#/ drop();
<Input sql-logs>
Module im_file
File 'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Log\ERRORLOG*'
ReadFromLast TRUE
Exec if $raw_event =~ /^#/ drop(); \
else \
{ \
sql->parse_csv(); \
#$EventTime = parsedate($date + " " + $time); \
to_json (); \
}
</Input>
模块im_文件
文件“C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Log\ERRORLOG*”
ReadFromLast TRUE
如果$raw_event=~/^#/drop(),则执行\
否则\
{ \
sql->parse_csv()\
#$EventTime=parsedate($date++$time)\
to_json()\
}
模块SQL所在的位置
<Extension sql>
Module xm_csv
Fields $date, $time, $hostname, $message
FieldTypes string, string, string, string
Delimiter ' '
</Extension>
模块xm_csv
字段$date、$time、$hostname、$message
字段类型字符串,字符串,字符串,字符串
分隔符“”
输出配置为
<Output sql-out>
Module om_tcp
Host 192.168.1.14
Port 5222
</Output>
模块om_tcp
主机192.168.1.14
端口5222
我已经在中上载了示例文件,您可以使用chrome打开该文件,在NXLOG
和Logstash
中都没有错误消息,但我看不到输出
我的意思是没有收到来自此文件的数据。您的链接需要在框中注册。在没有看到配置文件的情况下,我会问:您看到多行过滤器了吗?如果使用“ReadFromLast TRUE”时没有新数据附加到文件中,您将看不到任何输出。首先更改输出部分(在读取文件的同一台机器中写入tmp文件)。如果您能够在tmp文件中获取日志,那么在传输日志时会遇到一些问题,或者在读取文件时会遇到一些问题。