我正在使用Splunk来解析来自几个服务器的IIS日志文件,所有的服务器都有相同的字段设置,并且所有的服务器都运行相同版本的Windows2003服务器。然而,splunk将这些日志文件的源类型标记为"iis“、"iis-2”或"iis-3"...即使来自同一台服务器。我似乎找不到模式。如何确保splunk标记所有日志文件的类型相同?
另一个问题是,对于一些日志文件,splunk会自动提取querystring字段中的所有键/值,而对于一些日志文件则不会。我想让splunk在索引时解析出查询字符串键/值,这样在搜索时它就会很快。
有人能帮上忙吗?
谢谢
发布于 2012-04-05 01:18:01
IIS日志很容易拆分,但您需要告诉它日志的格式(因为您可以更改日志格式)。这里有一个例子。
在inputs.conf ($SPLUNK_HOME\etc\system\local\inputs.conf)中,添加如下所示的节:
[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)中,添加如下所示的节:
[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中定义两个转换,如下所示:
[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免费获得
发布于 2015-01-31 06:52:31
Splunk将自动识别许多类型的数据源,在Splunk中称为“源类型”,如果你不告诉Splunk使用哪种特定的“源类型”,它将创建一个新的源类型,并根据它认为匹配的源类型来命名它。
为了防止此功能将可能不同的源类型混为一谈,Splunk将创建一个新的源类型,并附加一个序列号。这就是为什么你会看到"iis-2“"iis-3”等等。你应该在创建新的数据输入时选择"iis“源类型,如果它与你的数据匹配,或者为你的数据创建一个新的”iis-a“源类型。
https://stackoverflow.com/questions/9168626
复制相似问题