您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码:  验证码,看不清楚?请点击刷新验证码 必填



  求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Model Center   Code  
会员   
   
 
     
   
 订阅
  捐助
Splunk学习与实践
 
作者:Eleven_Liu
  685  次浏览      
 2020-4-3
 
编辑推荐:
本文主要介绍Splunk的几个重要组件,Splunk分布式部署以及环境安装和配置,最后运用简单应用实例—手工添加数据,希望对您的学习有所帮助。
本文来自于博客园,由火龙果软件Alice编辑、推荐。

一、 Splunk公司与产品

美国Splunk公司,成立于2004年,2012年纳斯达克上市,第一家大数据上市公司,荣获众多奖项和殊荣。总部位于美国旧金山,伦敦为国际总部,香港设有亚太支持中心,上海设有海外第一个研发中心。

产品:Splunk Enterprise【企业版】、Splunk Free【免费版】、Splunk Cloud、Splunk Hunk【大数据分析平台】、Splunk Apps【基于企业版的插件】等。企业版按索引的数据量收费,免费版每天最大数据索引量500MB,可使用绝大多数企业版功能。

二、 Splunk能够做什么

让所有人均可访问机器数据、让机器数据对所有人有用并具有价值!Splunk是机器数据的引擎,使用Splunk可收集、索引和利用所有应用程序、服务器和设备生成的快速移动型计算机数据。使用Splunk处理计算机数据,可让您在几分钟内解决问题和调查安全事件;使用Splunk可以监视您的端对端基础结构,避免服务性能降低或中断;以较低成本满足合规性要求;关联并分析跨越多个系统的复杂事件,获取新层次的运营可见性以及 IT 和业务智能。

每个环境都有独特的机器数据空间,以下是一些示例:

三、 Splunk架构与组件

架构最下层:Splunk通过监控文件和目录、监控网络端口、运行脚本的方式获取数据。

Data Routing Cloningand and Load Balancing:数据复制与负载均衡,

Index:顾名思义,它跟索引有关,实际上他不仅仅负责为数据建立索引,还负责响应查找索引数据的用户请求,还有读取数据和负责查找管理工作。虽然indexer可以在查找它本身的数据,但是,在多indexer的集群中,可以通过叫“search head”的组件来整合多个indexer,对外提供统一的查询管理和服务。

Search:专用的搜索语言,原始事件搜索、报表生成搜索,并可在搜索中自动学习“知识”,用户也可以自定义知识,从而使搜索越来越智能。

最上面两层:各类报表、告警,以命令行窗口,web图形界面接口和其他接口。

Splunk的几个重要组件:

索引器:索引器是用于为数据创建索引的Splunk Enterprise 实例。索引器将原始数据转换为事件并将事件存储至索引(Index)中。索引器还搜索索引数据,以响应搜索请求。

搜索头:在分布式搜索环境中,搜索头是处理搜索管理功能、指引搜索请求至一组搜索节点,然后将结果合并返回至用户的Splunk Enterprise 实例。如果该实例仅搜索不索引,通常被称为专用搜索头。

搜索节点:在分布式搜索环境中,搜索节点是建立索引并完成源自搜索头搜索请求的Splunk Enterprise实例。

转发器:转发器是将数据转发至另一个Splunk Enterprise 实例(索引器或另一个转发器)或至第三方系统的Splunk Enterprise 实例。

接收器:接收器是经配置从转发器接收数据的Splunk Enterprise 实例。接收器为索引器或另一个转发器。

应用:应用是配置、知识对象和客户设计的视图和仪表板的集合,扩展Splunk Enterprise 环境以适应Unix 或Windows 系统管理员、网络安全专家、网站经理、业务分析师等组织团队的特定需求。单个Splunk Enterprise 安装可以同时运行多个应用。

四、 Splunk分布式部署

如果系统平台比较大,产生的数据量比较大,那么可以不断扩展splunk集群,splunk具备这种扩展能力。用户可以部署任意多个forwarder,用来转发刚刚产生的原始数据。Indexer也可以部署成为一个集群,统一下层提供接收原始数据、建立索引的服务,对上层提供搜索的服务。用户还可以部署多台用于搜索的Search Header。所以,用户可以根据自己平台的实际工作量来部署自己的splunck集群大小。

五、 Splunk的安装

Splunk支持在各类操作系统上安装,下面以Linux系统安装为例:

1、上传splunk安装包splunk-6.4.2-00f5bb3fa822-Linux-x86_64.tgz至/opt目录。

2、解压安装压缩包

/tar –zxvf splunk-6.4.2-00f5bb3fa822-Linux-x86_64.tgz //解压,解压异常请注意文件上传是否正确。

3、进入splunk命令文件夹(bin)

cd /opt/splunk/bin //进入splunk bin目录

4、检查splunk状态

./splunk status //检查splunk状态是否正常,第一次会弹出license告知,按提示点击确定

5、启动splunk

./splunk start //启动splunk

./splunk status //检查启动状态

6、Splunk默认web登陆端口是8000,在浏览器中http://ip:8000,可第一次登陆,如果无法登陆请检查本机防火墙。

默认用户名:admin,密码:changeme,第一次登陆成功后要求重置密码。

7、设置splunk开机启动

./splunk enable boot-start

8、查看splunk进程信息

ps –f | grep splunk

六、 Splunk卸载

1、进入splunk文件夹

cd /opt/splunk/bin

2、检查splunk状态

./splunk status

3、关闭splunk服务

/splunk stop

4、删除splunk安装目录

rm –rf /opt/splunk

七、 Splunk基本配置

所有的设置基本上都可以通过Web页面和splunk CLI命令两种方式。

1、Web页面:

可修改splunk主机名、管理端口、web登陆端口,修改后需重启splunk生效。

2、CLI命令

./splunk start //启动

./splunk stop //关闭

./splunk restart //重启

./splunk status //查看状态

./splunk version //查看版本

./splunk show splunkd-port //查看管理端口

./splunk show web-port //查看web登陆管理端口

./splunk set web-port 80 //修改web登陆管理端口为80

./splunk set servername //新的服务器名称 //设置服务器名称

./splunk set default-hostname 新的主机名称 //设置默认主机名称

./splunk enable web-ssl //启用SSL

./splunk disable web-ssl //关闭SSL

./splunk edit user admin –password ‘newpassword’ –authadmin:oldpassword //修改用户密码

./splunk add user //新增用户

./splunk add user 新的用户名 -password ‘新用户密码’ -full-name ‘设置它的全名’ –role User(这个是角色)

./splunk list user //列出用户

./splunk remove user //删除用户

八、 简单应用实例——手工添加数据

1、点击Splunk首页——添加数据——上载

2、选择要上传的文件,按提示点击确定

3、上传完成后,splunk会自动生成字段,也可以按需要根据“正则表达式”或“分隔符”自己提取字段

4、可以根据需要进行各类搜索、计算,如何搜索需要学习splunk的SPL搜索语言,推荐阅读《Splunk实践指南_》

九、 简单应用实例——监控splunk本地的数据

1、点击splunk首页——添加数据——监视——文件和目录

2、选择“浏览”,添加需要监控的本地目录,索引、目录都可以先选择默认,在稍后在做具体解释。

3、添加完成后,实时监视文件变化,也可以进行搜索了。

十、 简单应用实例——监控远程服务器数据

可以通过syslog或splunk通用转发器,把远程服务器的数据传到splunk服务器进行监视,下面重点介绍splunk通用转发器的使用。

(一)、splunkforwarder安装与配置

1、在需要收集日志的服务器上安装splunkforwarder

2、切换至splunkforwarder的可执行目录(bin),启用转发器

./splunk start //根据提醒点确定

3、查看通用转发器的端口(默认用户名:admin、密码:changeme)

./splunk show splunkd-port

4、修改通用转发器的密码

/splunk edit user admin -password ‘新密码’ -role admin -auth admin:changeme

(二)、下面我们将远程服务器的 /var/log/audit/发给splunk

1、先到splunk上为这个实例创建一个索引,使用默认索引也可以,但建议为主要应用创建各自的索引

通过命令创建索引(也可以通过web页面创建)

./splunk add index linux_audit

2、在splunkforwarder服务器上添加一个监控项

./splunk add monitor /var/log/audit –index linux_audit

3.添加splunk接收服务器和接口

./splunk add forward-server 192.168.40.129:9997

4.查看转发服务器

./splunk list forward-server

5.splunk服务器上检查开启监听端口

./splunk enable listen 要启用的端口号 // 开启splunk接收的指定端口

./splunk disable listen 要禁用的端口号 // 关闭splunk接收的指定端口

./splunk display listen // 显示已启用的splunk接收的端口

(三)、登陆Web页面,查看搜索

1、index=“linux_audit”(支持命令的自动补全)

十一、 利用Splunk搭建SOC平台

收集一切可以收集的数据(IDS、出入口流量、防病毒、端口扫描等各类信息安全软件、工具的日志),利用Splunk进行监控、告警、根据需要快速搜索、生成报表,举例如下:

1、通过Security Onion App for Splunk software,监控出入口网络流(包括IDS威胁监控、外网开放端口监控、各协议的连接监控……)

2、外网IP开放端口扫描

Nmap扫描日志自动上传至Splunk,在仪表盘中制定关注的面板(如高危端口开放展示等)。

 

 
   
685 次浏览       
相关文章

DevOps转型融入到企业文化
DevOps 能力模型、演进及案例剖析
基于 DevOps 理念的私有 PaaS 平台实践
微软开发团队的DevOps实践启示
相关文档

DevOps驱动应用运维变革与创新
运维管理规划
如何实现企业应用部署自动化
运维自动化实践之路
相关课程

自动化运维工具(基于DevOps)
互联网运维与DevOps
MySQL性能优化及运维培训
IT系统运维管理
 
最新课程计划
 
最新文章
DevOps 道法术器,立体化实施框架
DevOps 中高效测试基础架构的最佳实践
DevOps 在公司项目中的实践落地
如何基于 Kubernetes 构建完整的 DevOps 流水线
阿里云Kubernetes实战
最新课程
DevOps体系实践、工具与平台
基于Kubernetes的DevOps实践
互联网运维与DevOps
基于Kubernetes构建企业容器云
企业级DevOps工作体系与平台
更多...   
成功案例
北京 DevOps体系实践、工具与平台
神龙汽车 DevOps体系实践、工具与平台
中国移动通信 网络规划与管理
某航空公司 IT规划与企业架构
某金融公司 IT服务管理(ITIL V3)
更多...