Splunk Splunk 7.x Fundamentals 2 – Module 8: Creating and Managing Fields

pluto

Internship/Fresher
Sep 8, 2020
51
11
8
SPLUNK FUDAMENTALS 2

Splunk 7.x Fundamentals 2 – Module 8: Creating and Managing Fields

Mục tiêu Module:
  • Nắm được các phương pháp của Field Extractor (FX):
  • Regex
  • Delimiter
  • Xác định các tùy chọn khác nhau để truy cập Field Extractor:
  • Settings
  • Fields sidebar
  • Event actions
  • Xem lại quy trình Field Extraction manually bằng biểu thức chính quy(regular expression)
  • Sử dụng Field Extraction Manager để sửa đổi extracted fields
1. Intro Field Extraction
1.1 Field Auto-Extraction
Splunk tự động phát hiện các trường (field) dựa trên sourcetype và các cặp key/value được tìm thấy trong data. Trước thời gian tìm kiếm, một số trường (field) đã được lưu trữ sẵn cùng với event trong index:

  • Meta fields, ví dụ như: host, source và sourcetype
  • Internal fields như: _time và _raw
Tại thời điểm thực hiện câu search, field discovery sẽ nhận dạng/khám phá ra các trường(field) liên quan trực tiếp đến kết quả của câu search. Splunk cũng có thể tự động trích xuất các trường không liên quan đến câu search từ raw event data.

1.2 Performing Field Extractions
Ngoài các trường được tự động trích xuất, đối với các trường không được tự động trích xuất, sử dụng Field Extractor (FX) để trích xuất các trường này. Sử dụng Field Extractor để trích xuất các trường static và thường xuyên sử dụng trong tìm kiếm hoặc thống kê. FX có các đặc điểm sau:

  • Sử dụng Graphical UI
  • Trích xuất các trường từ các event bằng cách sử dụng regex hoặc delimiter.
  • Các trường được trích xuất vẫn tồn tại dưới dạng knowledge objects Có thể được chia sẻ và sử dụng lại trong nhiều lần tìm kiếm
  • Truy cập FX thông qua Settings, Fields Sidebar, hoặc Event Actions menu
1.3 Field Extraction Methods
Field Extraction có hai phương pháp sử dụng REGEX(Biểu thức) và DELIMITER(Dấu phân cách như: dấu cách, dấu phẩy, dấu pipes | , tab ).

Phương pháp sử dụng Biểu thức (Regex):

  • Sử dụng tùy chọn này khi event thuộc kiểu dữ liệu KHÔNG có cấu trúc (unstrucred data) như system log file.
  • FX cố gắng/thử extract field bằng Regular Expression khớp với các sự kiện tương ứng.
Phương pháp sử dụng dấu phân cách (Delimiter):

  • Sử dụng khi event thuộc kiểu dữ liệu CÓ cấu trúc structured data như tệp .csv.
  • Sử dụng khi data không có tiêu đề(header) và các trường phải được phân tách bằng dấu phân cách
2. Regex Field Extractions
Regex Field Extractions from Settings
a).Bước 1: Select Sample
Có hai cách để Select Sample: chọn sample từ Open Field Extractor và chọn sample từ Event.

Cách 1: Chọn Sample từ Open Field Extractor:

Chọn Settings, chọn Fields, chọn Field extractions, chọn Open Field Extractor:
image001.jpg





Chọn Data Type:

Có thể chọn Datatype sourcetype, sau đó chọn sourcetype chứa event cần Extract Field:
image003.jpg




Hoặc có thể chọn source, sau đó điền Source Name, ví dụ ở đây là /opt/log/SIMlog/simgame.log
image004.jpg


Sau khi hiển thị các Sample(xuất hiện trong mục _raw), chọn một Event muốn Extract Field.

Tuy nhiên, cách trên không phải lúc nào cũng có thể sử dụng, ví dụ như đối với một số sourcetype, source không được Splunk hỗ trợ, thì không thể xuất hiện Sample Event như trên, do đó, ta có thể sử dụng cách số hai: chọn sample từ Event.




Cách 2: Chọn Sample từ Event:
Từ một event là kết quả sau khi search, có thể chọn event này làm sample bằng cách chọn mũi tên (> ) bên trái Event:
image005.jpg




Sau đó chọn Event Action, chọn Extract Fields:
image006.jpg




b).Bước 2: Select Method
Sau khi chọn xong Sample Event, tiếp đến là bước Select Method để chọn phương pháp Extraction Field. Trong ví dụ này, chọn Regular Expression, sau đó chọn Next:
image008.jpg





c).Bước 3: Select Field
Tiếp theo chọn các giá trị muốn extract, trong ví dụ này, có 03 giá trị extract thành field.

Dưới đây là một sample event được sử dụng để chọn các giá trị:
image009.jpg





Di chuột chọn toàn bộ giá trị 10.3.10.46 cần extract, sau đó điền src vào Field Name(Là tên của trường mới), sau đó chọn Add Extraction:
image010.jpg





Sau khi Add Extarction thành công, toàn bộ giá trị tương tự như 10.3.10.46 được highlight, đồng thời xuất hiện thêm tab src bên cạnh tab Events:
image011.jpg






Nội dung tab src vừa được sinh ra sau khi Add Extract:
image013.jpg





Làm tương tự với giá trị 2376(đặt Field Name là port), ssh2 ( đặt tên là protocol), được thêm hai tab port và protocol như sau:
image015.jpg





d).Bước 4: Preview
Trước khi thực hiện Validate các giá trị, cần review lại các giá trị, mục đích để kiểm tra lại các giá trị đã được discovery hết , hoặc có một số các giá trị không hợp lệ, không đúng mẫu cần được remove ra khỏi các sự kiện. Ví dụ: Sau khi Preview, xuất hiện giá trị :: trong sự kiện, do đó, ta sẽ remove giá trị :: ra khỏi Event ở bước Validate.
image017.jpg




e).Bước 5: Validate
Từ bước trước đó, ta xác định được giá trị cần remove ra khỏi giá trị là ::, tại bước Validate , nhập :: tại Filter, sau đó Apply giá trị này:
image018.jpg






Sau đó xuất hiện các Event có chứa giá trị :: , sau đó click vào dấu X bên cạnh giá trị :: để remove:
image017.jpg




Sau khi remove, xuất hiện thông báo chi tiết các giá trị đã được remove:
image019.jpg





Sau đó, view lại các giá một lần nữa, nếu đã đúng, chọn Next để tiếp tục:
image020.jpg




f).Bước 6: Save
Sau khi xem lại các thông tin như Extraction Name, Permissions, Source type, Fields, chọn Finish để hoàn thành.
image022.jpg




Để biết thêm chi tiết về Regular Expression(hay còn gọi là Regex, REX,….), tham khảo các bài viết sau:
https://viblo.asia/p/regex-va-nhung-ung-dung-hay-ho-vyDZOXAPlwj

https://thefullsnack.com/posts/regex.html?t=1508797552961

Các Website hỗ trợ kiểm tra chuỗi Regex:

https://regexr.com/

https://rubular.com/


2.2 Using the Extracted Fields
Sau khi Extract Fields, có thể sử dụng các trường(Field) mới extract như các trường được tự động extract.

Ví dụ:

Xét ví dụ sau đây, kết quả search trước khi Extract Field:
image023.jpg




Kết quả trên chưa có các trường mới được Extract Field, sau khi Extract Field, các trường mới được tạo ra như sau: (Chú ý, sau khi Extract Field, có thể mất vài phút để Splunk xử lý toàn bộ các Event để hiển thị):
image025.jpg




Hai trường mới port, src đã xuất hiện trong kết quả tìm kiếm, sau đây là hai giá trị của 2 trường mới:
image026.jpg
image027.jpg





Sau khi xuất hiện, có thể sử dụng các trường mới extract này như các trường thông thường.

Ví dụ: tạo bảng liệt kê các port theo từng địa chỉ IP sử dụng. Kết quả như sau:
image028.jpg

Như vậy, hai trường mới vừa Extract Field là port và src được sử dụng như các trường thông thường.

2.3 Editing Regex for Field Extractions


Trong quá trình Extract Field, hoặc sau khi Extract Field, có thể edit Regular Expression nhằm tối ưu hóa tìm kiếm. Để có thể sử dụng chức năng này, yêu cầu người dùng phải thành thạo Regular Expression. Phạm vi khóa học này không giới thiệu nội dung Regular Expression, nhưng để biết thêm chi tiết về Regular Expression(hay còn gọi là Regex, REX,….), tham khảo các bài viết sau:
https://viblo.asia/p/regex-va-nhung-ung-dung-hay-ho-vyDZOXAPlwj

https://thefullsnack.com/posts/regex.html?t=1508797552961

Các Website hỗ trợ kiểm tra chuỗi Regex:

https://regexr.com/

https://rubular.com/

Để Edit the Regular Expression, làm tương tự các bước Select Sample, Select Method, Select Field ở bên trên. Tại bước Select Field, chọn Show Regular Expression(số 6) , sau dó chọn Edit the Regular Expression(số 7):
image030.jpg




Sau khi Edit chuối Regex mới(số 8), chọn Save để lưu thay đổi(số 9):
image032.jpg




Sau khi Review lại các thông tin như Extraction Name, Regular Expression,… (số 10), sau đó chọn Finish để hoàn thành Edit Regex:
image034.jpg





3. Delimited Field Extractions
3.1 Delimited Field Extractions from Settings


a).Bước 1: Select Sample


Làm tương tự như bước Select Sample trong phần 2. Regex Field Extraction, chọn Sample từ Open Field Extractor hoặc chọn sample từ Event.

Ví dụ tập dữ liệu được sử dụng trong phần này như sau:
image035.jpg




b).Bước 2: Select Method
Sau khi chọn xong Sample Event, tiếp đến là bước Select Method để chọn phương pháp Extraction Field. Trong ví dụ này, chọn Delemiters, sau đó chọn Next:
image037.jpg




c).Bước 3: Rename Field
image038.jpg


Tại bước này, nhìn vào Sample Event trên, nhận thấy các trường cần extract được phân tách với nhau bởi dấu “,” (dấu phẩy) , space(khoảng cách), dấu nháy. Do đó , sẽ view qua các tab Delimiter, để xem các Extract Field nào sát với yêu cầu mong muốn nhất.



Space:
image040.jpg





Comma:
image042.jpg




Tab:
image044.jpg





Pipe:
image046.jpg





Sau khi view qua các Delimiter, nhận thấy sử dụng Delimiter Comma(dấu phẩy) cho kết quả đúng và sát nhất với các Field muốn extract. Do đó, sẽ sử dụng Delimiter Comma để Extract Field:
image048.jpg




Sau khi chọn Delimiter Comma, tiến hành đổi tên các trường:
  • field1 > time
  • field2 > src
  • field3 > version
  • field4 > misc
Để đổi tên field1, chọn icon bên cạnh field1, nhập File Name là time, làm tương tự các trường còn lại:

image050.jpg






Sau khi đổi tên, Preview lại các trường dữ liệu, sau chọn Next:
image052.jpg





d).Bước 4: Save


Điền Extractions Name, sau đó chọn Finish để hoàn thành.

image054.jpg




3.2 Using a Delimited Field Extraction


Sau khi Extract Field bằng Delimiter , các trường mới tạo đã có trong kết quả search(có thể mất vài phút để):
image055.jpg





src:
image057.jpg






time:
image058.jpg




version:
image059.jpg




misc:
image060.jpg




Tuy nhiên, giá trị của trường misc vẫn chưa được bóc tách hết các giá trị, cụ thể các giá trị User , Action, CurrentStanding được gộp chung vào trường misc. Nguyên nhân là do Event không phải là dữ liệu có cấu trúc như sau:
image061.jpg




4. Kết luận
Sau khi xem các phương pháp Extract Field, có kết luận như sau:
  • Sử dụng tùy chọn Regex khi event thuộc kiểu dữ liệu KHÔNG có cấu trúc (unstrucred data) như system log file.
  • Sử dụng tùy chọn Delimiter khi event thuộc kiểu dữ liệu CÓ cấu trúc structured data như tệp .csv.
  • Sử dụng Regex chi tiết hơn Delimiter để Extract Field.
  • Delimiter tốn ít thời gian và các bước Regex.
 

Attachments

  • image010.png
    image010.png
    117.4 KB · Views: 0
  • image019.jpg
    image019.jpg
    43.3 KB · Views: 0

About us

  • Securityzone.vn là một trang web chuyên về an ninh mạng và công nghệ thông tin. Trang web này cung cấp các bài viết, tin tức, video, diễn đàn và các dịch vụ liên quan đến lĩnh vực này. Securityzone.vn là một trong những cộng đồng IT lớn và uy tín tại Việt Nam, thu hút nhiều người quan tâm và tham gia. Securityzone.vn cũng là nơi để các chuyên gia, nhà nghiên cứu, sinh viên và người yêu thích an ninh mạng có thể trao đổi, học hỏi và chia sẻ kiến thức, kinh nghiệm và giải pháp về các vấn đề bảo mật trong thời đại số.

Quick Navigation

User Menu