随着大家对网络安全意识的提高,企业网管理人员,必须对IT基础设置进行监控及安全事件的管理,管理数据的数量和种类非常巨大,那么就需要有一款能否分析各种日志数据的工具,经过长期实践,为大家推荐Splunk这么一款全能型分析工具。
1.Splunk简介
Splunk 是一款功能强大的、记录详细的日志分析软件,Splunk是基于原始日志数据(Raw data)内容建立索引,保存索引的同时也保存原始日志内容,在大 数据时代,种类繁多的日志如何能快速分析找到你需要的内容呢,你需要一个更加方便智能的工具,那就是Splunk。它能处理常规的日志格式,比如 Apache、Squid、系统日志、邮件日志等这些对所有日志先进行索引,然后可以交叉查询,支持复杂的查询语句,最后通过直观的方式表现出来。它与其 他开源日志分析工具不同的是,操作界面支持全中文,而且对于中文版操作系统的日志收集非常不错,目前它的商业版本价格的确不便宜(国内天旦、精诚华厦微科 都在代理这款产品,商务可联系他们)。下面我们先看看怎么安装和基本使用吧。
2.Splunk安装
首 先到官方http://www.splunk.com/download注册一个账号下载对应的操作系统版本(截止目前最新版本为6.1.3),安装时记 住关闭SELinux功能,另外注意一点,如果要通过WMI的方式来搜集Windows(中文版)日志的话,那么Splunk建议装在Windows操作 系统(须4GB以上可用空间)上。如果收集的日志主要是各种网络设备及Linux系统日志建议装在类Unix系统上。下面以Redhat Linux系统 安装Splunk为例讲解安装过程,启动过程如图1所示。
(1).安装软件包
#rpm –ivhsplunk-4.1.7.95063-linux-2.6-x86_64.rpm
Splunk安装路径在/opt/splunk,这个路径各种UNIX/Linux系统都一样。
(2).关闭Selinux
#setenforce 0
(3).启动splunk,命令如下:
#/opt/splunk/bin/splunk start
(4).浏览Splunk Web接口,在浏览器中输入以下地址:
http://localhost.localdomain:8000
图1 Linux下安装Splunk
用netstat命令检查8000端口是否处于监听状态。
#netstat -ant
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:8000 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:8089 0.0.0.0:* LISTEN
我们看到以上信息输出即可通过网址访问。
3.设置自动运行
1).设置开机自动启动
#ln -s /usr/local/splunk/bin/splunk/etc/rc2.d/S80splunk
2).设置到服务里面
#ln -s /usr/local/splunk/bin/splunk/etc/init.d/splunk
4.系统配置
下面我们通过配置来收集客户端的日志。
1)通过Syslog收集Cisco网络设备的日志
在Cisco网络设备上的配置命令一般为:
logging <syslog server IP Address>
logging trap <severity>
Splunk默认使用UDP 514端口来监听syslog消息。例如:
logging 192.168.122.1
logging trap warning
2)通过Syslog收集Linux主机的日志
在Linux主机上的配置一般为修改/etc/syslog.conf配置,添加以下两行:
# Send syslog to Splunk server
*.<severity> @<syslog server IPAddress>
如:
# Send syslog to Splunk server
*.debug @192.168.122.1
3)通过WMI来收集Windows主机的日志
首先要确保运行Splunk服务(在服务管理器中显示为Splunkd)的帐号有权限读取远程Windows机器的WMI信息。在《Unix/Linux日志分析和流量监控》一书中的第14章中还会讲到利用WMI收集Windows日志。
然后,在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
接着,在同一目录中新建一个文本文件,命名为wmi.conf,并添加以下内容:
[WMI:<Name>]
server = <Remote Windows Host IPAddress>
interval = 60
event_log_file = <Event log Type>
disabled = 0
比如监控IP地址为192.168.122.10的Windows主机上Application和System的Event Log:
[WMI:AppAndSys]
server = 192.168.122.1
interval = 60
event_log_file = Application, System
disabled = 0
其实还可以通过Syslog来收集Windows的日志,这里可以用一个免费工具NTSyslog(下载)。
