Bot tự động đã chạy hơn một tuần, nhưng đột nhiên có một sáng không bắt kịp thị trường. Tôi mới nhận ra — quy trình tự động hóa trên máy chủ và chạy script tại chỗ hoàn toàn khác nhau, phải thực sự theo dõi thì mới yên tâm.
Cách tôi làm là xây dựng một hệ thống cảnh báo đa tầng. Đầu tiên, mỗi lần cron thực hiện xong đều ghi lại timestamp last_run_at, chính xác đến giây. Nếu lần kiểm tra tiếp theo phát hiện nó vượt quá gấp đôi khoảng thời gian quy định, tôi sẽ ngay lập tức nhận được thông báo cảnh báo. Ví dụ: cấu hình bình thường là mỗi 15 phút thu thập thị trường, thì 30 phút không có cập nhật là phải cảnh giác ngay. Ngưỡng này tôi đã đo lường dựa trên dữ liệu lịch sử, quá nhạy sẽ gây báo động giả, quá lỏng lẻo sẽ bỏ lỡ sự cố thật. Trong thực tế, bộ tiêu chuẩn này giúp tôi bắt được sự cố từ giai đoạn hình thành, không chờ đến khi hoàn toàn sập mới phát hiện.
Tiếp theo là cơ chế bảo vệ API. Mặc dù API của Binance ổn định, nhưng sự gián đoạn mạng hoặc giới hạn lưu lượng vẫn khó tránh. Một hai lần thất bại không đáng sợ, nhưng nếu gọi thất bại liên tục 3 lần, tôi sẽ tự động kích hoạt ngắt mạch, toàn bộ hệ thống dừng hoạt động 24 giờ. Cách này giúp tránh việc thử lại liên tục trong thời gian sự cố, gây thiệt hại lớn hơn cho hạn mức API hoặc rủi ro tài khoản. Ngắt mạch bản thân đã là một biện pháp bảo vệ thụ động, thà rằng sai lầm mà không bỏ sót.
Đi sâu hơn, mỗi lần thực hiện thành công hoặc hoàn thành bài đăng, tôi đều lưu lại một snapshot trạng thái vào ổ đĩa. Ghi lại timestamp, số lượng thao tác, số lượng lỗi, phân bố số từ đã gửi. Như vậy, 30 ngày lịch sử có thể xem lại, rất hữu ích khi phân tích bằng Python pandas, có thể thấy được xu hướng.
Cuối cùng, mỗi tuần tôi dành 30 phút để kiểm tra lại bảng thống kê: tỷ lệ bài đăng hàng tuần, tỷ lệ lỗi, phân bố số từ trung bình có bất thường rõ rệt không. Đôi khi sẽ phát hiện một số sự cố vô hình mà cảnh báo tự động bỏ qua, như tỷ lệ thành công không đổi nhưng độ trễ tăng rõ rệt. Sửa chữa sớm những vấn đề nhỏ để không biến thành sự cố lớn.
Khi theo dõi đúng cách, quy trình tự động hóa mới có thể vận hành ổn định ở nền tảng, giúp cho việc ra quyết định cao cấp hơn ở mặt trước được yên tâm. Đây mới là khởi đầu an tâm.
$BTC #DevOps #tự động hóa
Cách tôi làm là xây dựng một hệ thống cảnh báo đa tầng. Đầu tiên, mỗi lần cron thực hiện xong đều ghi lại timestamp last_run_at, chính xác đến giây. Nếu lần kiểm tra tiếp theo phát hiện nó vượt quá gấp đôi khoảng thời gian quy định, tôi sẽ ngay lập tức nhận được thông báo cảnh báo. Ví dụ: cấu hình bình thường là mỗi 15 phút thu thập thị trường, thì 30 phút không có cập nhật là phải cảnh giác ngay. Ngưỡng này tôi đã đo lường dựa trên dữ liệu lịch sử, quá nhạy sẽ gây báo động giả, quá lỏng lẻo sẽ bỏ lỡ sự cố thật. Trong thực tế, bộ tiêu chuẩn này giúp tôi bắt được sự cố từ giai đoạn hình thành, không chờ đến khi hoàn toàn sập mới phát hiện.
Tiếp theo là cơ chế bảo vệ API. Mặc dù API của Binance ổn định, nhưng sự gián đoạn mạng hoặc giới hạn lưu lượng vẫn khó tránh. Một hai lần thất bại không đáng sợ, nhưng nếu gọi thất bại liên tục 3 lần, tôi sẽ tự động kích hoạt ngắt mạch, toàn bộ hệ thống dừng hoạt động 24 giờ. Cách này giúp tránh việc thử lại liên tục trong thời gian sự cố, gây thiệt hại lớn hơn cho hạn mức API hoặc rủi ro tài khoản. Ngắt mạch bản thân đã là một biện pháp bảo vệ thụ động, thà rằng sai lầm mà không bỏ sót.
Đi sâu hơn, mỗi lần thực hiện thành công hoặc hoàn thành bài đăng, tôi đều lưu lại một snapshot trạng thái vào ổ đĩa. Ghi lại timestamp, số lượng thao tác, số lượng lỗi, phân bố số từ đã gửi. Như vậy, 30 ngày lịch sử có thể xem lại, rất hữu ích khi phân tích bằng Python pandas, có thể thấy được xu hướng.
Cuối cùng, mỗi tuần tôi dành 30 phút để kiểm tra lại bảng thống kê: tỷ lệ bài đăng hàng tuần, tỷ lệ lỗi, phân bố số từ trung bình có bất thường rõ rệt không. Đôi khi sẽ phát hiện một số sự cố vô hình mà cảnh báo tự động bỏ qua, như tỷ lệ thành công không đổi nhưng độ trễ tăng rõ rệt. Sửa chữa sớm những vấn đề nhỏ để không biến thành sự cố lớn.
Khi theo dõi đúng cách, quy trình tự động hóa mới có thể vận hành ổn định ở nền tảng, giúp cho việc ra quyết định cao cấp hơn ở mặt trước được yên tâm. Đây mới là khởi đầu an tâm.
$BTC #DevOps #tự động hóa