Splunk - Các trường được tính toán
Nhiều lần, chúng ta sẽ cần thực hiện một số tính toán trên các trường đã có sẵn trong các sự kiện Splunk. Chúng tôi cũng muốn lưu trữ kết quả của các phép tính này dưới dạng một trường mới sẽ được sử dụng sau các tìm kiếm khác nhau. Điều này có thể thực hiện được bằng cách sử dụng khái niệm trường được tính toán trong tìm kiếm Splunk.
Một ví dụ đơn giản nhất là hiển thị ba ký tự đầu tiên của một ngày trong tuần thay vì tên đầy đủ của ngày. Chúng ta cần áp dụng một số hàm Splunk nhất định để đạt được thao tác này với trường và lưu trữ kết quả mới dưới một tên trường mới.
Thí dụ
Tệp nhật ký Web_application có hai trường có tên byte và date_wday. Giá trị trong trường byte là số byte. Chúng tôi muốn hiển thị giá trị này dưới dạng GB. Điều này sẽ yêu cầu trường phải được chia cho 1024 để nhận được giá trị GB. Chúng ta cần áp dụng phép tính này cho trường byte.
Tương tự, date_wday hiển thị tên đầy đủ của ngày trong tuần. Nhưng chúng ta chỉ cần hiển thị ba ký tự đầu tiên.
Các giá trị hiện có trong hai trường này được hiển thị trong hình ảnh bên dưới -
Sử dụng hàm eval
Để tạo trường được tính toán, chúng tôi sử dụng hàm eval. Hàm này lưu trữ kết quả của phép tính trong một trường mới. Chúng tôi sẽ áp dụng hai phép tính dưới đây -
# divide the bytes with 1024 and store it as a field named byte_in_GB
Eval byte_in_GB = (bytes/1024)
# Extract the first 3 characters of the name of the day.
Eval short_day = substr(date_wday,1,3)
Thêm trường mới
Chúng tôi thêm các trường mới được tạo ở trên vào danh sách các trường mà chúng tôi hiển thị như một phần của kết quả tìm kiếm. Để làm điều này, chúng tôi chọnAll fields các tùy chọn và đánh dấu kiểm vào tên của các trường mới này như thể hiện trong hình ảnh bên dưới -
Hiển thị các trường được tính toán
Sau khi chọn các trường ở trên, chúng ta có thể thấy các trường được tính toán trong kết quả tìm kiếm như hình dưới đây. Truy vấn tìm kiếm hiển thị các trường được tính toán như hình dưới đây -