iT邦幫忙

2025 iThome 鐵人賽

DAY 13
0

如果要將自定義來源的log匯入進Splunk,必須在設定上做一些調整

LOG處理上會碰到的需求

  1. 事件切割
  2. 多行事件
  3. 遮罩敏感資料
  4. 提取自定義欄位

Data Parsing步驟

Parsing的目的是將原始資料中有用的欄位取出來,並轉換為結構化的格式

  1. 先確認資料格式,Splunk 支援如:CSV, JSON, XML, Syslog….等。
  2. 指定Sourcetype
  3. 設定props.conf:用於定義sourcetype或資料來源的設定。
  4. 擷取定義欄位:可使用正規表達式或Splunk內建功能來擷取資料中的欄位。
  5. 儲存後重新啟動Splunk

Splunk 常用設定檔

  1. inputs.conf:定義資料輸入來源與如何從不同來源收集資料。
  2. props.conf:指定資料解析規則,並針對不同 sourcetype 定義欄位提取方式
  3. transforms.conf:對事件資料進行欄位轉換與增強
  4. indexes.conf:管理 Splunk 中的索引設定,例如儲存路徑、保留政策、權限控制等。
  5. outputs.conf:定義將索引資料轉發到其他 Splunk 節點或外部系統的設定
  6. authentication.conf:管理使用者認證設定

常用的設定檔Stanza(後面可接正規表達式)

Regex生成:regex101: build, test, and debug regex

  • [sourcetype]:定義 sourcetype 的處理方式
    • 設定資料該怎麼解析、擷取欄位、斷行等
  • TRANSFORMS-anyname
    • 設定欄位轉換規則,用來新增、修改、遮蔽欄位。
    • 會呼叫transforms.conf中定義的轉換規則,通常包含正則表達式、欄位重新命名、遮罩等。
    • 常用於遮罩敏感資料、重命名欄位、建立新欄位。
  • REPORT-anyname
    • 在搜尋時間進行欄位擷取
    • 套用 transforms.conf 中定義的擷取規則
    • 用於將多個欄位一次擷取出來
  • EXTRACT-anyname
    • 直接在props.conf中寫regex來擷取欄位。
    • 適合快速、單一欄位的擷取。
  • TIME_PREFIX
    • 指定在事件中,時間戳記前的字串
    • 配合 TIME_FORMAT 正確解析時間
  • TIME_FORMAT
    • 定義事件中時間的格式。
    • 常見格式如 %Y-%m-%d %H:%M:%S
  • LINE_BREAKER
    • 用正則表示式指定事件中的換行符號。
    • 通常配合SHOULD_LINEMERGE使用,定義log如何斷行、哪些文字代表一個事件的結束。
  • SHOULD_LINEMERGE
    • 決定是否合併多行為一個事件。
    • true:多行資料會合併為一個事件(預設行為)。
    • false:每一行會被視為獨立的事件。
  • BREAK_ONLY_BEFORE
    • 使用正則表示式指定事件的起始條件。
  • BREAK_ONLY_AFTER
    • 使用正則表示式指定事件的結束條件。

上一篇
Side Blue - Splunk - 其他功能
系列文
30天的資訊安全讀書筆記13
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言