面对快速变化的业务和日趋复杂的网络应用环境,不少IT管理者追赶变化的脚步却是举步维艰。原因是多方面的,传统基于关系型数据库的IT管理平台无疑是其中一个重要因素。传统的IT管理平台针对数据管理一般采用定制数据接口标准化输入的形式获取数据,同时内部的数据结构和报表一旦确定,很难根据情况变化进行改变。面对随着新业务涌现的新型IT数据,传统的IT管理平台需要进行耗时漫长的二次开发才能进行有效管理,更谈不上应对瞬息万变的IT管理需求。
Splunk正是在这个技术的困境中应运而生,以灵活、敏捷的数据管理能力为企业带来一场IT管理的创新革命:
跨越平台,应用的数据格式支持
支持对所有以文本形式存在的IT数据进行处理,如标准的syslog和非结构化的事件日志,snmp事件,xml文本,系统和应用配置等,在Splunk可以为不同来源的数据选择最为适合的输入方式。
如右图所示,Splunk通过文件上传,共享目录等方式对文件数据进行索引分析和实时监控;网络设备和应用服务器产生的日志则可以通过TCP/UDP端口侦听的方法进行收集;甚至脚本运行产生的数据也可以作为Splunk的数据来源进行索引和分析。
快捷的数据定义和转换
要对IT数据进行有效管理的前提是,提取数据中有价值的信息进而进行定义,搜索和深入分析。
相对于传统的IT管理平台,Splunk对数据的定义灵活而快速,可以根据实际情况的变化快速地对感兴趣的数据进行定义,整个过程只需在管理界面上清点几下鼠标和花费几分钟的时间。下面以定义日志来源主机为例:Splunk中提供智能提取数据并定义的功能,只需在样本数据中填入需要定义的数据的样本,splunk便可使用正则表达式智能分析数据的结构,相对位置等信息,帮助管理者快速的识别和抽取有用信息进行定义和分析。
当然,如果你是一位熟悉正则表达式管理者,那么你对Splunk灵活和强大的功能会有更深的认识。由于各个网络设备厂商的标准不一,接口的物理特性各异,网络设备接口存在多种表示方式,如何对所有设备的接口进行严格定义而不产生遗漏呢?这是令不少IT管理者头疼的问题。在Splunk中,只需在搜索栏中输入一行短小精悍的正则表达式,所有网络设备日志中包含的网络接口即可一网打尽,绝无漏网之鱼。
所有的数据定义均可以随着情况的变化和管理的需要进行实时的增加、删除和修改,管理者需要做的工作仅是重新使用一遍智能数据定义功能或者对正则表达式进行一点小修改而已。
简单灵活的搜索语言
Splunk一个有趣的别称——”google for IT”,这其中隐含的意思是IT管理者在Splunk中对数据搜索管理可以像使用google搜索引擎一样简单方便。
在搜索栏中简单敲入fail*,选择时间范围,所有与操作失败相关的事件在数秒之内作为结果返回。在搜索结果的基础上,我们可以进行进一步的深入分析,这只需选择左边特定栏位(已定义数据)的数值:这种数据drill-down搜索在问题定位方面的效率上相较传统的IT管理平台有巨大的优势,层进式的问题排查将成为明日黄花,一去不复返。
快速的报表生成和内容丰富的dashboard
Splunk中的搜索结果可以快速转化为报表保存下来,保存的报表可作为技术和管理知识或者实时监控之用。Splunk中保存的搜索语句和报表根据特定类型和需求组织起来形成内容丰富的知识集合,以dashboard的形式进行呈现。
*.<severity> @< syslog server IP Address>
*.debug @172.29.1.1
- 首先要确保运行Splunk服务(在服务管理器中显示为Splunkd)的帐号有权限就去读取远程Windows机器的WMI信息。
- 然后就是要在Splunk服务器上做一下简单的配置:Splunk的安装路径默认为C:\Program Files\Splunk。在C:\Program Files\Splunk\etc\system\local文件下修改inputs.conf文件,添加以下内容:
-
[script://$SPLUNK_HOME\bin\scripts\splunk-wmi.py]
interval = 10
source = wmi
sourcetype = wmi
disabled = 0
-
[script://$SPLUNK_HOME\bin\scripts\splunk-wmi.py]
- 接着在同一目录中新建一个文本文件,命名为wmi.conf,并添加以下内容:
- [WMI:< Name>]
server = < Remote Windows Host IP Address>
interval = 60
event_log_file = < Event log Type>
disabled = 0比如监控IP地址为172.29.1.30的Windows主机上Application和System的Event Log:[WMI:AppAndSys]
server = 172.29.1.30
interval = 60
event_log_file = Application, System
disabled = 0