初學Splunk


 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”標簽頁中,我們將看到兩台主機內存數據信息如下圖示

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM