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)
Splunk监控软件操作的更多相关文章
- Android手机监控软件设计实现
一.需求分析: 随着IT信息技术的飞速发展,手机的普及,伴随着智能手机的出现及快速的更新换代,手机已不仅仅是一个通信工具,更是一个多功能的应用平台. 手机监控软件则是基于电脑监控软件的原理,植入手机平 ...
- CEPH监控软件
概述 目前主流的Ceph开源监控软件有:Calamari.VSM.Inkscope.Ceph-Dash.Zabbix等,下面简单介绍下各个开源组件. Calamari 概述 Calamari对外提供了 ...
- 删除新版UniAccess Agent 办公室监控软件的方法
UniAccess Agent 是在由LeagSoft开发的监控软件,老版本的一般安装在C:\Program Files\LeagSoft\UniAccess Agent这个目录下,一般找到这个目录点 ...
- Greenplum-cc-web监控软件安装
一环境列表 操作系统 centos6.5 64 Greenplum版本: greenplum-db-4.3.5.3-build-2-RHEL5-x86_64.tar Greenplum集群环境搭建: ...
- 常用开源<监控软件>介绍
转载地址:http://blog.csdn.net/lx_9986/article/details/6803243 一.Zenoss Core Zenoss Core是开源企业级IT管理软件-是智能监 ...
- 自动化监控软件之zabbix安装
自动化监控系统 cacti : 基于snmp(简单的网络管理协议)协议的监控软件,强大的绘图软件 缺点: 自带的监控模板比较少,不能默认 自带监控报警功能(只能自己去官网下载模板) Nagios: 插 ...
- 使用Splunk监控SAP Dump
最近在尝试使用Splunk对SAP系统进行监控,以Dump监控为例,总结了一点相关信息,记录在这里. 本文链接:https://www.cnblogs.com/hhelibeb/p/13260385. ...
- Eclipse for Java EE软件操作集锦(二)
看本文章之前请确保已经了解eclipse建立web工程,如果有疑问请查看本系列文章第一篇 eclipse软件操作集锦(一) 1.我们添加一个servlet 配置一下web.xml测试一下是否能正常显示 ...
- Eclipse for Java EE软件操作集锦(一)
以下是我在Java网站开发过程中,关于软件操作Eclipse中,遇到的一些问题并提供了解决方案.一.java web开发使用的集成开发工具是eclipse for Java EE 官方下载地址:htt ...
随机推荐
- QT串口助手(二):参数配置
作者:zzssdd2 E-mail:zzssdd2@foxmail.com 一.前言 主要实现功能 串口参数的配置:波特率.数据位.停止位.校验位 本机串口设备的查询与添加显示 串口设备的手动更新与打 ...
- Android 代码规范大全
前言 虽然我们项目的代码时间并不长,也没经过太多人手,但代码的规范性依然堪忧,目前存在较多的比较自由的「代码规范」,这非常不利于项目的维护,代码可读性也不够高, 此外,客户端和后端的研发模式也完全不同 ...
- 如何将python中pip源设置为国内源
1.Windows Python的学习过程中,往往会学习到很多库,而安装各类库的时候,往往不尽人意,下载速度从几KB到十几KB.甚至下载到一半还超时报错.这都是因为pip源是访问国外的官方源,如果需要 ...
- 【Soul源码探秘】插件链实现
引言 插件是 Soul 的灵魂. Soul 使用了插件化设计思想,实现了插件的热插拔,且极易扩展.内置丰富的插件支持,鉴权,限流,熔断,防火墙等等. Soul 是如何实现插件化设计的呢? 一切还得从插 ...
- 选出ip记录表最近的10行数据
w select * from wip where id>(select (select max(id)from wip)-10) ;
- 圣诞快乐!OIer挂分小技巧
OIer常犯错误 自己的错误 循环里套return 线段树求和 int 定义,下传 int 定义 cmp<,>号分不清 主观行为举动错误 踢电源线,注意安全(_Destiny) TLE 大 ...
- log4j 动态配置,重启项目配置失效问题
公司项目升级之后,成功去掉了log4j.properties配置文件,实现页面动态配置日志级别. 很经典的两个配置,但是最终还是随着时代的进步而被优化,最终弄成了可配置项 但是随之问题就来了,当我启动 ...
- Spark SQL 自定义函数类型
Spark SQL 自定义函数类型 一.spark读取数据 二.自定义函数结构 三.附上长长的各种pom 一.spark读取数据 前段时间一直在研究GeoMesa下的Spark JTS,Spark J ...
- 设计模式(二)——Java简单工厂模式
简单工厂模式 案例: 披萨的项目(要便于披萨种类的扩展,要便于维护) 1)披萨的种类很多(比如 GreekPizz.CheesePizz 等) 2)披萨的制作有 prepare,bake, cut, ...
- docker(5)docker运行web应用
前言 前面我们运行的容器并没有一些什么特别的用处. 接下来让我们尝试使用 docker 构建一个 web 应用程序. 我们将在docker容器中运行一个 Python Flask 应用来运行一个web ...