Elastic-Stack

Elasticsearch Cluster shards and replicas 常見問題

這邊列出幾個常見的 shards & replicas 問題及流程機制:

Continue Reading

Linux 安裝及配置 Elasticsearch cluster

本文紀錄 Linux 安裝及配置 Elasticsearch 單節點以及 cluster 流程:

Continue Reading

Elasticsearch 常見索引操作彙整

這裡記錄一些 Elasticsearch 常用的索引操作方式,方便之後查詢參考

Continue Reading

Elasticsearch 核心概念及機制說明

這裡記錄一些 Elasticsearch 核心概念及機制說明:

Continue Reading

Mac 安裝 Logstash 及啟用

Mac 安裝 Logstash 及啟用

Mac 安裝 Logstash 及啟用

本篇說明如何在 Mac 本地建立 Logstash 流程,其他 Linux 相關主機原則上僅差別在安裝步驟,可直接跳到功能設定參考:

Continue Reading

Elastic Cloud - Kibana 入門介紹

Elastic Cloud - Kibana 入門介紹

Elastic Cloud - Kibana 入門介紹

Kibana 是一個資料數據展示的系統,一般會用來管理 Elasticsearch 數據分析。在這裡我們會介紹如何在 Elastic Cloud 建立集群,如何啟動 Kibana 及配置說明,以及相關功能介紹。

Continue Reading

Elasticsearch Mapping 原理及範例說明

Elasticsearch Mapping 原理及範例說明

Elasticsearch Mapping 原理及範例說明

Mapping 類似於資料庫中的 schema,主要的作用如下:

  • 定義類型 (bool, string, num…)
  • 設定屬性倒排索引

在 Elasticsearch 數據產生時,其實都自動進行 mapping,但有時如果有特別的業務需求,則可以自行設定 mapping ,

特別提醒!如果特別需求,請在一開始就建立好 Mapping,因為Mapping建立後,就不能修改。

Continue Reading

Elasticsearch Analyzer 分詞器是什麼,以及日語搜尋 token filter 簡介

Elasticsearch 分詞器是什麼?

Elasticsearch Analyzer 分詞器是什麼,以及日語搜尋 token filter 簡介

Analysis 是 Elasticsearch 的一個概念,他可以將我們數據 寫入及查詢時,也會針對分詞做處理。

這些 analysis 的概念主要是由 Analyzer(分詞器) 來處理,主要做的事情包含:

Continue Reading

如何使用 Kibana Console DSL 查詢語言 - 操作 Elasticsearc 資料結構(下)

如何使用 Kibana Console DSL 查詢語言 - 操作 Elasticsearc 資料結構(下)

如何使用 Kibana Console DSL 查詢語言 - 操作 Elasticsearc 資料結構(下)

前一篇 如何使用 Kibana Console DSL 查詢語言 - 操作 Elasticsearc 資料結構(上) 主要介紹在 Kibana console DSL 如何對 Elasticsearch 數據的 CRUD 操作,在本篇則針對查詢語法做進一步的探討。在 Kibana Console 可以用來直接執行查詢檢索及操作數據功能,再輸入 Elasticsearch 查詢語言 DSL

後面的部分我們會在提到 Elasticsearch Analyzer 分詞器是什麼?實際範例演練

以下直接以實際案例來做語法說明,可以在Elasticsearch 相對的各種情境查詢作為參考:

Continue Reading

如何使用 Kibana Console DSL 查詢語言 - 操作 Elasticsearc 資料結構(上)

如何使用 Kibana Console DSL 查詢語言 - 操作 Elasticsearc 資料結構(上)

如何使用 Kibana Console DSL 查詢語言 - 操作 Elasticsearc 資料結構(上)

在 Kibana Console 可以用來直接執行查詢檢索及操作數據功能,再輸入 Elasticsearch 查詢語言 DSL

在這裡會列出一些實用的 DSL CRUD 查詢語句:

(在這裡的 index 都以 poc-trylog 來做範例說明)

Continue Reading

ElasticSearch(ES) 起源及原理說明

ElasticSearch(ES) 起源及原理說明

簡介

Elasticsearch 是一套基於 Apache Lucene (TM) 的開源搜尋引擎,主要透過 Java 開發及使用 Lucene 來建構索引搜尋功能。關於 Lucene 是目前公認性能最好,功能最齊全的搜尋引擎開源庫,由於在這個庫要實現搜尋功能,會非常的複雜,因此在目前有 Elasticsearch 與 Solr..等整合 Lucene技術整合成的搜尋引擎。

在基本特性上, Elasticsearch 讓搜尋變得簡單,並且可以透過 Restful api 進行溝通,以及可實現橫向拓展,支持 PB 等級的數據處理。

Continue Reading

Elastic Common Schema (ECS) 入門介紹

Elastic Common Schema (ECS) 入門介紹

Elastic Common Schema (ECS) 入門介紹

Elasticsearch 數據結構在過去主要由使用者自行定義資料結構,對於跨資料的關聯搜尋,可以透過訂製一些通用規範來達到資料追蹤。

但事實上,要做到這件事情會有一些困難,只能針對已知的結構來定義追蹤的規範,一旦有新增需求或調整結構都會造成許多不方便。另外,與不同組織合作時,兩方串接也會需要花費許多時間來討論定義這些通用結構。

就在 2019 年 2 月 Elastic 官方推出了 Elastic Common Schema(ECS, ES通用架構) 開源的規範,可讓使用者可以透過一制性的規範來搜集一些通用的數據結構,這樣的好處可以在不同的資料來源,可以透過 ECS 來做資料關聯搜尋及可視化分析,只要不同組織資料需要做關聯分析時,透過 ECS 就能夠增加溝通效率。因此,用戶只需要將資料映射到 ECS 資料結構即可。接下,針對 ECS 的一些基本結構及用法進行說明:

Continue Reading

Logstash 常見 Plugin 介紹

Logstash 可以獲取資料源,將資料源進行資料切割及過濾,在將清洗過的資料傳算到指定的位置。

在獲取資料方面,可以分成不同的方式,這裡介紹幾個常見的 plugin:

Continue Reading

如何避免 filebeat 傳送過多的 Laravel log

Filebeat 在取得 laravel log,沒有設定好,會容易發生大量發重複的 log 紀錄,例如報錯一次,就產生98 筆記錄。 首先,如果是少量重複的資料,可能是來自於 ack 延遲發生的問題,所以先設定 required_acks: 0,但如果可接受少量重複資料,則可略過這個設定。 接著,larval log 一次都會產生非常多行的錯誤訊息,filebeat 會把每一行都當作一個message 紀錄,因此, 可以考慮透過錯誤處理 ```try 第二種laravel log 產生多行的問題,可修改 stacktrace CVT2HUGO: cache來捕獲錯誤,再透過Log:info``` CVT2HUGO: , 開啟 app/Exceptions/Handler.php CVT2HUGO: 來記錄一行錯誤。

Continue Reading

ElasticSearch 入門 - 功能及操作說明

ElasticSearch 入門 - 功能及操作說明

ElasticSearch 可以把數據透過 Index 索引的方式來儲存。

通常,一台機器可以運行多個 ElasticSearch,每一個都視為一個節點(Node)。

在 ElasticSearch 主要結構與關聯資料庫做對比的話,關係大致如下:

ElasticSearch 關聯資料庫
索引(Index) 資料庫(Database)
類型(Type) 資料表(Table)
文檔(Document) 數據行紀錄(Row)
域(Field) 數據列(Column)
參數映射(Mapping) 模式(Schema)

Continue Reading