当前位置: 首页 > 编程日记 > 正文

Splunk学习与实践

 

一、  Splunk公司与产品

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

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

二、  Splunk能够做什么

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

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

数据类型

位置

可以做什么

应用日志

本地日志文件、log4j、log4net、Weblogic、WebSphere、JBoss、.NET、PHP

用户活动、欺诈检测、应用性能

业务流程日志

业务流程管理日志

跨渠道客户活动、购买、帐户变更以及问题报表

呼叫详细信息记录

呼叫详细信息记录 (CDR)、计费数据记录、事件数据记录均由电信和网络交换机所记录。

计费、收入保证、客户保证、合作伙伴结算,营销智能

点击流数据

Web 服务器、路由器、代理服务器和广告服务器

可用性分析、数字市场营销和一般调查

配置文件

系统配置文件

如何设置基础设施、调试故障、后门攻击、"定时炸弹"病毒

数据库审计日志

数据库日志文件、审计表

如何根据时间修改数据库数据以及如何确定修改人

文件系统审计日志

敏感数据存储在共享文件系统中

监测并审计敏感数据读取权限

管理并记录 API

通过 OPSEC Log Export API (OPSEC LEA) 和其他 VMware 和 Citrix 供应商特定 API 的 Checkpoint 防火墙

管理数据和日志事件

消息队列

JMS、RabbitMQ 和 AquaLogic

调试复杂应用中的问题,并作为记录应用架构基础

操作系统度量、状态和诊断命令

通过命令行实用程序(例如 Unix 和 Linux 上的 ps 与 iostat 以及 Windows 上的性能监视器)显示的 CPU、内存利用率和状态信息

故障排除、分析趋势以发现潜在问题并调查安全事件

数据包/流量数据

tcpdump 和 tcpflow 可生成 pcap 或流量数据以及其他有用的数据包级和会话级信息

性能降级、超时、瓶颈或可疑活动可表明网络被入侵或者受到远程攻击

SCADA 数据

监视控制与数据采集 (SCADA)

识别 SCADA 基础结构中的趋势、模式和异常情况,并用于实现客户价值

传感器数据

传感器设备可以根据监测环境条件生成数据,例如气温、声音、压力、功率以及水位

水位监测、机器健康状态监测和智能家居监测

Syslog

路由器、交换机和网络设备上的 Syslog

故障排除、分析、安全审计

Web 访问日志

Web 访问日志会报告 Web 服务器处理的每个请求

Web 市场营销分析报表

Web 代理日志

Web 代理记录用户通过代理发出的每个 Web 请求

监测并调查服务条款以及数据泄露事件

Windows 事件

Windows 应用、安全和系统事件日志

使用业务关键应用、安全信息和使用模式检测问题。

线上数据

DNS 查找和记录,协议级信息,包括标头、内容以及流记录

主动监测应用性能和可用性、最终客户体验、事件调查、网络、威胁检测、监控和合规性

三、  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,在仪表盘中制定关注的面板(如高危端口开放展示等)。

转载于:https://www.cnblogs.com/Eleven-Liu/p/7193959.html

相关文章:

VUE v-if 和 v-for 的使用示例 VUE根据下标改变图片路径

QQ技术交流群 173683866 526474645 欢迎加入交流讨论&#xff0c;打广告的一律飞机票 v-if 和 v-else v-for <div class"" v-for"(item,index) in [1,1,1,1,1,1,1,1,1,1]"><img v-if"helpeds0" class"tou1" :style"{…

聊天软交互原理_来自不同城市的人们如何在freeCodeCamp聊天室中进行交互

聊天软交互原理by Dborah Mesquita由DborahMesquita 来自不同城市的人们如何在freeCodeCamp聊天室中进行交互 (How people from different cities interact in the freeCodeCamp chatrooms) 推理统计入门以及如何使用spaCy从文本中提取信息 (A primer on Inferential statisti…

使用微信的JS-SDK实现自定义分享到微信朋友圈

QQ技术交流群 173683866 526474645 欢迎加入交流讨论&#xff0c;打广告的一律飞机票 实现代码 <!DOCTYPE html> <html><head><meta name"viewport" content"widthdevice-width, initial-scale1.0, user-scalableno, minimum-scale1.0, …

[Unity3D]Unity3D连衣裙实现游戏开发系统

大家好&#xff0c;我是秦培。欢迎关注我的博客&#xff0c;我的博客地址blog.csdn.net/qinyuanpei。 不知从什么时候開始&#xff0c;国产RPG单机游戏開始出现换装&#xff0c;仙剑系列中第一部实现了换装的游戏是仙剑奇侠传四&#xff0c;后来原上海软星团队。眼下的烛龙科技…

python中nlp的库_单词袋简介以及如何在Python for NLP中对其进行编码

python中nlp的库by Praveen Dubey通过Praveen Dubey 单词词汇入门以及如何在Python中为NLP 编写代码的简介 (An introduction to Bag of Words and how to code it in Python for NLP) Bag of Words (BOW) is a method to extract features from text documents. These featur…

机器学习:计算学习理论

计算学习理论介绍 关键词&#xff1a; 鲁棒性 关键词&#xff1a; 【机器学习基础】理解为什么机器可以学习1——PAC学习模型--简书 关键词&#xff1a;存在必要性&#xff1b;从机器学习角度出发 PAC学习理论&#xff1a;机器学习那些事 关键词&#xff1a;不错的大道理 如果相…

HTML超出部分滚动效果 HTML滚动 HTML下拉 附效果图

QQ技术交流群 173683866 526474645 欢迎加入交流讨论&#xff0c;打广告的一律飞机票 H5 效果图 实现代码 <!DOCTYPE html> <html><head><meta charset"utf-8"><title>Bootstrap 实例 - 滚动监听&#xff08;Scrollspy&#xff09;…

编写高质量代码改善C#程序的157个建议——建议148:不重复代码

建议148&#xff1a;不重复代码 如果发现重复的代码&#xff0c;则意味着我们需要整顿一下&#xff0c;在继续前进。 重复的代码让我们的软件行为不一致。举例来说&#xff0c;如果存在两处相同的加密代码。结果在某一天&#xff0c;我们发现加密代码有个小Bug&#xff0c;然后…

求职者提问的问题面试官不会_如何通过三个简单的问题就不会陷入求职困境

求职者提问的问题面试官不会by DJ Chung由DJ Chung 如何通过三个简单的问题就不会陷入求职困境 (How to get un-stuck in your job search with three simple questions) 您甚至不知道为什么会被卡住&#xff1f; (Do you even know why you’re stuck?) Your job search can…

不能交换到解决jenkins用户的问题

su - jenkins始终有效&#xff0c;今centos无效&#xff0c;因为/etc/password在文档/bin/bash是yum当安装到/bin/false.之后可以改变。ubuntu安装包和yum安装包的行为不一致啊。版权声明&#xff1a;本文博主原创文章&#xff0c;博客&#xff0c;未经同意&#xff0c;不得转载…

HTML引用公共组件

QQ技术交流群 173683866 526474645 欢迎加入交流讨论&#xff0c;打广告的一律飞机票 在test.html引用footer.html 效果图 代码 test.html <!DOCTYPE html> <html><head><meta charset"utf-8"><title>引用demo</title><s…

Hadoop自学笔记(二)HDFS简单介绍

1. HDFS Architecture 一种Master-Slave结构。包括Name Node, Secondary Name Node,Data Node Job Tracker, Task Tracker。JobTrackers: 控制全部的Task Trackers 。这两个Tracker将会在MapReduce课程里面具体介绍。以下具体说明HDFS的结构及其功能。 Name Node:控制全部的Dat…

如何为Linux设置Docker和Windows子系统:爱情故事。 ?

Do you sometimes feel you’re a beautiful princess turned by an evil wizard into a frog? Like you don’t belong? I do. I’m a UNIX guy scared to leave the cozy command line. My terminal is my castle. But there are times when I’m forced to use Microsoft …

再谈Spring Boot中的乱码和编码问题

编码算不上一个大问题&#xff0c;即使你什么都不管&#xff0c;也有很大的可能你不会遇到任何问题&#xff0c;因为大部分框架都有默认的编码配置&#xff0c;有很多是UTF-8&#xff0c;那么遇到中文乱码的机会很低&#xff0c;所以很多人也忽视了。 Spring系列产品大量运用在…

UDP 构建p2p打洞过程的实现原理(持续更新)

UDP 构建p2p打洞过程的实现原理(持续更新) 发表于7个月前(2015-01-19 10:55) 阅读&#xff08;433&#xff09; | 评论&#xff08;0&#xff09; 8人收藏此文章, 我要收藏赞08月22日珠海 OSC 源创会正在报名&#xff0c;送机械键盘和开源无码内裤 摘要 UDP 构建p2p打洞过程…

Vue父组件网络请求回数据后再给子组件传值demo示例

QQ技术交流群 173683866 526474645 欢迎加入交流讨论&#xff0c;打广告的一律飞机票 这里demo使用延迟执行模拟网络请求&#xff1b;父组件给子组件需要使用自定义属性 Prop &#xff0c;下面是示例代码&#xff1a; <!DOCTYPE html> <html> <head> <me…

gulp-sass_如果您是初学者,如何使用命令行设置Gulp-sass

gulp-sassby Simeon Bello通过Simeon Bello I intern at a tech firm presently, and few days ago I got a challenge from my boss about writing an article. So I decided to write something on Gulp-sass. Setting it up can be frustrating sometimes, especially when…

MyEclipse快捷键

MyEclipse快捷键 Ctrl1 快速修复CtrlD: 删除当前行 CtrlQ 定位到最后编辑的地方 CtrlL 定位在某行 CtrlO 快速显示 OutLine CtrlT 快速显示当前类的继承结构 CtrlW 关闭当前Editer CtrlK 快速定位到下一个 CtrlE 快速显示当前Editer的下拉列表CtrlJ 正向增量查找(按下C…

关于UNION和UNION ALL的区别

今天在运行程序的时候发现个问题&#xff0c;就是计算和的时候两条数据一样的话自动去除重复的&#xff0c;可是我这个程序需要重复的数据也算进来呀&#xff0c;然后就找原因&#xff0c;最后在sql语句中找到了是union和union all的问题&#xff0c;简单总结一下下。 当使用到…

html 写一个日志控件 查看log

QQ技术交流群 173683866 526474645 欢迎加入交流讨论&#xff0c;打广告的一律飞机票 使用场景&#xff0c; 示例访问&#xff1a;https://weixin.njkeren.cn/test1.html?user12 得到的效果图 实现代码 <!DOCTYPE html> <html><head><meta charset&q…

python开源项目贡献_通过为开源项目做贡献,我如何找到理想的工作

python开源项目贡献by Utsab Saha由Utsab Saha 通过为开源项目做贡献&#xff0c;我如何找到理想的工作 (How I found my dream job by contributing to open source projects) One of the concerns I often hear about from my coding students is, “How am I going to land…

JSON解析与XML解析的区别

JSON与XML的区别比较 1.定义介绍 (1).XML定义扩展标记语言 (Extensible Markup Language, XML) &#xff0c;用于标记电子文件使其具有结构性的标记语言&#xff0c;可以用来标记数据、定义数据类型&#xff0c;是一种允许用户对自己的标记语言进行定义的源语言。 XML使用DTD(d…

[matlab]Monte Carlo模拟学习笔记

理论基础&#xff1a;大数定理&#xff0c;当频数足够多时&#xff0c;频率可以逼近概率&#xff0c;从而依靠概率与$\pi$的关系&#xff0c;求出$\pi$ 所以&#xff0c;rand在Monte Carlo中是必不可少的&#xff0c;必须保证测试数据的随机性。 用蒙特卡洛方法进行计算机模拟的…

vue 网络请求 axios vue POST请求 vue GET请求 代码示例

QQ技术交流群 173683866 526474645 欢迎加入交流讨论&#xff0c;打广告的一律飞机票 1.安装 axios 和 vue-axios 和 qs &#xff08;qs是为了解决post默认使用的是x-www-from-urlencoded 请求&#xff0c;导致请求参数无法传递到后台&#xff09; $ npm install --save axio…

bff v2ex_语音备忘录的BFF-如何通过Machine Learning简化Speech2Text

bff v2exby Rafael Belchior通过拉斐尔贝尔基奥尔(Rafael Belchior) 语音备忘录的BFF-如何通过Machine Learning简化Speech2Text (The voice memo’s BFF — how to make Speech2Text easy with Machine Learning) Do you think recording voice memos is inconvenient becaus…

pat1094. The Largest Generation (25)

1094. The Largest Generation (25) 时间限制200 ms内存限制65536 kB代码长度限制16000 B判题程序Standard作者CHEN, YueA family hierarchy is usually presented by a pedigree tree where all the nodes on the same level belong to the same generation. Your task is to …

web-view里面的网页能请求未配置的request域名吗

QQ技术交流群 173683866 526474645 欢迎加入交流讨论&#xff0c;打广告的一律飞机票 可以

.NET调用JAVA的WebService方法

调用WebService&#xff0c;最简单的办法当然是直接添加WEB引用&#xff0c;然后自动产生代理类&#xff0c;但是在调用JAVA的WebService时并没有这么简单&#xff0c;特别是对于SoapHeader的处理&#xff0c;在网上也有相关资料&#xff0c;但是都整理的不够清晰明了。根据网上…

适合初学者的数据结构_数据结构101:图-初学者的直观介绍

适合初学者的数据结构了解您每天使用的数据结构 (Get to know the data structures that you use every day) Welcome! Let’s Start with Some Vital Context. Let me ask you something:✅ Do you use Google Search? ✅ Do you use Google Maps? ✅ Do you use social med…

深入解析CSS样式层叠权重值

本文为转载内容&#xff0c;源地址&#xff1a;http://www.ofcss.com/2011/05/26/css-cascade-specificity.html 读到《重新认识CSS的权重》这篇&#xff0c;在文章最后给出了便于记忆的顺序&#xff1a; “important > 内联 > ID > 类 > 标签 | 伪类 | 属性选择 &…