日誌分析與splunk淺談

難易程度:★★★php

閱讀點:linux;python;web安全;日誌分析;html

文章做者:xiaoye python

文章來源:i春秋 關鍵字:網絡滲透技術linux

前言nginx

 

linux下的日誌分析對企業來講很是重要,對咱們分析pv或者入侵事件溯源都有很大的價值,今天來簡單談一談日誌分析方向的利器splunk,splunk應該是站在日誌分析應用的頂端了,應用普遍功能強大,本文只能簡單說說其安裝以及應用。p.s:本文環境是本身虛擬機搭建的,不是生產環境,僅僅作演示。web

1、Nginx + uWSGI + Python + Django
我是在CentOS 7下采用Nginx + uWSGI + Python + Django模式的部署,而後使用splunk監控/var/log/nginx/access.log 固然你們不必定非要這樣作
這塊的配置我就很少說了,你們百度一下
配置好後,開啓服務:
安全

log1.PNG服務器

cat下access.log,爲了方便演示這裏我先echo 「」 > access.log 清空了一下log,若是是生產環境下切記不要隨意清空日誌!:網絡


log2.PNG

2、利用python生成大量log內容
我們這裏只作演示,沒有那麼多訪問量log裏內容太少怎麼辦,寫段簡單的py來不停訪問咱們的web服務器,這樣就會在nginx的access.log裏留下日誌信息了ide

log3.PNG

#coding: utf-8
import requests 
 
dirs = ["admin", "admin_log", "1.php", "hack.php", ""]
 
headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:50.0) Gecko/20100101 Firefox/50.0'}
 
for i in range(1,40):
        for dir in dirs:
                url = "http://127.0.0.1/" + dir
                r = requests.get(url=url, headers=headers, timeout=4)
                #print type(dir), type(headers)
                print r.status_code

運行下:

log4.PNG

看下日誌條數:

log5.PNG

密密麻麻都是日誌:

log6.PNG

3、splunk的搭建以及簡單使用
官網隨便註冊個帳戶,下載下來tar包,固然視操做系統而定下載合適的deb(debian系列用)/rpm(Redhat系列用)也能夠
而後

sudo tar -zxvf splunk-6.6.3-e21ee54bc796-Linux-x86_64.tgz //解壓
 
sudo mv splunk /usr/local/  //移動到/usr/local
 
sudo ./splunk enable boot-start   //按q鍵,選擇y
 
sudo service splunk start  //自啓動splunk

個人安裝挺順暢,若是遇到問題百度吧。。

而後訪問http://127.0.0.1:8000,就能夠看到splunk的web頁面了:

log7.PNG

選擇add data,而後添加下監控monitor:

log8.PNG

監視器裏有一些選項:

文件與目錄:監視文件/文件夾
HTTP事件收集器:監視經過HTTP的數據流
TCP/UDP:監視服務端口
腳本:監控腳本

log9.PNG

選擇本身想要監控的類型,這裏我監視一個文件夾/var/log,也能夠指定日誌文件/var/log/nginx/access.log

log10.PNG

而後就來到下面的界面了,這時候咱們以前生成日誌內容的腳本就排上用場了,運行一下(splunk是實時監控的):

log11.PNG

上方有搜索指令,右上角有圖形化的訪問統計狀況等等等等。。
splunk是很強大的,筆者也是接觸沒多少時間,就先寫到這裏吧。。

4、總結

最近也確實挺忙的,因此寫的也比較匆忙,若是有錯誤或是不嚴謹的地方萬望表哥們指出。遇到了坑或者想了解有關於splunk的完整功能,你們能夠去官方手冊查看。

相關文章
相關標籤/搜索