splunk简介

https://www.splunk.com/zh-hans_cn/download.html

splunk 简体中文版手册

http://docs.splunk.com/Documentation/Splunk/6.5.0/Translated/SimplifiedChinesemanuals
========================================================

Splunk 是面向云的日志搜索引擎。使用 Splunk 可收集、索引和利用所有应用程序、服务器和设备
(物理、虚拟和云中)生成的快速移动型计算机数据 。从一个位置搜索并分析所有实时和历史数据。使
用 Splunking 处理计算机数据,可让您在几分钟内(而不是几个小时或几天)解决问题和调查安全事件。
监视您的端对端基础结构,避免服务性能降低或中断。以较低成本满足合规性要求关联并分析跨越多个系
统的复杂事件。获取新层次的运营可见性以及 IT 和业务智能。

功能特性
1、多平台支持
2、从任意源索引任意数据
3、从远程系统转发数据
4、关联复杂事件
5、专为大型数据构建
6、在整个数据中心扩展
7、提供角色型的安全性

Splunk安装

如果你是第一次访问Splunk网站,需要先注册一个Splunk用户,默认下载的是60天Enterprise试用版,60天试用之后将自动转化为Free版,

转化位Free版后每日处理的日志量最高位500M。

========================================================
安装Splunk
1. 确保/opt有足够的空间
2. 安装Splunk

[root@root rpms]# ls
splunk-5.0.2-149561-linux-2.6-x86_64.rpm
splunkforwarder-5.0.2-149561-linux-2.6-x86_64.rpm [root@root rpms]# rpm -ivh splunk-5.0.2-149561-linux-2.6-x86_64.rpm
[root@root rpms]# ls /opt/splunk/
bin lib share
etc license-eula.txt splunk-5.0.2-149561-Linux-i686-manifest
ftr openssl
include README-splunk.txt

启动Splunk

[root@root rpms]# /opt/splunk/bin/splunk start
[root@root rpms]# /opt/splunk/bin/splunk status
splunkd is running (PID: 9116).
splunk helpers are running (PIDs: 9118).
splunkweb is running (PID: 9167).

配置环境变量:

[root@root ~]# vim .bash_profile
SPLUNK_HOME=/opt/splunk
PATH=$PATH:$SPLUNK_HOME/bin
export SPLUNK_HOME PATH
[root@root ~]# source .bash_profile
[root@root ~]# env |grep SPLUNK
SPLUNK_HOME=/opt/splunk

设置开机启动:

[root@root ~]# splunk enable boot-start
Init script installed at /etc/init.d/splunk.
Init script is not configured to run at boot.
[root@root ~]# chkconfig splunk --list
splunk 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭
[root@root ~]# service splunk restart

登录Web管理界面

[root@root ~]# firefox http://localhost:8000 &

Splunk授权使用

第一次安装好splunk后,Splunk会给你一个60天试用Enterprise版的授权,其允许最多每天500M的日志索引量,这个授权包含着我们的安装包中。
Enterprise授权提供如下Free版中没有的功能功能:
1.多用户使用和存取控制
2.分布式检索和数据路由
3.快捷管理部署及以tcp/http方式传输
4.告警和监控
60天后你将无法使用Enterprise版功能,splunk系统自动降级位Free版,如果你在试用后很喜欢splunk,并且需要更多的授权日志检索量,你可以向Splunk公司购买相应的授权。你付款成功后将收到由Splunk发送来的电子邮件,邮件中将以附件的形式发送授权文件,保存授权文件后,你可以进入splunk.uplooking.com页面添加授权文件来完成授权的动作。
打开浏览器后,登陆splunk,在右上角点击“管理器”,找到“系统”项目,点击其中的“授权”项目,点击“添加许可证”,找到你的授权文件,并添加入许可证组。

Splunk导入本地日志
========================================================

一、添回数据
添加数据---->选择数据类型(syslog) ---->使用此 Splunk 服务器上的任何 syslog 文件或目录---->
在索引之前预览数据(/var/log/messages)---->继续 ---->继续 ---->保存

二、搜索日志示例

source="/var/log/secure" 192.168.2.125
source="/var/log/secure" AND 192.168.2.125
source="/var/log/secure" AND 192.168.2.125 AND user=root NOT failures
source="/var/log/secure" AND 192.168.2.125 AND user=root AND failures

Splunk导入远程Apache日志
========================================================

Splunk server 192.168.2.126 端口9997
Splunk Forwarders 192.168.2.125

一、服务器端配置接收
管理器---->数据(转发和接收) ---->接收数据(新增) ---->端口9997 ---->保存
注意iptables

二、客户端配置Forward
0. 目标将该目录中的所有日志转发到Splunk server

[root@web_splunk ~]# ls /var/log/httpd/
access_log error_log

1. 安装&启动

[root@web_splunk rpms]# rpm -ivh splunkforwarder-5.0.2-149561.i386.rpm
[root@web_splunk rpms]# /opt/splunkforwarder/bin/splunk enable boot-start
[root@web_splunk rpms]# chkconfig splunk on
[root@web_splunk rpms]# service splunk start

2. 配置转发日志

[root@web_splunk ~]# /opt/splunkforwarder/bin/splunk add forward-server 192.168.5.240:9997
Splunk username: admin
Password: changeme
Added forwarding to: 192.168.2.126:9997. [root@web_splunk ~]# cd /opt/splunkforwarder/etc/system/local/
[root@web_splunk local]# ls
inputs.conf outputs.conf README server.conf [root@web_splunk local]# cat outputs.conf //转发目标地址
[tcpout]
defaultGroup = default-autolb-group [tcpout:default-autolb-group]
server = 192.168.2.126:9997
[tcpout-server://192.168.2.126:9997] [root@web_splunk local]# cat inputs.conf
[default]
host = web_splunk
[monitor:///var/log/httpd] //要转发的日志 [root@web_splunk ~]# service splunk restart

测试:

注意:0字节的日志文件不会被转发
我们多次访问网站后,日志会不断更新,splunk中也会不断更新。

Splunk应用扩展
========================================================

Splunk作为一个可扩展的日志分析平台目前支持基于API的扩展,第三方可以基于
Splunk的API编写Splunk应用扩展。通过Splunk 应用扩展,可以增强Splunk对数据的进一步分析。
安装Splunk应用可以通过Splunk的web界面,也可以通过Splunk的文本控制界面。
连接https://192.168.2.126:8000, 点选“管理器”:

点击“应用”,打开“应用管理界面”页:

此界面页中是已经安装的“应用”,包括Splunk默认应用。
我们可以通过三种方式安装或创建新应用:
1. 联机查找更多应用:如果你可以连接互联网,这是一个方便的安装应用方式
2. 从文件安装应用:如果你无法连接互联网,可以通过这种方式将下载好的应用安装到Splunk中
3. 创建应用:如果你是splunk第三方开发或是有自己的使用系统,可以通过这个选型创建自己的应用
在此页中,我们可以控制“应用”的状态,可以通过web界面“启用”或“禁用”应用,并且配置应用的某些属性。
   
已经下载好的“Splunk for Unix and Linux”应用包,文件名为“unix.tar.gz”。可以通过“从文件安装应用”来安装它。
点击“应用管理界面”页里的“从文件安装应用”,进入“上载应用”页。

splunk服务重启完成后,会要求你在浏览器中重新登陆。
登陆后在右上角的“应用”下拉菜单中,我们会发现一个新的应用“*NIX 4.6”,点击“*NIX 4.6”,进入“Splunk For Unix and Linux”应用。由于是第一次进入,我们需要去设置这个应用:

点击”Configure”,进入配置界面
这个界面基本上需要我们改动的是在“Scripted Inputs:”中打开需要监控的项目,
点击“Enable”就是打开,后面的“interval”是检查周期单位为秒。
我们按下图打开cpu、内存、I/O等检测项。

点击“save”保存。看到下面的界面就算安装正确了,点击“ok”

接下来,大家可以等上3~5分钟后,查看“CPU”、“Memory”、“Disk”等下拉菜
单预定义的视图,通过它们分析splunk.master.com主机的运行状态。
“Cpu Overview” 如下图所示:

“Memory Overview”如下图所示:

实例:Splunk Unix 异地性能监视应用
从运维的角度来讲,我们需要收集所以服务器的运行状态,并且将这些性能状态数据汇总起来。
接下来我们需要配置其他主机上的Splunk应用来转发其性能数据,并且在192.168.2.126 上汇总它们。
下载“Splunk for Unix and Linux technology add-on”应用文件,并且放置在web.master.com服务上,应用文件名为”Splunk_TA_nix.tar.gz”

“Splunk for Unix and Linux technology add-on”,这个应用并不安装在splunk.master.com主机上,而是安装在需要转发数据的服务器上,例如:web.master.com 服务器,转发服务器需要安装Splunk Forwarder,并且允许转发数据送达Splunk服务器。

被监控端:  
安装:

# tar xvzf Splunk_TA_nix.tar.gz -C /opt/splunkforwarder/etc/apps
# chown splunk.splunk /opt/splunkforwarder/etc/apps/Splunk_TA_nix –R

配置:

# mkdir /opt/splunkforwarder/etc/apps/Splunk_TA_nix/local
# cp /opt/splunkforwarder/etc/apps/Splunk_TA_nix/default/inputs.conf
/opt/splunkforwarder/etc/apps/Splunk_TA_nix/local 将inputs.conf 文件从default目录下拷贝到local目录下,然后编辑inputs.conf文件。
将你需要转发的数据项disabled = 1改为disabled = 0。
:%s/disabled = 1/disabled = 0 # Copyright (C) 2005-2011 Splunk Inc. All Rights Reserved.
[script://./bin/vmstat.sh]
interval = 60
sourcetype = vmstat
source = vmstat
index = os
disabled = 0s
[script://./bin/iostat.sh]
interval = 60
sourcetype = iostat
source = iostat
index = os
disabled = 0
[script://./bin/ps.sh]
interval = 30
sourcetype = ps
source = ps
index = os
disabled = 0
[script://./bin/top.sh]
interval = 60
sourcetype = top
source = top
index = os
disabled = 0
[script://./bin/netstat.sh]
interval = 60
sourcetype = netstat
source = netstat
index = os
disabled = 0
[script://./bin/protocol.sh]
interval = 60
sourcetype = protocol
source = protocol
index = os
disabled = 0
[script://./bin/openPorts.sh]
interval = 300
sourcetype = openPorts
source = openPorts
index = os
disabled = 0
[script://./bin/time.sh]
interval = 21600
sourcetype = time
source = time
index = os
disabled = 1
[script://./bin/lsof.sh]
interval = 600
sourcetype = lsof
source = lsof
index = os
disabled = 0
[script://./bin/df.sh]
interval = 300
sourcetype = df
source = df
index = os
disabled = 0
# Shows current user sessions
[script://./bin/who.sh]
sourcetype = who
source = who
interval = 150
index = os
disabled = 1
# Lists users who could login (i.e., they are assigned a login shell)
[script://./bin/usersWithLoginPrivs.sh]
sourcetype = usersWithLoginPrivs
source = usersWithLoginPrivs
interval = 3600
index = os
disabled = 1
# Shows last login time for users who have ever logged in
[script://./bin/lastlog.sh]
sourcetype = lastlog
source = lastlog
interval = 300
index = os
disabled = 0
# Shows stats per link-level Etherner interface (simply, NIC)
[script://./bin/interfaces.sh]
sourcetype = interfaces
source = interfaces
interval = 60
index = os
disabled = 0
# Shows stats per CPU (useful for SMP machines)
[script://./bin/cpu.sh]
sourcetype = cpu
source = cpu
interval = 30
index = os
disabled = 0
# This script reads the auditd logs translated with ausearch
[script://./bin/rlog.sh]
sourcetype = auditd
source = auditd
interval = 60
index = os
disabled = 1
# Run package management tool collect installed packages
[script://./bin/package.sh]
sourcetype = package
source = package
interval = 3600
index = os
disabled = 0
[script://./bin/hardware.sh]
sourcetype = hardware
source = hardware
interval = 36000
index = os
disabled = 0

被监控端重启服务  
保存文件后,需要重新启动splunk forwarder 服务。

# /opt/splunkforwarder/bin/splunk restart

如果你的配置一切正常,你会在http://splunk.uplooking.com:8000上,“*NIX
4.6”应用页上看到“主机”部分新增了“web”服务器。

在“CPU by Host”标签页中,将看到两台主机cpu数据信息如下图示:

在“Memory by Host”标签页中,我们将看到两台主机内存数据信息如下图示

初学Splunk的更多相关文章

  1. DDD初学指南

    去年就打算总结一下,结果新换的工作特别忙,就迟迟没有认真动手.主要内容是很多初学DDD甚至于学习很长时间的同学没有弄明白DDD是什么,适合什么情况.这世界上没有银弹,抛开了适合的场景孤立的去研究DDD ...

  2. gulp初学

    原文地址:gulp初学 至于gulp与grunt的区别,用过的人都略知一二,总的来说就是2点: 1.gulp的gulpfile.js  配置简单而且更容易阅读和维护.之所以如此,是因为它们的工作方式不 ...

  3. 初学seaJs模块化开发,利用grunt打包,减少http请求

    原文地址:初学seaJs模块化开发,利用grunt打包,减少http请求 未压缩合并的演示地址:demo2 学习seaJs的模块化开发,适合对seajs基础有所了解的同学看,目录结构 js — —di ...

  4. 初学Vue2.0--基础篇

    概述: 鉴于本人初学,使用的编译器是webStorm,需添加对VUE的支持,添加方法可以参考 http://www.jianshu.com/p/142dae4f8b51. 起步: 1. 扎实的 Jav ...

  5. 初学Python

    初学Python 1.Python初识 life is short you need python--龟叔名言 Python是一种简洁优美语法接近自然语言的一种全栈开发语言,由"龟叔&quo ...

  6. logstash VS splunk

    web 系统是典型的分布式部署,由此对其运行状况,硬件运转情况监控也显得尤为重要,这些监控数据表面上对业务运行没有多大的用处(属于基础数据),但正是这些基础数据形成了业务“流”.比如,用户搜索爱好,浏 ...

  7. Javascript初学篇章_5(对象)

    对象 Javascript是一种面向对象的语言,因此可以使用面向对象的思想来进行javascript程序设计对象就是由一些彼此相关的属性和方法集合在一起而构成的一个数据实体.举个例子,一只猫是个对象, ...

  8. 初学Objective-C语言需要了解的星星点点

             其实大多数开发初学者都有一些相同的特点,可以说是一种“职业病”.Most有其他平台开发基础的初学者,看到Xcode就想摩拳擦掌:看到Interface Builder就想跃跃欲试:而 ...

  9. matlab初学之句柄

    文章出处:http://www.cnblogs.com/CBDoctor/archive/2012/04/06/2434072.html 在matlab中,每一个对象都有一个数字来标识,叫做句柄.当每 ...

随机推荐

  1. Csharp:操作存儲過程輸出參數,和返回值

    /// <summary> ///塗聚文 存儲過程輸出參數,和返回值 /// 20131030 /// Geovin Du /// </summary> /// <par ...

  2. node:fs-extra模块

    var fs = require('fs-extra'); //复制 并会覆盖已有文件 fs.copy('./demo/index.html','./demo/index2.html' ,(err) ...

  3. linux里终端安转视频播放器的操作及显示

    [enilu@enilu ~]$ mplayerbash: mplayer: command not found[enilu@enilu ~]$ yum list | grep mplayer^C^C ...

  4. SpannableString与SpannableStringBuilder使用

    转自:http://blog.it985.com/14433.html1.SpannableString.SpannableStringBuilder与String的关系 首先SpannableStr ...

  5. matlab练习程序(Hilbert图像置乱)

    正好刚写了Hibert生成曲线,不如再加一篇应用的程序. 关于Hilbert图像置乱,我在网上搜的应用领域主要集中在数字水印和图像加密上,而这两个领域我都没怎么接触过. 大部分的图像置乱都是如下图的置 ...

  6. bat 日期格式设置

    转自:http://hi.baidu.com/awillaway/item/c61f964dc238190ce935044d   日期可以用扩展表示方法,你在cmd运行以下几个命令就明白了: echo ...

  7. file中mkdirs和mkdir的区别-文件上传

    mkdirs()可以建立多级文件夹, mkdir()只会建立一级的文件夹, 如下: new File("/tmp/one/two/three").mkdirs(); 执行后, 会建 ...

  8. WAKE-LINUX-SOFT-linux安装,配置,基础

    1,ubuntu 1,1下载,安装 中文ubuntu站,http://cn.ubuntu.com/ 下载地址:https://www.ubuntu.com/download 安装手册:https:// ...

  9. 四、获取远程URL图片

    #!/usr/bin/python # -*- coding: UTF-8 -*- import re import urllib def getHtml(url): page = urllib.ur ...

  10. 笔记本win8系统共享wifi上网方法

    华硕笔记本电脑,安装了win8系统,使用wifi上网,由于连接无线路由的机器太多,超过路由连接数上限,因此转为使用笔记本共享wifi方式给手机上网. 最终上网方式为: 笔记本网卡接入无线路由器上网,笔 ...