如何開始搭建Elastic Stack及使用方式介紹-上 Posted On 2022 年 5 月 6 日 圖文:Alex Lee ELK架構說明 ElasticStack在系統架構中各司其職Beat負責採集資料Logstash負責接收及預處理資料Elasticsearch負責儲存及分析Kibana提供視覺化介面 下圖為比較大型Elasticsearch Cluster架構 Elasticsearch:可以透過配置如node.attr.rack_id及shard allocation awareness,可以將資料分片盡可能分配至不同的機架,或是透過**ILM(Index Lifecycle Management)**依照資料生命週期(重要性)配置到對應的硬體資源節點(Hot-Warm)。Logstash: Logstash本身無Cluster的概念,透過啟動多個Instance進行Load Balance或是HA,在Logstash前方亦可搭配Reverse Proxy,讓Client目標端點一致,後方能夠進行Logstash的Scale up。Kibana: 根據需求決定是否需要HA,大多情境下Kibana的使用對象是資訊人員且頻率不是非常大量,緊急程度不會像一級系統,通常啟動一個即可。 ELK開發環境搭建 目標:建立ELK的開發環境,透過docker環境快速建立ELK架構環境準備:請先安裝 Docker 及 Docker-composeDEMO環境:MacOS 10.15 / Docker 19.03 / Docker-compose 1.24 準備Docker及ELK相關設定檔檔案結構如下 elasticsearchconfigelasticsearch.yml: ES設定檔,本文以Single-node方式啟動 IKAnalyzer.cfg.xml: IK Plugin設定檔,在此設定自定義字典檔及熱更新字典檔端點 data: 準備掛載Elasticsearch實際儲存資料位置(path.data)dict:字典檔ik:IK自定義字典檔,可於啟動時載入,須定義於IKAnalyzer.cfg.xml中synonym:自定義同義詞字典,後續如搜尋有需要使用同義詞時可放置於此Dockerfile: 使用官方Image,可以再另外安裝Plugin如IK、Pinyin等 kibanaconfigkibana.ymlKibana啟動時會嘗試去取得Elasitcsearch的一些資訊,這邊先給予admin的帳號密碼(在正式環境應改用指定權限的帳號,並且避免明碼,使用keystore的方式存取帳密) Dockerfile: 使用官方Image,可以再另外安裝Plugin logstashconfiglogstash.yml可以在此逐步調試批次送出的Event數量,提高Logstash寫入效能 pipelines.yml: 定義/宣告pipeline及其對應的pipeline設定檔 data: 準備掛載Logstash Queue / Dead letter queue / uuid 等資料pipeline: pipeline設定檔http-pipeline.conf: 接收http input Dockerfile: 使用官方Image,可以再另外安裝Plugin nginx此處Nginx僅作為IK hot reload使用dict/remote-dict.dic: For IK Hot Reload 字典檔,IK約每分鐘檢查一次是否有更新nginx.conf: Nginx設定檔,設定存取靜態檔案路徑 專人協助由偉康業務人員為您詳細說明偉康的解決方案,以及相關產業經驗。 聯絡我們 Tags:ELK Related Posts SIEM可以解決企業上的哪些問題 SIEM安全資訊和事件管理是什麼? 透過ELK技術打造Smart Search系統 About The Author naomi