日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Logstash入门简介

發布時間:2023/12/20 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Logstash入门简介 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Logstash入門簡介

介紹

Logstash是一個開源的服務器端數據處理管道,能夠同時從多個來源采集數據,轉換數據,然后將數據發送到最喜歡的存儲庫中(我們的存儲庫當然是ElasticSearch)

我們回到我們ElasticStack的架構圖,可以看到Logstash是充當數據處理的需求的,當我們的數據需要處理的時候,會將它發送到Logstash進行處理,否則直接送到ElasticSearch中

用途

Logstash可以處理各種各樣的輸入,從文檔,圖表中=,數據庫中,然后處理完后,發送到

部署安裝

Logstash主要是將數據源的數據進行一行一行的處理,同時還直接過濾切割等功能。

首先到官網下載logstash:https://www.elastic.co/cn/downloads/logstash

選擇我們需要下載的版本:

下載完成后,使用xftp工具,將其丟入到服務器中

#檢查jdk環境,要求jdk1.8+ java -version#解壓安裝包 tar -xvf logstash-7.9.1.tar.gz#第一個logstash示例 bin/logstash -e 'input { stdin { } } output { stdout {} }'

其實原來的logstash的作用,就是為了做數據的采集,但是因為logstash的速度比較慢,所以后面使用beats來代替了Logstash,當我們使用上面的命令進行啟動的時候,就可以發現了,因為logstash使用java寫的,首先需要啟動虛擬機,最后下圖就是啟動完成的截圖

測試

我們在控制臺輸入 hello,馬上就能看到它的輸出信息

配置詳解

Logstash的配置有三部分,如下所示

input { #輸入 stdin { ... } #標準輸入 } filter { #過濾,對數據進行分割、截取等處理 ... } output { #輸出 stdout { ... } #標準輸出 }

輸入

  • 采集各種樣式、大小和來源的數據,數據往往以各種各樣的形式,或分散或集中地存在于很多系統中。
  • Logstash 支持各種輸入選擇 ,可以在同一時間從眾多常用來源捕捉事件。能夠以連續的流式傳輸方式,輕松地從您的日志、指標、Web 應用、數據存儲以及各種 AWS 服務采集數據。

過濾

  • 實時解析和轉換數據
  • 數據從源傳輸到存儲庫的過程中,Logstash 過濾器能夠解析各個事件,識別已命名的字段以構建結構,并將它們轉換成通用格式,以便更輕松、更快速地分析和實現商業價值。

輸出

Logstash 提供眾多輸出選擇,您可以將數據發送到您要指定的地方,并且能夠靈活地解鎖眾多下游用例。

讀取自定義日志

前面我們通過Filebeat讀取了nginx的日志,如果是自定義結構的日志,就需要讀取處理后才能使用,所以,這個時候就需要使用Logstash了,因為Logstash有著強大的處理能力,可以應對各種各樣的場景。

日志結構

2019-03-15 21:21:21|ERROR|1 讀取數據出錯|參數:id=1002

可以看到,日志中的內容是使用“|”進行分割的,使用,我們在處理的時候,也需要對數據做分割處理。

編寫配置文件

vim mogublog-pipeline.conf

然后添加如下內容

input {file {path => "/soft/beats/logs/app.log"start_position => "beginning"} } filter {mutate {split => {"message"=>"|"}} } output {stdout { codec => rubydebug } }

啟動

#啟動 ./bin/logstash -f ./mogublog-pipeline.conf

然后我們就插入我們的測試數據

echo "2019-03-15 21:21:21|ERROR|讀取數據出錯|參數:id=1002" >> app.log

然后我們就可以看到logstash就會捕獲到剛剛我們插入的數據,同時我們的數據也被分割了

輸出到Elasticsearch

我們可以修改我們的配置文件,將我們的日志記錄輸出到ElasticSearch中

input {file {path => "/soft/beats/logs/app.log"start_position => "beginning"} } filter {mutate {split => {"message"=>"|"}} } output {elasticsearch {hosts => ["127.0.0.1:9200"]} }

然后在重啟我們的logstash

./bin/logstash -f ./mogublog-pipeline.conf

然后向日志記錄中,插入兩條數據

echo "2019-03-15 21:21:21|ERROR|讀取數據出錯|參數:id=1002" >> app.log echo "2019-03-15 21:21:21|ERROR|讀取數據出錯|參數:id=1002" >> app.log

最后就能夠看到我們剛剛插入的數據了

總結

以上是生活随笔為你收集整理的Logstash入门简介的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。