percona server為 mysql 資料庫伺服器進行了改進,在功能和效能上較 mysql 有著很顯著的提公升。該版本提公升了在高負載情況下的 innodb 的效能、為 dba 提供一些非常有用的效能診斷工具;另外有更多的引數和命令來控**務器行為前提
1、有強烈的審計需求。
2、能允許10%-15%左右的效能損失。
3、有強烈的對資料庫操作實時檢視需求(一般都是為了領導要求)。
logstash 比較坑的配置
input上面的配置看上去是沒有問題的,如果是一般的json資料哪就能解析成功了,}output
}
但是在 percona audit plugin 中應用程式應用程式生成的sql是五花八門,各種字元都有其中有。
如下審計的日誌被 python 讀取後的字串展現(紅色標記):
從上圖可以看到有一些換行後tab的字元,這些字元使用 json.load 的時候會報錯,不能解析成json
使用python json 模組解析相關日誌檔案報錯:
>>> json.loads(json_line)所以在使用logstash的時候也就解析不了這樣的json資料了,traceback (most recent call last):
file "", line 1, in file "/usr/lib64/python2.7/site-packages/******json/__init__.py", line 516, in loads
return _default_decoder.decode(s)
file "/usr/lib64/python2.7/site-packages/******json/decoder.py", line 370, in decode
obj, end = self.raw_decode(s)
file "/usr/lib64/python2.7/site-packages/******json/decoder.py", line 400, in raw_decode
return self.scan_once(s, idx=_w(s, idx).end())
******json.scanner.jsondecodeerror: invalid control character '\t' at: line 1 column 232 (char 231)
最終logstash只能報錯並將整個message記錄到 elasticsearch 中
解決辦法
解決辦法就是把這些字元替換掉。如下 logstash 配置檔案
input }該配置檔案是投機取巧的辦法, 把 (換行/tab) 字元替換成空格,要注意的一點最終顯示的sql和原來的有所差別。filter " ]
}json
mutate }
output
}
這種方法有點不靈活如果sql語句中還有遇到一些json不能解析的字元又要進行處理。
>>朋友們如果有更好的方法也告知一聲哈!<<<還不能笑到最後
剛開始以為這一切都萬事大吉了。其實還有個一坑就是在使用 kibana 檢視的時候,這時候問題就來了。
有是有過 percona audit 外掛程式的估計都有這樣的問題,就是他記錄的是時間是國際形式的(如上圖黃色標記),不像我們習慣了北京時間。因此在頁面顯示的時間會比我們平時的少 8 小時。
一般來說在elk中使用國際的標準格式是合理的。因為在使用 kibana 檢視的時候會幫你自動轉化成本地時間格式。也就是如果我們在中國他會自動把 timezone 轉化為 asia/shanghai(東8區) 的。所以顯示的時間應該是正確的才對。可是實際情況並沒有。
沒有轉化的原因
是應為 elasticsearch 將 "2016-08-30t01:45:30 utc" 這串字元解析成了string型別。按道理應該解析成和@timestamp一樣的date型別。
解決思路
將 "2016-08-30t01:45:30 utc" 格式轉化成和 @timestamp 一樣的格式("2016-08-30t01:45:30z")
最終配置檔案如下
input }使用上面配置就能順利的將 時間格式 轉化成 elasticsearch 想要的時間格式,並且能在 kibana 中正確顯示。filter " ]
}json
mutate " ]
}} output
}
免費提供最新
linux
利用rsyslog 對Linux使用者進行審計
要審計使用者執行的命令,在系統本地執行的話,比較簡單。修改histtimeformat變數即可,比如 export histtimeformat f t who am i 但是簡單的依賴.bash history 或 script 是不可靠的,兩者雖然記錄了使用者行為,但是可能被使用者篡改和清除。r...
ELK 日誌處理開發指南
elk 是 elastic 公司出品的開源實時日誌處理與分析解決方案,elk 分別代表分布式搜尋引擎 elasticsearch 日誌採集與解析工具 logstash 日誌視覺化分析工具kibana,具有配置方式靈活 集群可線性擴充套件 日誌實時匯入 檢索效能高效 視覺化分析方便等優點,已經成為業界...
用ELK 實時處理搜尋日誌
本來這塊業務 是放到solrcloud上去的 然後 採用solr的facet統計查詢,具體 參考之前寫的文章 最近遇到solrcloud 遇到一些問題。查詢db時間過長,solrcloud的長連線cloudsolrserver老timeout,索引的效率也不夠滿 意。為了穩定,暫時先還原solr單機...