首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >splunk解析IIS日志文件

splunk解析IIS日志文件
EN

Stack Overflow用户
提问于 2012-02-07 06:59:02
回答 2查看 6.2K关注 0票数 2

我正在使用Splunk来解析来自几个服务器的IIS日志文件,所有的服务器都有相同的字段设置,并且所有的服务器都运行相同版本的Windows2003服务器。然而,splunk将这些日志文件的源类型标记为"iis“、"iis-2”或"iis-3"...即使来自同一台服务器。我似乎找不到模式。如何确保splunk标记所有日志文件的类型相同?

另一个问题是,对于一些日志文件,splunk会自动提取querystring字段中的所有键/值,而对于一些日志文件则不会。我想让splunk在索引时解析出查询字符串键/值,这样在搜索时它就会很快。

有人能帮上忙吗?

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-04-05 01:18:01

IIS日志很容易拆分,但您需要告诉它日志的格式(因为您可以更改日志格式)。这里有一个例子。

在inputs.conf ($SPLUNK_HOME\etc\system\local\inputs.conf)中,添加如下所示的节:

代码语言:javascript
运行
复制
[monitor://C:\inetpub\logs\LogFiles\W3SVC1\*.log]
sourcetype=MSWindows:2008R2:IIS
queue=parsingQueue
index=msexchange
disabled=false

在props.conf ($SPLUNK_HOME\etc\system\local\props.conf)中,添加如下所示的节:

代码语言:javascript
运行
复制
[MSWindows:2008R2:IIS]
TZ = GMT
SHOULD_LINEMERGE = false
CHECK_FOR_HEADER = false
REPORT-fields = mswin_2008r2_iis_fields
TRANSFORMS-comments = ignore_comments

最后,我们需要在$SPLUNK_HOME\etc\system\local\transforms.conf)中的transforms.conf中定义两个转换,如下所示:

代码语言:javascript
运行
复制
[ignore_comments]
REGEX = ^#.*
DEST_KEY = queue
FORMAT = nullQueue

[mswin_2008r2_iis_fields]
FIELDS = "date","time","s_ip","cs_method","cs_uri_stem","cs_uri_query","s_port","cs_username","c_ip","cs_user_agent","sc_status","sc_substatus","sc_win32_status","time_taken"
DELIMS = " "

mswin_2008r2_iis_fields的格式取自IIS日志文件的顶部。这是来自Windows Server2008 R2的默认IIS日志(希望很明显)。位置和格式因版本不同而不同,此外,您还可以在每个主机的基础上更改位置和格式。

有关这些配置文件的更多信息,请参阅文档-可在http://docs.splunk.com免费获得

票数 4
EN

Stack Overflow用户

发布于 2015-01-31 06:52:31

Splunk将自动识别许多类型的数据源,在Splunk中称为“源类型”,如果你不告诉Splunk使用哪种特定的“源类型”,它将创建一个新的源类型,并根据它认为匹配的源类型来命名它。

为了防止此功能将可能不同的源类型混为一谈,Splunk将创建一个新的源类型,并附加一个序列号。这就是为什么你会看到"iis-2“"iis-3”等等。你应该在创建新的数据输入时选择"iis“源类型,如果它与你的数据匹配,或者为你的数据创建一个新的”iis-a“源类型。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9168626

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档