Unix time là hệ thống mô tả một điểm trong thời gian. Thời gian Unix được định nghĩa bằng số giây kể từ 00:00:00 theo giờ UTC ngày 1 tháng 1 năm 1970, trừ đi giây nhuận. Mỗi ngày quy định chứa chính xác 86400 giây, vì vậy số giây nhuận sẽ không được tính. Nó được sử dụng rộng rãi trong các hệ điều hành Unix-like cũng như nhiều định dạng tệp, hệ điều hành khác. Tuy nhiên, thời gian Unix không phải là một biểu diễn chính xác của UTC, chẳng hạn giây nhuận trong UTC có giá trị bằng với giây liền trước đó theo biểu diễn của thời gian Unix. Thời gian Unix có thể được kiểm tra trên hầu hết các hệ thống Unix bằng cách gõ lệnh date +%s.
Để chuyển đổi Unix time từ định dạng string sang yyyy/mm/dd hh:mm:ss trong splunk ta sử dụng hàm strftime(x,y)
Mô tả:
Hàm này nhận giá trị thời gian UNIX, X, làm đối số đầu tiên và hiển thị thời gian dưới dạng chuỗi sử dụng định dạng được chỉ định bởi Y. Thời gian UNIX phải tính bằng giây. Nếu thời gian tính bằng mili giây, micro giây hoặc nano giây, bạn phải chuyển đổi thời gian thành giây. Bạn có thể sử dụng hàm pow để chuyển đổi số.
Tìm kiếm sau sử dụng kết hợp hàm pow để chuyển đổi từ nano giây sang giây:
Ví dụ
Filed eventtime đang định dạng là unix time, cần chuyển sang định dạng date
Nhận thấy eventtime định dạng là nano giây vì thế ta kết hợp hàm pow
Kết quả đã chuyển đổi eventtime từ định dạng chuỗi unix time sang eventtime2 định dạng date
Để chuyển đổi Unix time từ định dạng string sang yyyy/mm/dd hh:mm:ss trong splunk ta sử dụng hàm strftime(x,y)
Mô tả:
Hàm này nhận giá trị thời gian UNIX, X, làm đối số đầu tiên và hiển thị thời gian dưới dạng chuỗi sử dụng định dạng được chỉ định bởi Y. Thời gian UNIX phải tính bằng giây. Nếu thời gian tính bằng mili giây, micro giây hoặc nano giây, bạn phải chuyển đổi thời gian thành giây. Bạn có thể sử dụng hàm pow để chuyển đổi số.
- Để chuyển đổi từ mili giây sang giây, hãy chia số cho 1000 hoặc 10 ^ 3.
- Để chuyển đổi từ micro giây sang giây, hãy chia số cho 10 ^ 6.
- Để chuyển đổi từ nano giây sang giây, hãy chia số cho 10 ^ 9.
Tìm kiếm sau sử dụng kết hợp hàm pow để chuyển đổi từ nano giây sang giây:
| makeresults | eval eventtime="1617250955385339910" | eval eventtime2=strftime(eventtime/pow(10,9),"%Y-%m-%d %H:%M:%S") |
Ví dụ
Filed eventtime đang định dạng là unix time, cần chuyển sang định dạng date
Nhận thấy eventtime định dạng là nano giây vì thế ta kết hợp hàm pow
Kết quả đã chuyển đổi eventtime từ định dạng chuỗi unix time sang eventtime2 định dạng date