【Day01】ELK環境建置與介紹

文章推薦指數: 80 %
投票人數:10人

什麼是ELK. ELK其實不是一個software (「・ω・)「 ELK是由elastic這間公司所開發的三個software(Elastic search、Logstash、Kibana) 這間公司還有做其他的software,像 ... 七日寫作松~七個物聯網小實驗..._〆(°▽°*)【Day00】從零開始的新手練等生活【Day01】ELK環境建置與介紹【Day02】OM2M框架佈署與介紹【Day03】NodeRed使用教學【Day01】ELK環境建置與介紹cronus6w6in七日寫作松~七個物聯網小實驗..._〆(°▽°*)什麼是ELKELK其實不是一個software(「・ω・)「ELK是由elastic這間公司所開發的三個software(Elasticsearch、Logstash、Kibana)這間公司還有做其他的software,像是Beats、APM之類的,有興趣的可以再去研究那我們來介紹今天的三個主角吧~ElasticSearch簡稱ES(不是ECMAScript喔),他是一個可以做平行處理的SearchEngine,ElasticSearch可以將很多Server節點(Node)加入叢集(Cluster),以進行平行運算。

IT狗有比較生動的介紹,可以比較MySQL與ES的差異。

LogstashLogstash可以將各方不同的Log資訊進行整理過濾轉換後,再依照需要儲存在指定的地方。

Logstash會經過三個步驟(Inputs、Filters、Outputs),將不同種類協定傳來的資料進行整理轉送,再經由其他程式進行儲存、修改等後續動作。

例如你做的專案需要整合各種設備或者程式的Log並且可以搜索,你就可以使用Logstash轉換成統一格式後,以不同設備類型做標記,存放到ElasticSearch,不需要自己寫一套轉換器,算是相當方便呢~出自某篇教學文章KibanaKibana(不是Hibana喔)是一個讓使用者方便查詢及觀看資料的前端服務,也可以做一些MachineLearning,跟PHPMySQL很像,但是功能多了許多。

ELK分工大致如下:各種不同格式的Log資料→Logstash整理轉換過濾→ES做存取及查詢→Kibana做為ES的UI,方便使用者操作資料查詢。

環境安裝接下來我們來實作架設ELK環境吧,這三個程式都可以分開在不同伺服器執行,但因為小的我電腦設備沒那麼好QQ(希望有人能抖內我幾條Ram阿),因此接下來應該都會在同一台主機運行。

這次實驗我用的linux版本是Ubuntu18.04.4-desktop-amd64請先下載安裝好喔(ゝ∀・)b安裝之前...安裝之前我們有兩件事要做1.Java由於ELK需要用到Java,因此我們要先安裝Javasudoapt-getinstallopenjdk-8-jdk 我們可以用java--version來檢查Java是否安裝成功$java-version openjdkversion"1.8.0_242" OpenJDKRuntimeEnvironment(build1.8.0_242-8u242-b08-0ubuntu3~18.04-b08) OpenJDK64-BitServerVM(build25.242-b08,mixedmode) 如果你不需要用到OM2M,可以選擇openjdk-11-jdk2.elastic的repositoryelastic系列的產品並沒有在apt的安裝清單中,因此我們需要加入他們的repository加入elastic的GPGkeywget-qO-https://artifacts.elastic.co/GPG-KEY-elasticsearch|sudoapt-keyadd- 將elastic加入apt的sourceslistecho"debhttps://artifacts.elastic.co/packages/7.x/aptstablemain"|sudotee-a/etc/apt/sources.list.d/elastic-7.x.list 更新aptsudoapt-getupdate 這樣我們就將elastic加入apt中了,是不是很簡單呢(๑•̀ㅂ•́)و✧開始安裝前置作業搞定了,現在終於可以開始建置ELK了(•̀ω•́)ElasticSearchsudoapt-getinstallelasticsearch sudosystemctlstartelasticsearch.service Logstashsudoapt-getinstalllogstash sudosystemctlstartlogstash.service Kibanasudoapt-getinstallkibana sudosystemctlstartkibana.service 什麼?這樣就裝好了???(((゚Д゚;)))對就是這麼簡單σ`∀´)σ這時候你可以打開瀏覽器開啟連結http://localhost:5601如果有東西出現代表Kibana正常啟動接下來你可以瀏覽http://localhost:9200如果有東西出現代表ES正常啟動Logstash需要一些東西才會運作設定安裝好了接下來是將三個服務串起來,ES跟Kibana預設值就是串起來的,因此我們只需要將ES與Logstash串起來就會動了。

Server預設使用的Port,可以對照著看在ElasticSearch還沒有資料時,在Kibana的Discover會看到這個畫面我們可以用Logstash簡單的塞一些資料進去,這時就要設定一下Logstash了設定Logstash也很簡單,在/etc/logstash有一個檔案logstash-sample.conf將他複製一份到/etc/logstash/conf.d/logstash.conf,設定檔檔名只要是*.conf就可以了cp/etc/logstash/logstash-sample.conf/etc/logstash/conf.d/logstash.conf 接下來修改一下內容#SampleLogstashconfigurationforcreatingasimple #Beats->Logstash->Elasticsearchpipeline. input{ tcp{#使用TCP協定 port=>5044 } } output{ elasticsearch{ hosts=>["http://localhost:9200"] #index=>"%{[@metadata][beat]}-%{[@metadata][version]}-%{+YYYY.MM.dd}"#這行是beats用的註解掉目前用不到 #user=>"elastic" #password=>"changeme" } } 然後重啟logstashsudosystemctlrestartlogstash.service logstash的測試設定就完成了我們可以下這個指令echo"test"|nclocalhost5044 5044是Logstash我們設定監聽的Port如果他是停在那裏沒換行就是成功了如果他直接換行了可能需要用systemctlstatuslogstash.service檢查一下Logstash有沒有正常啟動如果成功了,你開啟http://localhost:9200/_cat/indices可以找到logstash開頭index你重整Kibana的Discover就會看到以下畫面這時在Indexpattern輸入logstash-*他會用正規表達是選取logstash-開頭的index,點選Nextstep選擇以@timestamp這個欄位作為時間過濾的欄位然後點選createindexparttern就可以新增這個index的查詢了這時後你就可以看到剛剛新增的log了最基礎的ELK架設終於做完了,是不是很簡單呢(ゝ∀・)b.article-contenth1,.article-contenth2,.article-contenth3,.article-contenth4,.article-contenth5,.article-contenth6{margin-block-start:0.5em;margin-block-end:0.5em;}#ElasticSearch#ELK#Kibana#Logstash#IoT#SearchEnginecronus6w6FollowFollowing學生@台中科技大學你可能感興趣的文章MTR04_0920cwc329安裝RabbitMQServerLimon為什麼我們需要耍廢Po-JenPreviousNext留言討論提交送出編輯提交送出編輯提交送出回覆提交送出七日寫作松~七個物聯網小實驗..._〆(°▽°*)【Day00】從零開始的新手練等生活【Day01】ELK環境建置與介紹【Day02】OM2M框架佈署與介紹【Day03】NodeRed使用教學歡迎回家×使用Github帳號登入使用Google帳號登入取消免費加入CoderBridge×使用Github帳號註冊使用Google帳號註冊取消



請為這篇文章評分?