Splunk App for Stream

Splunk Stream是什么

Splunk Stream是Splunk官方提供的免费App,可以捕获,过滤,索引和分析网络事件数据流,内置了大量的数据分析和可视化功能,并且能够创建新的数据流分析和可视化界面。

是Splunk Enterprise Security和Splunk User Behavior Analisis的基础,提供数据。

Stream"流"是由特定网络协议和一组字段定义的事件分组。 当与日志,指标和其他信息相结合时,可以通过Splunk Stream捕获的流,洞察网络基础架构中的活动和可疑行为。

支持NetFlow v5, v9, jFlow, sFlow, 和 IPFIX。

使用Splunk Stream

  • 被动地捕获网络事件数据的实况流。
  • 捕获多个网络协议的元数据和完整数据包流。
  • 收集NetFlow协议数据。
  • 应用聚合方法对事件数据进行统计分析。
  • 应用过滤器来最小化索引器要求。
  • 从字符串中提取内容并生成散列。
  • 从网络流量中提取文件。
  • 在预建的仪表板中监控网络趋势和应用程序性能。
  • 部署独立的Stream转发器来捕获远程linux机器上的数据。
  • 不需要标签或仪器仪表即可迅速而不引人注意。

Splunk Stream 包含的组件

  • splunk_app_stream

提供streamfwd的配置管理。 还提供流转发器管理工具,捕获数据的过滤,预定义流和仪表板,用于分析网络事件和流数据。

  • Splunk_TA_stream

提供数据抓取和转发功能。 Splunk_TA_stream包括Stream转发器(streamfwd)。 streamfwd是Splunk_TA_stream的核心组件,并提供被动捕获的网络数据。

  • 独立的Stream转发器

Splunk Stream一个独立的Stream转发器安装包(splunkstreamfwd.tgz),它不与splunk_app_stream和Splunk_TA_stream一起部署。 Splunk App for Stream生成一个curl命令,可以使用这个命令在任何兼容的Linux机器上安装独立的Stream转发器。

Splunk Stream内置的分析功能

分析总览

 

Splunk App for Stream_第1张图片

 

应用分析

 

Splunk App for Stream_第2张图片

 

流量可视化

 

Splunk App for Stream_第3张图片

 

HTTP总览

 

Splunk App for Stream_第4张图片

 

Http活动

 

Splunk App for Stream_第5张图片

数据库活动

 

Splunk App for Stream_第6张图片

DNS总览

 

Splunk App for Stream_第7张图片

DNS活动

 

Splunk App for Stream_第8张图片

 

SSL 活动

 

Splunk App for Stream_第9张图片

Splunk Stream支持哪些协议

 

协议

描述

AMQP

AMQP,即Advanced Message Queuing Protocol,一个提供统一消息服务的应用层标准高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。基于此协议的客户端与消息中间件可传递消息,并不受客户端/中间件不同产品,不同的开发语言等条件的限制

DHCP

DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一个局域网网络协议,使用UDP协议工作, 主要有两个用途:给内部网络或网络服务供应商自动分配IP地址,给用户或者内部网络管理员作为对所有计算机作中央管理的手段,在RFC 2131中有详细的描述。

DIAMETER

Diameter协议被IETF的AAA工作组作为下一代的AAA协议标准。Diameter(为直径,意为着Diameter协议是RADIUS协议的升级版本)协议包括基本协议,NAS(网络接入服务)协议,EAP(可扩展鉴别)协议,MIP(移动IP)协议,CMS(密码消息语法)协议等。

DNS

域名解析协议

FTP

文件传输协议

HTTP

超文本传输协议

ICMP

Internet控制报文协议

IMAP

Internet邮件访问协议

IP

网络之间互连的协议

IRC

互联网中继聊天协议

LDAP

轻量级目录访问协议Lightweight Directory Access Protocol

MAPI

消息应用程序接口

MySQL

MySQL客户端/服务器端协议

NetBIOS

网络基本输入/输出系统协议

NFS

网络文件系统

POP3

邮局协议V3

Postgres

PostgreSQL数据库

RADIUS

远程用户拨号认证服务,是目前应用最广泛的AAA协议。

RTP

实时传输协议,RTP协议详细说明了在互联网上传递音频和视频的标准数据包格式。

SIP

SIP(Session Initiation Protocol,会话初始协议)是由IETF(Internet Engineering Task Force,因特网工程任务组)制定的多媒体通信协议。

SMB

服务器信息块(SMB)是一个网络文件共享协议,它允许应用程序和终端用户从远端的文件服务器访问文件资源。

SMPP

SMPP技术广泛应用于短信的接收与提交。

SNMP

简单网络管理协议(SNMP)

TCP

TCP(Transmission Control Protocol 传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议,

TDS Tabular Data Stream - Sybase/MSSQL

Tabular Data Stream (TDS) 是一种应用程序层的协议, 用来在数据库服务器和客户端之间转移数据.

TNS

Transparence Network Substrate,透明网络底层协议(Oracle)

UDP

用户数据报协议,是OSI(Open System Interconnection,开放式系统互联) 参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务,IETF RFC 768是UDP的正式规范。

XMPP

XMPP是一种基于标准通用标记语言的子集XML的协议,它继承了在XML环境中灵活的发展性。

 

网络数据收集架构

本地收集

本地收集架构需要在要监视的网络或网段上的每个主机上安装通用转发器和Splunk_TA_stream。 本地收集在例如用于从各个网络节点捕获数据的子网环境(例如多层网站)中是有用的。

Splunk App for Stream_第10张图片

SPAN 或 TAP 方式

从网络设备镜像流量出来到专用设备上,在专用设备上分析数据流量。

Splunk App for Stream_第11张图片

SPAN 架构的考虑点

  • 捕获的数据流量是否超过了NIC(网卡)的接收能力?例如1G的NIC肯定无法处理10GB端口镜像出来的流量。
  • SPAN镜像端口是否包含了所有端口的出、入流量?如果是的话,NIC需要更大的带宽。
    • 镜像设备是否生成了NAT数据(即包含了内部网络也包含了互联网的数据流量)?
    • 网络数据流量有多大?根据流量的不同,可能需要进行一些性能调整,以确保系统按预期方式运行。

网络收集部署架构的比较

 

类型

优点

缺点

本地

  • 快速部署(使用deployment server)
  • 更多的数据收集选择(子网)
  • 可以部署在公有云的虚拟机中,而SPAN/TAP的方式无法使用。
  • 单机的资源限制。

SPAN

  • 捕获网络上所有的数据流(高效)
  • 易于收集(单点捕获)
  • 对服务器没有性能影响
  • 需要在网络设备硬件上配置
  • 捕获网络上的所有数据流(安全考虑)
  • 易于收集(单点失败)
  • 难以在公有云环境中使用
  • 受限于网络交换机的性能
  • 比使用TAP方式丢包更多

TAP

  • 捕获网络上的所有数据流(高效)
  • 易于收集(单点捕获)
  • 对服务器没有性能影响对网络设备没有性能影响相比SPAN方式,还原度更高
  • 需要硬件设备
  • 捕获网络上的所有数据流(安全考虑)
  • 易于收集(单点失败)
  • 难以在公有云环境中使用

 

部署架构

Splunk App for Stream_第12张图片

 

Search Head搜索服务器

Search Head上必须要部署splunk_app_stream 和 Splunk_TA_stream 。

Indexers索引服务器

索引服务器上必须要部署Splunk_TA_stream 。

Universal forwarders通用转发器

在捕获网络数据的通用转发器上需要部署Splunk_TA_stream 。

性能情况

 

FAQ

  1. 是否可以添加自定义的协议?

不可以

  1. 是否可以添加自定义的协议?

不可以。

  1. 能否将数据按照协议发送到指定的索引中?

不行。现在Splunk Stream不支持。但是可以使用props.conf 和 transforms.conf来配置。详细的方法参见 Route specific events to a different index.

  1. 是否可以配置终端监听某一个协议?Can I configure endpoints to listen for specific protocols?

可以。可以配置Stream过滤器监听某一个协议的流量。例如,可以使用source_ip(网络流中的常见字段)在DNS服务器上过滤DNS流量。不支持按照主机名过滤。

警告:此配置是高度自定义的配置,需要非常小心和熟悉如何配置。 

  1. Stream可以读取PCAP文件吗?

可以。使用Stream的streamfwd命令可以读取PCAP文件,并将结构化的数据发送到索引中。

./streamfwd -r foo.pcap -s .

参见 Stream command line options.

  1. Stream可以解密数据包和应用数据吗?

可以。可以使用SSL私钥解密 streamfwd 捕获的数据,前提是使用RSA加密算法。

  1. Stream可以解密Diffie-Hellman(SSL key) 流量吗?

不可以。没有办法捕获Diffie-Hellman流量, 无论streamfwd 使用 TAP还是本地模式.

 

商业转载请联系作者获得授权,非商业转载请注明出处。

http://blog.csdn.net/ffjl1985/article/details/78421346

你可能感兴趣的:(大数据,splunk)