版权声明:版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_40195432/article/details/84956219
日志处理引擎SPLUNK
Wing -Thu Jul 18 23:22:58 CST 2013
Splunk分为免费Free版和企业Enterprise版。Splunk Free专供个人使用。Splunk Enterprise添加了支持多用户和分布式部署的功能,并包括警报、基于角色的安全、单一登录、预设的 PDF 交付以及对无限数据量的支持。
你可以使用浏览器访问http://zh-hans.splunk.com/download 下载最新版的Splunk。如果你是第一次访问Splunk网站,需要先注册一个Splunk用户,默认下载的是60天Enterprise试用版,60天试用之后将自动转化为Free版,转化位Free版后每日处理的日志量最高位500M。
安装
# rpm -ivh splunk-5.0.2-149561.i386.rpm
启动
# /opt/splunk/bin/splunk start
[root@splunk ~]# /opt/splunk/bin/splunk status
splunkd is running (PID: 7730).
splunk helpers are running (PIDs: 7731).
splunkweb is running (PID: 7788).
开机启动Splunk
[root@splunk ~]# splunk enable boot-start
Init script installed at /etc/init.d/splunk.
Init script is not configured to run at boot.
[root@splunk ~]# vim /etc/init.d/splunk
[root@splunk ~]# chkconfig --list |grep splunk
splunk 0:关闭1:关闭2:启用3:启用4:启用5:启用6:关闭
忽略“Init script is not configured to run at boot.”这句,我们其实已经完成配置。
#/etc/init.d/splunk stop
#/etc/init.d/splunk start 这两个命令可以使用了
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,在右上角点击“管理器”,找到“系统”项目,点击其中的“授权”项目,点击“添加许可证”,找到你的授权文件,并添加入许可证组。
实例:添加本地syslog到Splunk
实例:远程Apache日志导入Splunk
1.设置Splunk服务器允许接收Splunk Forwarder发送的数据。
进入“Splunk配置首页”,选点右上角的“管理器”,在“数据”类里找到“转
发和接收”。在“接收数据”项中,点击“新增”,Splunk默认接收转发器连接到端口是9997,我们需要将端口填入“输入框”中。点击保存后,Splunk服务默认会打开tcp的9997端口用于监听。
2.配置Splunk Forwarder端
a.安装软件:
# rpm -ivh splunkforwarder-5.0.2-149561.i386.rpm
b.启动:
#/opt/splunkforwarder/bin/splunk start
c.配置其转发到splunk.uplooking.com主机的9997端口。默认用户名为admin,密码是changeme.
# /opt/splunkforwarder/bin/splunk add forward-server 192.168.131.150:9997
d.修改密码:
# /opt/splunkforwarder/bin/splunk edit user admin -password uplooking -auth
admin:changeme
e.如果你希望直接使用splunk命令而不是反复的键入全路径,请将SPLUNK_HOME
和PATH变量和修改并写入root用户的.bashrc文件中。
[root@web ~]#vim ~./.bashrc
export SPLUNK_HOME=/opt/splunkforwarder
export PATH=$SPLUNK_HOME/bin:$PATH
f. 配置转发文件
[root@web local]# pwd
/opt/splunkforwarder/etc/system/local
[root@web local]# ls
inputs.conf outputs.conf README server.conf
配置文件outputs.conf,配置服务器转发目标地址和转发状态:
[tcpout]
defaultGroup = default-autolb-group
[tcpout:default-autolb-group]
server = 192.168.131.150:9997
[tcpout-server://192.168.131.150:9997]
配置文件inputs.conf,配置本地需要转发的日志文件和日志文件类型:
[root@web local]# cat inputs.conf
[default]
host = web
[monitor:///var/log/httpd]
sourcetype = access_common
我们配置的是[monitor]部分,monitor://后跟本地路/var/log/httpd ,/var/log/httpd是apache默认的日志存放路径。
sourcetype是定义日志类型的标签,我们转发的apache日志是access_common类型。
修改inputs.conf文件后重启splunk forwarder,就可以在splunk.uplooking.com的web界面上看到数据已经转发并开始索引。
3.测试:登陆http://splunk.uplooking.com:8000,点击“应用”-“search”。
注意:0字节的日志文件不会被转发
我们多次访问web.uplooking.com网站后,日志会不断更新,splunk中也会不断更新。
Splunk应用扩展简介
Splunk作为一个可扩展的日志分析平台目前支持基于API的扩展,第三方可以基于
Splunk的API编写Splunk应用扩展。通过Splunk 应用扩展,可以增强Splunk对数据的
进一步分析。
安装Splunk应用可以通过Splunk的web界面,也可以通过Splunk的文本控制界面。
连接https://splunk.uplooking.com:8000, 点选“管理器”:
点击“应用”,打开“应用管理界面”页:
此界面页中是已经安装的“应用”,包括Splunk默认应用。
我们可以通过三种方式安装或创建新应用:
1. 联机查找更多应用:如果你可以连接互联网,这是一个方便的安装应用方式
2. 从文件安装应用:如果你无法连接互联网,可以通过这种方式将下载好的应用安
装到Splunk中
3. 创建应用:如果你是splunk第三方开发或是有自己的使用系统,可以通过这个选
型创建自己的应用
在此页中,我们可以控制“应用”的状态,可以通过web界面“启用”或“禁用”应用,并且配置应用的某些属性。
实例:Splunk Unix 本地性能监视应用
“Splunk for Unix and Linux”应用可以通过脚本收集安装在Unix或Linux 系统的splunk服务器本地性能数据的应用,可以通过图表来展示splunk服务器本地CPU、内存、
磁盘、和负载的变化。
我们可以在“联机查找更多应用”中找到它:
已经下载好的“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.uplooking.com主机的运行状态。
“Cpu Overview” 如下图所示:
“Memory Overview”如下图所示:
实例:Splunk Unix 异地性能监视应用
从运维的角度来讲,我们需要收集所以服务器的运行状态,并且将这些性能状态数据汇总起来。
接下来我们需要配置其他主机上的Splunk应用来转发其性能数据,并且在splunk.uplooking.com 上汇总它们。
下载“Splunk for Unix and Linux technology add-on”应用文件,并且放置在web.uplooking.com服务上,应用文件名为”Splunk_TA_nix.tar.gz”
“Splunk for Unix and Linux technology add-on”,这个应用并不安装在splunk.uplooking.com主机上,而是安装在需要转发数据的服务器上,例如:web.uplooking.com 服务器,转发服务器需要安装Splunk Forwarder,并且允许转发数
据送达Splunk服务器。前面我们已经介绍了如何配置转发和Splunk Forwarder的安装。
在web服务器上安装并配置“Splunk for Unix and Linux technology add-on”
安装:
[root@web ~]# echo $SPLUNK_HOME
/opt/splunkforwarder
[root@web ~]# tar xvzf Splunk_TA_nix.tar.gz -C $SPLUNK_HOME/etc/apps
[root@web ~]# chown splunk.splunk $SPLUNK_HOME/etc/apps/Splunk_TA_nix –R
配置:
[root@web Splunk_TA_nix]# mkdir $SPLUNK_HOME/etc/apps/Splunk_TA_nix/local
[root@web ~]# cp $SPLUNK_HOME/etc/apps/Splunk_TA_nix/default/inputs.conf
$SPLUNK_HOME/etc/apps/Splunk_TA_nix/local
将inputs.conf 文件从default目录下拷贝到local目录下,然后编辑inputs.conf文件。
将你需要转发的数据项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 = 0
[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 服务。
[root@web local]# splunk restart
如果你的配置一切正常,你会在http://splunk.uplooking.com:8000上,“*NIX
4.6”应用页上看到“主机”部分新增了“web”服务器。
在“CPU by Host”标签页中,将看到两台主机cpu数据信息如下图示:
在“Memory by Host”标签页中,我们将看到两台主机内存数据信息如下图示:
这是两台主机相关的系统性能信息汇总