切換到logstas**件目錄
# cd /home/logstash/logstash-1.5.3/etc
開啟logstash配置檔案將type改為和vsftpd的配置檔案一樣,重啟logstash服務
問題分析就是這麼簡單的乙個事,導致了其它伺服器大概5個小時沒有新的日誌到es,然後開始排查問題,定位到logstash indxer出錯,報的錯是503; 大致意思是輸入的資料量太大導致它無法工作,輸入的是redis,也就是說redis裡面的資料量太大處理不過來導致的。
問題解決沒有其它的解決辦法,只能放棄匯入pureftpd的日誌,把pureftpd的logstash停了。再去redis伺服器將redis重新啟動,這4個小時存的日誌拋棄。
redis-server /etc/redis.conf
已經匯入的部分pureftpd的日誌是無用的,需要給刪除掉
刪除資料,不刪索引
#curl -xdelete '' -d #'
# }#}'
如果裡面有空索引還要刪除對應的索引
重新啟動pureftpd logstash,日誌就不用從頭開始刷了,只tail的方式存入新日誌。
日誌沒有匯入進去我是不甘心的,但是又不能一次性給批量刷到redis快取中,不然又會掛掉,也不能不通過快取直接往es刷,生產環境也不敢隨便嘗試。所以折中的解決辦法,往redis快取的刷慢點就可以把這個解決了。解決思路是寫乙個shell指令碼把日誌檔案從頭開始每秒刷10-20行到新的檔案中,logstash的input設定為新的檔案,這樣就可以達到慢點刷的效果。
#!/bin/bash
cd /home/logstash/logstash-1.5.3/pure_solve #切換目錄
toltalcount=`
cat pureftpd.log |wc -l
`#統計日誌有多少行
startline
=1 #從開頭開始刷
while
(($startline
< $toltalcount
))#迴圈刷
do
endline
=`expr $startline + 20`
#步值為20
sed -n
"$startline
,$endline
p" pureftpd.log >> pureftpd_new.log #開始寫
startline
=$endline
#移動步子
echo
$startline
> sincedb #記錄刷到什麼地方了
done
今天是年前上班的最後一天,刷了一篇部落格,下班後就準備準備回家了,哦耶!
Oracle匯入匯出大批量資料的一種做法
oracle匯入匯出大批量資料的一種做法 最近要把oracle資料庫的資料,匯出另外一台電腦上面的oracle,而且表空間 使用者什麼的都不一樣,而且還有blob欄位。資料大概有5萬條左右。我大概的做法是先導出匯入表,再匯出匯入資料。因為有blob欄位不能用sql直接匯出表和資料。1 匯出表 在pl...
Mysql 一次性備份匯出 匯入恢復所有資料庫
有木有遇到過這種情況?電腦或者伺服器需要重灌系統?可是你電腦上存著n多個 的資料庫,怎麼辦?把資料庫資料夾拷貝出來,重灌系統之後再拷回去?如果你使用了innodb引擎,恐怕那樣做會出麻煩的,乙個乙個往外導資料庫?天哪,那要搞到何年何月啊?今天合肥 製作向陽互聯就來介紹一下如何一口氣匯出全部資料庫,再...
Mysql 一次性備份匯出 匯入恢復所有資料庫
有木有遇到過這種情況?電腦或者伺服器需要重灌系統?可是你電腦上存著n多個 的資料庫,怎麼辦?把資料庫資料夾拷貝出來,重灌系統之後再拷回去?如果你使用了innodb引擎,恐怕那樣做會出麻煩的,乙個乙個往外導資料庫?天哪,那要搞到何年何月啊?今天合肥 製作向陽互聯就來介紹一下如何一口氣匯出全部資料庫,再...