paint-brush
Suy nghĩ lại về việc ghi nhật ký: Ghi ít hơn, tìm hiểu thêmtừ tác giả@prefab
839 lượt đọc
839 lượt đọc

Suy nghĩ lại về việc ghi nhật ký: Ghi ít hơn, tìm hiểu thêm

từ tác giả Prefab3m2023/09/16
Read on Terminal Reader

dài quá đọc không nổi

Khi các ứng dụng mở rộng quy mô, chi phí nhập và lưu trữ nhật ký của chúng tôi cũng tăng theo. Với Prefab, bạn có thể điều chỉnh cấp độ nhật ký một cách nhanh chóng. Prefab không tính phí dựa trên khối lượng nhật ký mà chỉ dựa trên việc cung cấp cấu hình động cho máy chủ của bạn. Cách tiếp cận này có thể giúp tiết kiệm đáng kể, đặc biệt đối với các ứng dụng quy mô lớn.
featured image - Suy nghĩ lại về việc ghi nhật ký: Ghi ít hơn, tìm hiểu thêm
Prefab HackerNoon profile picture

Vấn đề nan giải về việc ghi nhật ký

Nhật ký có thể là cứu cánh của chúng ta khi mọi thứ trở nên tồi tệ. Để giải quyết vấn đề, chúng ta phải tái tạo lại vấn đề đó và việc ghi nhật ký gỡ lỗi có thể là vô giá. Nhưng có một nhược điểm - chi phí. Khi các ứng dụng mở rộng quy mô, chi phí nhập và lưu trữ nhật ký của chúng tôi cũng tăng theo và điều này buộc chúng tôi phải cân bằng giữa việc ghi nhật ký quá ít để có ích hoặc trả tiền cho các nhật ký mà chúng tôi không sử dụng.


Thom Shutt đã từng đưa ra lập luận về việc chỉ ghi lại các lỗi , đề xuất loại bỏ các mức độ cảnh báo, thông tin và gỡ lỗi. Lý do của anh ấy? Khó khăn trong việc thay đổi cấp độ nhật ký trong sản xuất:


Loại bỏ các cấp độ - Lần cuối cùng bạn chạy Sản xuất ở bất kỳ mục nào khác ngoài Thông tin là khi nào? Việc thay đổi cấp độ có phải là một quá trình nhanh chóng mà mọi người trong nhóm đều biết cách thực hiện không?


Và thực tế, hầu hết chúng ta không thường xuyên thay đổi cấp độ nhật ký vì nó yêu cầu cam kết, xây dựng và triển khai. Nếu việc thay đổi cấp độ nhật ký là một quá trình tẻ nhạt thì những dòng bổ sung này thực sự chỉ trở thành tiếng ồn.

Sức mạnh của cấu hình động

Nhập cấu hình động. Mặc dù nhiều người có thể không quen thuộc với nó nhưng những người đã yêu thích nó sẽ không thể tưởng tượng được cuộc sống nếu không có nó. Không giống như cấu hình tĩnh, trong đó các ứng dụng đọc tệp thuộc tính hoặc biến môi trường, cấu hình động, như tên cho thấy, là động.


Nó cung cấp khả năng thiết lập các giá trị mới thông qua giao diện người dùng, đảm bảo mỗi đánh giá đều truy xuất phiên bản mới nhất.


Công nghệ này là xương sống của ghi nhật ký động. Bằng cách lưu trữ ánh xạ Logger -> LogLevel trong hệ thống cấu hình của chúng tôi và cập nhật nhật ký về các thay đổi, chúng tôi có thể chuyển từ cảnh báo sang gỡ lỗi trong một phần nghìn giây chứ không phải hàng giờ.

Giới thiệu Prefab: Tương lai của việc ghi nhật ký

Prefab đang cách mạng hóa cách chúng ta tiếp cận việc ghi nhật ký. Với Prefab, bạn có thể:

  • Thay đổi cấp độ nhật ký theo thời gian thực : Điều chỉnh cấp độ nhật ký một cách nhanh chóng. Không cần đợi máy chủ khởi động lại. Thay đổi và bạn đã hoàn tất.


  • Ghi nhật ký được nhắm mục tiêu : Ghi nhật ký được nhắm mục tiêu của Prefab cho phép bạn xem nhật ký gỡ lỗi cho chỉ một người dùng, giao dịch hoặc vùng khả dụng, nâng cao độ chính xác và giảm tiếng ồn. Prefab cho phép bạn tập trung vào mã, công việc có liên quan hoặc thậm chí là một người dùng cụ thể.


  • Tích hợp với các hệ thống hiện có : Prefab không phải là một công cụ ghi nhật ký khác. Nó tích hợp hoàn hảo với nhà cung cấp dịch vụ ghi nhật ký hiện tại của bạn, có thể là DataDog, Sumo Logic hoặc ngăn xếp ELK.

Tiết kiệm tiền khi đăng nhập

Chi phí khai thác gỗ trở nên nghiêm trọng ở quy mô lớn và tất cả đều gắn liền với khối lượng. Các nhà tổng hợp đang đưa ra những cách mới để cố gắng giảm chi tiêu này, như Log Without Limits của Datadog, và Cribl về cơ bản là cả một công ty dành riêng cho vấn đề này.


Nhưng tất cả các giải pháp này đều tính phí cho bạn dựa trên mức sử dụng. Vào cuối ngày, bạn vẫn phải trả tiền cho nhật ký bạn gửi.


Vì nhật ký của bạn không chuyển qua Prefab nên nó không tính phí dựa trên số lượng nhật ký mà chỉ đơn giản dựa trên việc cung cấp cấu hình động cho máy chủ của bạn. Prefab chỉ cần kiểm soát các giá trị của bộ lọc, đảm bảo bạn chỉ ghi lại những gì cần thiết. Cách tiếp cận này có thể giúp tiết kiệm đáng kể, đặc biệt đối với các ứng dụng quy mô lớn.

Xác định lại văn hóa ghi nhật ký

Việc áp dụng ghi nhật ký động không chỉ là sử dụng một công cụ mới; đó là một sự thay đổi văn hóa. Ban đầu, nó có vẻ khó khăn. Nhưng khi các nhóm dần quen với sức mạnh của việc ghi nhật ký có mục tiêu, nó sẽ thúc đẩy tư duy vận hành mạnh mẽ hơn. Giờ đây, các nhà phát triển có thể nghĩ: "Nếu điều này đi ngang, tôi muốn có thông tin gì?" và chuẩn bị cho phù hợp.


Ví dụ: hãy xem xét đoạn mã này:

 def charge(user, amount) balance = get_balance(user) min_balance = get_min_balance(user) do_charge = balance > min_balance logger.debug("charge decision", charge: do_charge, amount: amount, balance: balance, user_id: user.id, min_balance: min_balance) if do_charge charge_user(user, amount) else end

Trước đây, nhiều người có thể coi dòng logger.debug chỉ là sự ồn ào trong quá trình phát triển. Nhưng với tính năng ghi nhật ký động, những dòng như vậy trở thành công cụ vô giá, sẵn sàng kích hoạt khi cần.

Phần kết luận

Bối cảnh khai thác gỗ đang trải qua một sự thay đổi địa chấn. Với các công cụ như Prefab , các nhà phát triển không còn phải lựa chọn giữa nhật ký chi tiết và hiệu quả chi phí. Ghi nhật ký động cung cấp những điều tốt nhất của cả hai thế giới, cung cấp thông tin chi tiết khi cần mà không phải trả mức giá đắt đỏ liên quan.


Chúc bạn gỡ lỗi thành công! 🚀