iT邦幫忙

第 12 屆 iT 邦幫忙鐵人賽

DAY 20
0
Elastic Stack on Cloud

ES 新手,破門而入!!!系列 第 20

【ES新手,破門而入!】Day20 - 地球移民火星!Splunk SPL 移民 Elastic Stack 行前須知

你可以學到?

今天,來講講 Splunk SPL vs Elastic Stack 吧。

本篇的主題包含有:

  1. Splunk v.s. Elastic

那我們就開始吧!

Splunk v.s. Elastic

登機須知

首先我們先來簡單聊聊兩個星球上的異同吧:

  • 都有 index 的概念
  • Elastic 沒有 source、sourcetype
    • 因為 Elastic 的設計是可以讀取各種類型的資料,包括 machine type 資料,所以就不需要意見類型的資訊,而把這種設定留在 Beat 或 Logstash 那一段來代入這些資訊。
    • 在讀取各種資料類型上,ECS(Elastic Common Schema)是一個開源專案用來讀取各種常見欄位的資料進 Elasticsearch:https://github.com/elastic/ecs
  • Documents 是 ES 中 fields 的集合,可能是
    • 一個日誌資料的 event
    • 在指定時間內收集一連串的指標
  • Search 和 Query 是常常互相交換使用的名稱,但之後當我們更進一步使用 ES 的 Search,就能體會兩者之間的差別了。

而在搜索的時候,兩者皆有範圍搜索(Scoping search)的概念,都需要先指定索引(index)。

那搜索呢?

先來把兩個簡稱的全名說明一下:

  • SPL(Search Processing Language)
  • KQL(Kibana Query Language)

第一眼可以看到在 Elastic 的 KQL 中,從 SPL 使用等號,變為 KQL 使用冒號。

然而更重要的,也是聰明的你會問的,agentagent.keyword 的差別是?

這也是一開始困擾我的問題,原來是一個會直接被拿來建立索引(agent.keyword,不分析,不會 tokenize),另一個建立索引前會先分析後才建立索引(agent,會 tokenize)

Top N 分析

在前 N 個分析上,Splunk 會用 top 和 limit 的指令。

在圖表作圖時

在昨天的實作時,我們有練習怎麼畫出直方圖,而下面可以看到如果使用 SPL 的話要使用比較沒那麼簡易的方式:

而如果有一起操作的同鞋,對於昨天有一塊部分應該會有點困惑,就是右邊那些 Bucket、Metric 到底是指什麼,在做什麼事情?

簡單扼要的可以這樣解釋:

  • Bucket:想要怎麼分群
  • Metric:想要對那些群做什麼計算

在 Aggregation 中,我們可以注意到:

  • 時間(Time period)和數值(Numerics)都有支援長、大範圍,或是讓系統決定最大最小值和區間。
  • 字串(Strings)中:
    • Terms 通常適用在下拉式選單例如國家名稱那種。
    • Significant Terms 透過某種方式把明顯的結果移除,讓你可以專注在什麼是真正有趣且重要的東西。

今日心得與短結

今天簡單講講 Splunk SPL vs Elastic Stack,因為我自己本身也沒有用過 Splunk SPL,更詳細的比較有興趣的看倌可以再參考網路上許多的比較文章,下面列了一些我覺得不錯的給大家參考看看!

明天開始我們就要進入安全性相關的一系列篇章啦!初章:確保 Elasticsearch 安全的基礎。


上一篇
【ES新手,破門而入!】Day19 - 在 Splunk SPL 依然戴著 Kibana 看著資料的背光面
下一篇
【ES新手,破門而入!】Day21 - Security,保護 ES 大作戰!登陸篇
系列文
ES 新手,破門而入!!!30

尚未有邦友留言

立即登入留言