什么是Splunk?
介绍
splunk的一个可扩展且可靠的数据平台,用于调查、监控、分析和处理您的数据,在加速创新的同时确保安全性和系统弹性,释放资源来发现数据中的机会并提供创新,即使面对不可预测性也是如此。随着攻击的复杂性和攻击面不断扩大,确保强大的安全态势越来越具有挑战性。Splunk 使客户能够实现其安全运营的现代化,在混合、多云环境中提供更强大、统一的安全态势。结果是:更高效、更敏捷的安全运营中心(SOC) 支持业务增长。随着以数字方式开展的业务的比例持续飙升,系统弹性已成为业务弹性的关键。借助 Splunk,客户可以实时了解其技术堆栈所有层(从底层基础设施到最终用户应用程序)的运行状况和性能,从而能够通过主动发现问题并推动快速解决来优化性能。客户在以数字业务的速度管理其系统的同时,减少了开销并提高了利润。
Splunk的应用场景
按功能划分
- 安全:赋予企业创新能力,同时限制风险
- IT运营:从经营业务到转型
- DevOps开发运维:加速提供卓越的用户体验
按行业划分
- 航空航天与国防:加快创新并降低安全风险,以确保持续获得任务成功。
- 通信:通过智能分析和清晰的分析结果将数据变为行动。
- 能源和公共事业:将 IT 和 OT 环境联系起来,并保持良好的基础设施运行状况和安全态势。
- 金融服务:通过数据分析转变 IT、安全和业务运营方式。
- 医疗:支持远程医疗和远程诊断,保护患者隐私并提高医疗设备的安全性。
- 制造业:通过在单个平台内分析 IT 和 OT数据,监控您的供应链,预测维护需求并以更少的资源完成更多的任务。
Splunk下载与安装
我们学习的主要是Splunk Enterprise。
docker安装(推荐)
镜像下载
docker pull splunk/splunk:8.2.4
创建并运行容器
docker run -d -p 8000:8000 -e "SPLUNK_START_ARGS=--accept-license" -e "SPLUNK_PASSWORD=<password>" --name splunk splunk/splunk:8.2.4
手动安装
科学上网,使用美国ip访问splunk官网或splunk中文网(否则,无法注册账号)
点击Free Splunk或免费试用splunk
注册账号,登录
根据自己的操作系统选择,旧版本可查看Old releases
点击后,浏览器下载,也有命令行下载,例如
linux命令行
wget -O splunk-8.2.4-87e2dda940d1-Linux-x86_64.tgz 'https://download.splunk.com/products/splunk/releases/8.2.4/linux/splunk-8.2.4-87e2dda940d1-Linux-x86_64.tgz'
mac 命令行
wget -O splunk-8.2.4-87e2dda940d1-macosx-10.11-intel.dmg 'https://download.splunk.com/products/splunk/releases/8.2.4/osx/splunk-8.2.4-87e2dda940d1-macosx-10.11-intel.dmg'
Splunk简单使用
登录
访问:http://ip:8000
搜索
点击搜索,尝试使用搜索功能
index="_internal" source="/opt/splunk/var/log/splunk/metrics.log"
详细了解Splunk
Splunk的概念
Indexes-索引
添加数据时,Splunk会将数据解析为事件,提取时间戳,保存到磁盘的索引中,默认是保存到“main”索引中,你可以自建索引,搜索时将从一个或多个索引中搜索。
Events-事件
带有时间戳的数据,如文档、配置文件,报错信息,例如,一个Web相关事件:
173.26.34.223 - - [01/ Mar/2021:12:05:27 -0700] “GET /trade/ app?action=logout HTTP/1.1” 200 2953
Index-time 索引时间、Search-time 搜索时间
索引时间指的是数据从主机读取,被分类成数据源,提取时间戳,被解析为事件,写入到磁盘的索引上的处理过程。
搜索时间指的是从磁盘上的索引搜索事件并从事件中提取字段的处理过程。
Metrics-指标
一个指标数据点包含时间戳和一个或多个测量值。例如
Timestamp: 08-05-2020 16:26:42.025
-0700
Measurement: metric_name:os.cpu.
user=42.12, metric_name:max.size.
kb=345
Dimensions: hq=us-west-1,
host-主机和source-资源
host是物理或虚拟设备的名字,source可以是目录、文件、数据流,source-type可以是协议等标识符。前面搜索结果中的splunkd就是指xxx.log是来自splunk服务端。
Fields-字段
fields就是键值对,不是所有的事件都有相同的字段。Splunk会在返回结果时根据你的搜索语句进行字段提取,也可以利用字段提取器通过正则等来提取字段,这是和Elastic Search的一个区别。
Tags-标签
可以把标签指定到某个字段或字段的集合,来搜索包含特定字段的事件。
核心特性
Search-搜索
搜索是用户得到想要的数据的主要方式,可以使用计算指标的搜索语句来检索事件并将搜索保存为报告,通过仪表盘进行可视化。所以,学好SPL吧!!!
Reports-报告
报告是保存的搜索,可以执行、定期执行来生成警报。报告可以添加到仪表盘。
Dashboards-仪表盘
仪表盘由面板组成,其中包含搜索框、字段和数据可视化等模块。仪表板通常是连接到报告。他们可以展示已完成搜索的结果,以及来自实时搜索的数据。
Alerts-警报
符合条件时会触发警报,可以通过历史搜索或事实搜索触发警报,警报可以通过电子邮件等方法发到您的手中。
以下为其他特性
Datasets-数据集
可以创建和管理不同类型的数据集,如数据模型、表数据集(Table Datasets),
Data Model-数据模型
Table Datasets-表数据集
表数据集时集中的、精心策划的事件数据集合,可以通过Table Views来定义和管理强大的表数据集,Table Views是SPL和可视化用户界面的翻译工具,不需要很了解SPL就能使用。
Apps-应用
应用是配置、仪表盘等的一个集合,应用扩展了Splunk,可以创建为网络安全人员、企业管理员提供服务的应用。
Distributed Search-分布式搜索
将搜索和表示层分离,就是使用集群来进行分布式搜索,提高性能和可扩展性。
系统组件
Forwarders-转发器
将数据转发到另一个Splunk实例的Splunk实例称为转发器。
Indexer-索引器
索引器将原始数据转换为事件,并将事件存储到索引中。索引器还根据搜索请求搜索索引数据。搜索对等点是索引器,用于满足来自搜索头的请求。
Search Head-搜索头部
在分布式搜索环境中,搜索头部是将搜索请求定向到一组搜索对等点的Splunk实例,将结果合并返回给用户。如果实例只进行搜索而不进行索引,则通常称为专用搜索头。
参考
官网 - Splunk | Turn Data Into Doing
中文官网 - SIEM、AIOps、应用程序管理、日志管理、机器学习和法规遵从性 | Splunk
Docker Hub - Splunk
Splunk社区 : Community - Splunk Community
splunk快速入门指南