ELK中的logstash啟動後無輸出

2021-08-08 10:42:10 字數 1241 閱讀 9254

在《elasticsearch技術解析與實戰》第370頁第10章elk應用,書中以收集nginx日誌為例來說明;我這裡用的版本分別是elasticsearch-2.3.0、logstash-2.3.0、kibana-4.5.0;和書中的版本不同,在373頁我按照書上的例子取一條典型的nxlog日誌,儲存檔名為nxlog_access.log,編寫配置檔案,檔名為logstash_nxlog.conf:

input

}filter"}}

}output

stdout

}

當我先啟動elasticsearch,再執行logstash -f  ..\logstash_nxlog.conf ,結果並沒有得到像書中樣的輸出,二是只顯示了下面兩句話:

然後游標就一直在「pipeline main started"這一行下面閃爍,也無法輸入,也沒有得到期待的輸出。後來在elasticsearch官網討論區看到相似的問題,那個人對於這種情況是這麼回答的:

翻譯過來就是:這意味著logstash正在等待接收新資料,我已經指定讓他讀取那個log檔案了,那裡面已經有資料了呀,為什麼還要等待新資料。接著看第二句話,意思是開啟那個log檔案,將末尾新增幾行(有資料或空行都行)再儲存。我試著做了,我新增了幾行空行,一直按enter回車鍵儲存了幾行空行,剛按ctrl+s,馬上控制台就有輸出了:

如果你加了幾行空行,雖然有輸出了,但是那幾行空行會解析錯誤,就會在控制台輸入如下:

起碼你知道**錯了,但是為什麼要追加並儲存才會觸發輸出呢,網上有人說是logstash預設不處理一天前的檔案,後來試驗了一下發現確實是時間的問題,只不過這個時間是檔案的建立時間或修改時間。今天是9月18日,剛開始我一直用的是6月份的nginx日誌檔案,怪不得啟動logstash沒有輸出,後來新建乙個txt檔案,裡面放入一條apache日誌,因為是今天建立的嘛,啟動logstash後立馬就看到輸出了。

預設不處理一天前的檔案)

官網討論區)

elk部署詳解 logstash搭建

是乙個管理日誌和事件的工具。安裝部署 使用 f引數替換命令列中的 e引數bin logstash f logstash conf bin logstash f logstash conf auto reload path data mysql mysql.log path var log messa...

elk 日誌分析 logstash配置

elk 由 elasticsearch logstash 和 kiabana 三個開源工具組成。官方 elasticsearch 是個開源分布式搜尋引擎,它的特點有 分布式,零配置,自動發現,索引自動分片,索引副本機制,restful 風格介面,多資料來源,自動搜尋負載等。logstash 是乙個完...

ELK技術棧 Logstash 基礎介紹

官網介紹 logstash is an open source data collection engine with real time pipelining capabilities。簡單來說logstash就是一根具備實時資料傳輸能力的管道,負責將資料資訊從管道的輸入端傳輸到管道的輸出端 與此...