iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 29
1
Elastic Stack on Cloud

Elastic Stack武學練功坊系列 第 29

Elastic Stack第二十九重

  • 分享至 

  • xImage
  •  

Logstash

本篇介紹何謂Logstash以及他的功用,並從安裝到使用基本的pipeline


Logstash Introduction

Logstash是個開源的資料收集引擎,具有即時的pipelining功能,
可以把不同來源的資料統一且正規化,並傳送到目的地

The Power of Logstash (Logstash強大之處)

es的主力資料來源
可水平擴展的資料處理pipeline,加上與es和kibana的彼此搭配

可隨心所欲增減的pipeline架構
pipeline內可以自由搭配不同的inputs, filters, outputs

社群擴展性以及對開發者很友善的plugin生態
有超過200個可用plugins,而且是可以很彈性的建造自己的plugin

開始使用Logstash

[環境]
OS: Windows 10 (64bit)

Install Java

可以不確定系統是否安裝java,可使用如下指令確認

java -version

以我為例,
cmd response
代表還未安裝java

[Note]
需搭配Elastic Support Matrix找出logstash支援的版本,確認後可至official Oracle distribution或到OpenJDK下載java

我選擇安裝 Java SE 11,先至 OpenJDK頁面,找到Java SE 11,點擊 Windows/x64 Java Development Kit ,再來 Logstash會使用 JAVA_HOME,所以需要設定此參數,如果不會設定的可參考此篇

設定完成之後,確認 java -version 有回傳版本資訊以及 JAVA_HOME 參數有正確設定
cmd response

Install Logstash

官網提供不同環境的下載方式,可參閱此頁

我在Download Logstash 下載zip版本,
下載完成後,解壓縮至想要放的目錄下即可

Stashing Your First Event

Logstash pipeline 有兩個必要部分 inputoutput 以及 optional的 filter
input : 消化來源的data
filter : 可用來更改data
output : 把data寫入至目的地
如下為示意圖(截自官網)
image

用 基本的 Logstash pipeline 來測試一下Logstash是否正常運行

cd logstash-7.9.2
.\bin\logstash -e "input { stdin { } } output { stdout {} }"

-e 參數是可以讓你在command line直接指定設定(configuration),
透過直接在command line指定configuration可以讓我們很快速的測試configuration,
而不用一直打開檔案來修改,此範例的pipeline是使用 standard input(stdin)當作input,
且設定 standard output(stdout)
p.s. 以 ' (單引號) 包起來會無法被正確parse (OS: Windows 10)

送出指令後,等待看到 [main] Pipeline started ,就可以試著輸入 Hello world

Response

欲離開Logstash,輸入 Ctrl+C

成功建置基本的 Logstash pipeline了!!!
下篇來建立實際應用的pipeline


小小新手,如有理解錯誤或寫錯再請不吝提醒或糾正


Reference

Logstash
Getting Started with Logstash


上一篇
Elastic Stack第二十八重
下一篇
Elastic Stack第三十重
系列文
Elastic Stack武學練功坊30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言