Kibana Date Type Field Query

在 Kibana 裡面,想要搜尋某段時間內的資料,第一個一定是想到 Kibana 內建的 Time Picker,不得不說這真的是很好用的工具,但少數情況你的資料可能不只一個日期欄位,而你必須用 Query 的方式而非 Time Picker 處理,例如 Email 的資料,寄信、開信、點擊都會有 Log 傳到我的伺服器,這時候會有兩個時間,一個是信件寄出的,另一個則是事件發生的時間(例如開信、點擊),像這樣的情況就可能會需要在搜尋框裡面用日期欄位做搜尋。

閱讀全文《Kibana Date Type Field Query

WTF Elastic X-Pack License – How to uninstall X-Pack

如果你透過搜尋引擎找到這篇文章,想必對 X-Pack 跟我一樣有著滿滿的怨念。最開始覺得 X-Pack 是個免費好用的外掛就把它裝到 Elasticsearch 跟 Kibana 身上,結果過了 30 天才看到提示說因為 License 過期,你需要去「更新授權碼」,否則不能登入 Kibana,其實到這邊我都還以為是註冊一個帳號就可以拿到新的授權碼,結果到官方網站看了很久,我沒有看到任何關於授權、費用、購買之類的文字(後來發現其實有,很小… 你們是有沒有想賺錢阿),最後竟然是靠 Google 搜尋才找到價格方案的頁面。

閱讀全文《WTF Elastic X-Pack License – How to uninstall X-Pack

Elasticsearch、Kibana 使用者認證設定

當你將 Elasticsearch 和 Kibana 安裝完後,你會發現一個十分嚴重的問題:「咦,帳號密碼勒?」沒錯,Elasticsearch 和 Kibana 是沒有提供一般常見的使用者模組,你只能透過 Bind IP 或是 Bind Port 的方式設定內網使用,但如果你跟敝公司一樣沒有固定 IP,或是你想要設定幾組帳密來使用的話,就繼續讀下去吧,這篇文章將會分享當 Elasticsearch 和 Kibana 的基本使用者認證該如何設定,採用 HTTP Auth 的方式。

閱讀全文《Elasticsearch、Kibana 使用者認證設定

String Split in Elasticsearch Script Field (Painless)

看到這篇文章,相信你一定尋找怎麼在 Elasticsearch (或是 Kibana)的 Script Field 使用 Split 很久了吧! 這邊我可是特意把所有你會想到的關鍵字都用上了,就是為了讓跟我一樣苦命的工程師不要浪費太多人生在這件事情上…

很快的先講結論,雖然 Painless 號稱支援 Java Native API,但恰恰有幾個不支援,其中一個就是 split,據說是因為 Elasticsearch 開發團隊覺得 split 時間複雜度太差,所以把它割掉了,而我一開始不知道這件事情,嘗試了各種方式,從語法是否正確一路懷疑到是否需要寫什麼特殊的語法來 Import Java API,最後在 Elasticsearch 的 Issue 上看到這篇 【Painless – Request for native String split function】,當下我的心情……

閱讀全文《String Split in Elasticsearch Script Field (Painless)