前言

Splunk作为一款成熟的商业化日志处理分析产品无论在功能上还是用户体验上都是令人满意的,而开源方案ELK(Elasticsearch+Logstash+Kibana)相信也有很多朋友考虑或者正在使用,我在这里不想讨论孰优孰劣因为不同的业务场景出发点不同,共存也是不错的选择。文章通过1天的Splunk官方培训记录相关基础概念和动手实验,Splunk上手速度灰常快不过也需要掌握正则表达式,欢迎大家一起学习哈。

Splunk智能运维,挖掘数据的价值

更新记录

2018年11月21日 - 增加与Ansible结合的用法
2016年03月22日 - 初稿

阅读原文 - https://wsgzao.github.io/post/splunk/

扩展阅读

Splunk - http://www.splunk.com/
正则表达式30分钟入门教程 - http://deerchao.net/tutorials/regex/regex.htm

机器数据

机器数据中包含客户、用户、交易、应用程序、服务器、网络和手机设备所有活动和行为的明确记录。不仅仅包含日志。还包括配置、API 中的数据、消息队列、更改事件、诊断命令输出、工业系统呼叫详细信息记录和传感器数据等。

计算机数以未知格式的阵列存储,监测和分析工具的传统集并未为多样性、速率、数据量、可变性设计。一个专为此独特类型数据设计的全新方法,必须可以快速诊断服务问题、检测复杂信息安全威胁、远程设备的健康状况和性能,以及说明合规性。

机器数据源

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

数据类型 位置 它可以告诉您什么
应用日志 本地日志文件、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 查找和记录,协议级信息,包括标头、内容以及流记录 主动监测应用性能和可用性、最终客户体验、事件调查、网络、威胁检测、监控和合规性

实验准备

免费版每天最多可对 500 MB 数据建立索引

Splunk Enterprise - http://www.splunk.com/zh-hans_cn/download/splunk-enterprise.html

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
file://C:\Users\wsgzao\Desktop\splunk_workshop  (2 folders, 3 files, 26.20 MB, 48.25 MB in total.)
│ sampledata-selected.zip 323.36 KB
│ splunk.pdf 24.02 MB
│ tutorialdata.zip 1.86 MB
├─sampledata-selected (0 folders, 3 files, 4.07 MB, 4.07 MB in total.)
│ access.log 4.06 MB
│ http_status.csv 1.34 KB
│ prices.csv 630 bytes
└─tutorialdata (5 folders, 0 files, 0 bytes, 17.99 MB in total.)
├─mailsv (0 folders, 1 files, 1.06 MB, 1.06 MB in total.)
│ secure.log 1.06 MB
├─vendor_sales (0 folders, 1 files, 1.96 MB, 1.96 MB in total.)
│ vendor_sales.log 1.96 MB
├─www1 (0 folders, 2 files, 5.18 MB, 5.18 MB in total.)
│ access.log 4.06 MB
│ secure.log 1.12 MB
├─www2 (0 folders, 2 files, 4.87 MB, 4.87 MB in total.)
│ access.log 3.85 MB
│ secure.log 1.02 MB
└─www3 (0 folders, 2 files, 4.91 MB, 4.91 MB in total.)
access.log 3.86 MB
secure.log 1.05 MB

动手实验

安装Splunk极其简单,这里以Windows为例

http://localhost:8000/zh-CN/
http://localhost:8000/en-US/

Search App:数据导入,了解splunk搜索界面,执行基本搜索
Field:了解Splunk字段含义;字段提取;字段对照
SPL:使用SPL(SplunkSearchProcessingLanguage)指令实现目标场景
Businessused cases:场景实现,自定义仪表盘制作

Objectives of workshop

  • Learn how to start indexing machine data in Splunk.
  • Leverage these machine data for reporting and learn some of the common reporting commands.
  • Learn to use searches to pull out data of importance.
  • Get an idea on an unique Splunk feature called “schema-on-the-fly”, and understand how to apply such “Fields” to machine data to make IT and business sense.
  • Learn how to build and share dashboards during the class.
  • Get an idea how to create data model and create pivot reports*
  • You can re-run the whole workshop after this session anywhere
  • Q&A

实验过程

我觉得操作都很简单,大家可以多参考官方的Splunk Documentation

http://docs.splunk.com/Documentation
http://docs.splunk.com/Documentation/Splunk/latest/Translated/SimplifiedChinesemanuals

正则表达式30分钟入门教程 - http://deerchao.net/tutorials/regex/regex.htm

高级参数

举个栗子

编辑来源类型: _json

  • MAX_ EVENTS: 99999
  • TRUNCATE: 99999999
文章目录
  1. 1. 前言
  2. 2. 更新记录
  3. 3. 机器数据
    1. 3.1. 机器数据源
  4. 4. 实验准备
  5. 5. 动手实验
  6. 6. 高级参数