難易程度:★★★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 固然你們不必定非要這樣作
這塊的配置我就很少說了,你們百度一下
配置好後,開啓服務:安全
cat下access.log,爲了方便演示這裏我先echo 「」 > access.log 清空了一下log,若是是生產環境下切記不要隨意清空日誌!:網絡
2、利用python生成大量log內容
我們這裏只作演示,沒有那麼多訪問量log裏內容太少怎麼辦,寫段簡單的py來不停訪問咱們的web服務器,這樣就會在nginx的access.log裏留下日誌信息了ide
#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
運行下:
看下日誌條數:
密密麻麻都是日誌:
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頁面了:
選擇add data,而後添加下監控monitor:
監視器裏有一些選項:
文件與目錄:監視文件/文件夾
HTTP事件收集器:監視經過HTTP的數據流
TCP/UDP:監視服務端口
腳本:監控腳本
選擇本身想要監控的類型,這裏我監視一個文件夾/var/log,也能夠指定日誌文件/var/log/nginx/access.log
而後就來到下面的界面了,這時候咱們以前生成日誌內容的腳本就排上用場了,運行一下(splunk是實時監控的):
上方有搜索指令,右上角有圖形化的訪問統計狀況等等等等。。
splunk是很強大的,筆者也是接觸沒多少時間,就先寫到這裏吧。。
4、總結
最近也確實挺忙的,因此寫的也比較匆忙,若是有錯誤或是不嚴謹的地方萬望表哥們指出。遇到了坑或者想了解有關於splunk的完整功能,你們能夠去官方手冊查看。